블로그 이미지
SITD

카테고리

분류 전체보기 (34)
1.DB (4)
2.OS (3)
3.PROGRAMMING (14)
4.학업 (0)
5.영어 (0)
6.KSIT (5)
7.증권 (1)
8.EXCEL (0)
9.Graduate (2)
기타 (5)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

태그목록

최근에 올라온 글

이 장에는 파워빌더에서 데이터 페인터를 사용하고 테이블을 생성하고 관리하는 내용들에 관해 다룰 것입니다. 테이블 설계방법이나 데이터 모델링은 메뉴에서 '데이터모델링' 부분을 참고하십시오

# 데이터베이스 연결의 이해
   파워빌더는 데이터베이스연결을 위한 두가지 방식을 지원한다. 

* ODBC Driver
* Native Database Driver(Non-ODBC)

ODBC란? - 마이크로소프트사에 의해 개발된 표준 API(Application Programming Interface)로써, 어프리케이션이                   ODBC-Complient Driver가 존재 할 경우 Data Source를 접근 할 수 있게 해준다. 

ODBC Driver - ODBC를 사용해서 데이터베이스를 연결하려면 2가지 요소가 필요하다.
* Data Source에 대한 ODBC Driver
* 파워빌더의 ODBC와 인터페이스를 담당하는 pbodb60.dll

Native Database Driver(Non-ODBC)연결을 위한 요소
* Database에 대한 네트워크상의 SQL처리를 위한 모듈
* 파워빌더 Database Interface

# 데이터베이스 페인터
1. 새로운 어플리케이션을 생성했다면 이제 데이터베이스 아이콘을 클릭해본다.
   기본적으로 앞에 열었던 데이터베이스가 열릴 것이다. 각 항목을 클릭한 후 Open하면 테이블들을 그래픽 적으로      보여준다. 그리고 New를 선택하면 새로운 테이블을 추가할 수 있도록 해준다. 그럼 여기서 새로운 어플리케이션      에 사용할 새 페디터베이스를 작성해 보겠습니다. 여기서는 ODBC를 사용해서 데이터베이스 연결을 하겠습니다.      그리고 데이터베이스는 파워빌더에서 제공하는 SQL AnyWhere을 이용합니다.
   Cancel버튼을 눌러 닫고 File>Create Database 를 선택한다.

   데이터베이스 이름을 정해주고 OK를 클릭한다. 기본 지정되는 아이디와 암호는 DBA, sql 이다. 
   이번에는 테이블이 하나도 없는 깨끗한 상태일 것이다. 여기서 New를 선택하여 새로운 테이들을 추가하면 된다.

# 데이터 베이스 관리
- 데이터베이스는 데이터를 저장하기 위한 전자 저장 장소이다. 데이터베이스는 데이터가 일관성을 유지할 수 있도     록 설계되었으며, 사용자는 데이터베이스에 접근, 수정, 공유할 수 있다.

& 키
관계형 데이터베이스는 무결성을 보증하기 위해 키를 사용한다.

& 기본키
테이블에서 각 행을 유일하게 구분하는 하나 이상의 컬럼들이다. 예를 들어 두 사람의 이름은 같을 수 있지만 ID 번호는 유일한 것이다. 이 ID가 기본키(주요키)가 된다.

& 외래키 
다른 테이블의 기본키를 포함하는 하나 이상의 컬럼들이다.

& 인덱스
인덱스로 정의된 데이터를 검색할 때 데이터베이스 성능을 향상 시키기 위한 하나 이상의 컬럼들이다. 자주 사용하게되는 컬럼을 인덱스로 명세한다. 

& 뷰 
같은 테이블들과 컬럼들로부터 자주 데이터를 선택한다면, 뷰를 생성할 수 있다. 뷰에 이름을 붙여서, 이 뷰는 참조할 때 마다 관련된 SELECT문을 실행한다. 뷰는 물리적으로 존재하는 것이 아니라 뷰의 정의만 데이터베이스에 저장되고 사용될 때마다 다시 생성된다. 

# 테이블 속성 수정
Database 페인터에서 Table Property 버튼클릭 또는 해당 테이블에서 오른쪽클릭 후 선택.
그러면 테이블 속성창이 뜨는데 필요한 부분을 조정한다.

설정

General

테이블에 대한 주석

Data Font

Data Manipulation 페인에서 데이터에 사용할 폰트

Heading Font

Data Manipulation 페인에서 헤더에 사용할 폰트

Label Font

Data Manipulation 페인에서 라벨에 사용할 폰트

Primary Key

테이블의 주요키 설정



# 테이블닫기와 드롭
테이블을 닫으면 Database페인터(하얀 작업공간)에서 테이블을 제거하는 것이고 테이블 드롭은 데이터베이스에서 테이블을 완전히 삭제 하는 것이다. 

& 고립된 테이블 정보 삭제
   - 파워빌더 밖에서 테이블을 드롭하면 확장속성을 포함한 테이블에 대한 정보가 리포지토리에 남아있게된다. 이때      는 Design>Synchronize PB Attributes를 선택해 정보를 삭제해 준다.

# 뷰(View)
뷰를 사용하는 이유
* 자주 사용되는 SELECT문장에 이름을 붙이기 위해
* 테이블 내의 데이터 접근을 제한하기 위해
* 여러 테이블에서 얻는 정보에 쉽게 접근하기 위해 
뷰는 물리적으로 데이터베이스에 저장되지 않고 참조될때마다 연관된 Select문장이 실행된다.
또한 뷰는 수정할 수 없고, 삭제 후 다시 만들야 한다는 특징이 있다.

& 뷰만들기 
Object>New>View하고, [그림3.1]의 Select Table 창이 뜨면 필요한 테이블들을 선택한다.
그리고는 원하는 컬럼들을 클릭한 후 Return 버튼을 클릭하면 뷰이름을 입력하라고 한다.
이름을 정해주고 Create버튼을 누르면 뷰가 생성된다.

# 조인(Join)
* 뷰가 한 테이블 이상을 포함하면, 공통인 컬럼으로 테이블을 조인해야한다.
* View페인터가 열릴 때 한 테이블 이상을 포함하면, 파워빌더는 자동으로 조인해 준다.
  파워빌더에서 자동 조인의 기준은 다음이다.
  - 기본키/외래키 관계가 있는 컬럼
  - 키가 없으면 컬럼이름이나 데이터 타입으로 추정해서 조인한다.
* 테이블을 조인하려면, Join 버튼 또는 Design>Show>Join하고 그림에서 원하는 컬럼을 클릭한다.
           
&. 동등조인 이외의 조인을 선택하려면, 테이블사이에 있는 조인상자를 클릭하고 원하는 조인을 선택한다. 
 
# 데이터 조작(Data Manipulation)
& 사용목적
* 테스트를 목적으로 데이터를 보거나, 데이터를 입력
* 디스플래이 포맷, 검증규칙, 편집스타일의 테스트 

& Data Mainpulation 페인터 열기 
*  세 버튼중 하나를 선택 또는 Object>Edit Data

& 데이터 검색 
* Retrieve 버튼을 클릭하면 데이터베이스로 부터 데이터를 읽어서 갱신한다.

& 기존데이터수정
* 해당 컬럼에 새로운 값을 입력하면 됨 

& 데이터 소트와 필터링(sorting and filtering)
* Data Manipulation 페인터에서 정의된 소트 기준과 필터는 테스트를 위한 것이며 테이블에 저장되거나, Data           Window페인터에서는 적용되지 않는다. 

& 행소트 : Row>Sort 선택
* 소트할 컬럼을 왼쪽 창에서 드래그해서 오른쪽 창으로 옮긴다.
* 컬럼상자의 순서가 소트 순서이다.
* 취소하려면 컬럼상자의 컬럼을 드래그해서 상자 밖으로 옮긴다.
* Ascending 체크박스를 이용해 오름차순과 내림차순을 지정한다.

& 행 필터링: Row>Filter 선택
* Boolean조건이 true가 되는 행만 디스플래이
* 필터를 제거하려면 필터를 정의한 표현식을 없앤다.
* 데이터베이스를 갱신할 때, 필터된 행도 갱신된다.

& 외부 소스에서 데이타 가져오기(Importing data)
* Data Manipulation 페인터에서 Rows>Import하고 파일을 선택한다. Import된 데이터는 Update Database 버튼으   로 데이터베이스에 저장 할 수 있다.
* 파일의 내용은 SQL 문으로 보통 데이터를 insert 하기 위해 사용된다. 테이블 데이터가 잘못되었을 때 데이터 량이   많다면 일일이 다시 쳐 넣어야 하므로 미리 파일로 저장해놓고 있으면 간단히 import 시킬 수 있다.



Posted by SITD
, |
# 개요 
윈도우는 가장 기본적인 인터페이스 요소이다. 이 장에서는 윈도우의 종류와 속성, 상속, 이벤트 등에 대해 알아보도록 합니다.

# 윈도우 열기
 윈도우 페인트 버튼을 클릭한다.
 
기존의 작업하던 창을 열려면 목록에서 선택하고 OK 버튼을 누르면 되고 새로운 창을 만들기 위해서는 New 버튼을 누른다. New 버튼을 클릭하면 아무것도 없는 밋밋한 윈도우 하나가 만들어 지는데 여기에다 사용자가 원하는 모든 인터페이스를 설계하는 것이다.

# 상속(Inherit)
* Inherit 버튼을 클릭하면 상속받은 윈도우를 만들수 있다. 상속의 의미는 기존의 윈도우에 정의된 스타일이나 이벤      트, 함수, 스크립트, 컨트롤 등을 동일하게 가지는 윈도우를 만든다는 의미다. 예를 들어 사용하는 모든 윈도우에      공통으로 사용되는 스크립트가 있다던지 윈도의 색깔이나 폰트 크기를 일치시키는 경우, 또는 종료 버튼 같이 공통    적으로 사용되는 컨트롤이 있는 경우 일일히 똑같은 작업을 반복하는 것보다 미리 만들어진 윈도우에서 상속받아      사용하는 것이 훨씬 편할 것이다. 그러므로 상속은 일종의 복사라고도 볼수 있으며 문서편집기에서 사용하는 스타    일 기능과 유사하다고 볼수 있다. 
* 상속을 받았을때 원래의 윈도우를 조상윈도우, 상속받은 윈도우를 자식윈도우라 한다.
   여기서 주의 할 점은 조상윈도우를 변경하면 자식윈도우에서는 자동적으로 변경사항이 적용된다. 그리고 조상윈도    우가 삭제되면 자식윈도우는 사용할 수가 없으니 주의.
* 자식윈도우는 조상윈도우에 있던 컨트롤은 삭제 할 수가 없다. 다만 필요없는 컨트롤이라면 visible 속성을 이용해    보이지 않게 할 수 밖에 없다. 그리고 자식윈도우에서 다시 상속받는 다중상속도 가능하다. 

# 윈도우의 종류
1) 메인(Main) 윈도우 
    독립형 윈도우로 다른 윈도 위나 밑에 겹쳐질 수 있다. MDI 어플리케에션에서는 MDI 프레임이 메인 윈도우이다.
2) 자식(Child) 윈도우 
    팝업 윈도우나 메인윈도우를 부모로 해서 열리는 윈도우다. 부모윈도우에 완전히 종속되며 자신의 메뉴를 가질 수     없고 부모 윈도우의 영역을 벗어 날 수 없다.
3) 팝업(Pop-Up) 윈도우 
   팝업윈도우도 부모 윈도우와 연관은 되지만 팝업윈도우는 부모윈도우의 영역을 벗어날 수 있으며 팝업윈도우가 떠    있는 상태에서도 부모윈도우를 엑세스 할 수있다.
4) 응답(Respose) 윈도우
   계속 진행하기 위해서는 어떤 메시지에 반응을 해야만 하는 윈도우이다. 변경된 정보를 저장하기 않고 종료하려 할    때 이 응답윈도우를 사용함이 적합하다. 
5) MDI 프레임 
자식 윈도우를 포함 할 수 있는 부모 윈도우를 만드는 타입이다. MDI 프레임은 왼쪽 하단에 마이크로 헬프가 포함된 것과 그렇지 않은 두가지 타입이 있다. 

# 윈도우의 속성
새로 만들어진 윈도우 컨트롤에서 더블클릭을 하던지 오른쪽 클릭후 Property를 선택하면 속성창이 뜬다.
 
* General 탭 
Title : 윈도우의 이름을 쓴다.
Menu Name : 윈도우에 어떤 메뉴를 연결 할 것인지를 결정한다.
Visible : 윈도우를 화면에 보일 것인지의 여부 결정
Enabled : 윈도우의 활성화 여부 결정 
Border : 윈도우의 바깥 부분을 경계로 둘러쌀 것인지의 여부 결정
Title Bar : 윈도우의 제일 위에 있는 막대로 윈도우의 타이틀이 그 안에 존재한다.
Control Menu : 어플리케이션 아이콘을 포함하는 윈도우 좌측상단의 아이콘을 나타낼지의 여부 
Maxmize Box : 최대화 버튼을 사용할 것인가
Minimize Box : 최소화 버튼을 사용할 것인가
Resizable : 윈도우의 크기를 조정할 수 있을지의 결정
Window Type : 위에 설명한 윈도우의 종류중에서 선택 

* Position 탭 
포지션 탭에서는 윈도우의 위치나 크기를 좌표 값으로 정할 수 있고 초기 상태를 정할 수 있다. 

* Point 탭 
윈도우에서 마우스가 움직일때 포인터의 모양을 선택한다.

* Icon 탭 
윈도우의 좌상단에 나타날 아이콘을 선택한다.

* Scroll 탭
윈도우가 모니터 화면보다 큰 경우 윈도우의 스크롤 여부를 선택한다.

* ToolBar 탭 
윈도우의 툴바특성들을 지정한다. 

& 옵션 변경 
Design>Options 메뉴를 선택하면 윈도우의 Grid에 대한 옵션과 각 컨트롤 들에 대해 사용 될 접두어등을 정할 수 있다. 

& 윈도 저장 
File>Save 를 선택 이름은 아무거나 상관없지만 w_ 로 시작하여 의미를 두는 습관을 들이는 것이 편리하다. 

& 윈도 미리보기 
Preview 버튼이나 Design>Preview 를 선택한다. 미리보기 상태에서는 데이터베이스의 연결이나 이벤트 기동, 속성변경등은 안된다. 


Posted by SITD
, |
& 윈도우가 준비되었다면 이젠 사용자의 대화에 필요한 컨트롤들을 배치할 차례이다.
   컨트롤이란 우리가 윈도우 환경에서 익숙한 버튼이나 리스트박스, 라디오버튼, 체크박스 등을 말한다. 물론 파워빌    더는 4GL 언어이므로 이런 컨트롤들을 끌어다 윈도우에 배치시키는 것으로 개발자의 수고를 들어준다. 즉 우리는    만들어진 컨트롤들을 적절히 사용만 하면 되는 것이다. 여기에 스크립트를 추가해 생명력을 불어 넣어야 하지만 그    건 다음장에서 다루기로 하고 여기선 컨트롤에 대해 알아본다.

이벤트를 가지는 컨트롤

 

Button

사용자가 클릭하면 어떠한 동작을 하는 컨트롤

 

Picture Button

일반 버튼과 유사하나 버튼내에 지정된 그림을 나타나게 할 수 있다.

 

Single Line Edit

사용자가 직접 입력할 수 있도록 해주는 컨트롤

 

Multi Line Edit

여러 라인의 줄을 입력할 수 있도록 해주는 컨트롤

 

Edit Mask

사용자의 입력을 지정된 형태로 포맷하도록 마스크할 수 있는 컨트롤

 

RichText Edit

Windows에서 지원하는 모든 폰트, 크기, 색상등을
사용할 수 있는 컨트롤. 워드프로세서와 유사하다.

 

Group Box

사용자 인터페이스를 깔끔하게 하는데 사용된다.

 

Tab

많은 정보를 나타내는 화면에서 자주 사용된다.

 

Radio Button

일반적으로 옵션을 선택하기위해 자주 사용

 

Check Box

Yes/No, True/False의 관계를 확인하기 위해 사용됨

 

List Box

다수의 텍스트라인을 보여줄 수 있는 컨트롤로써 항목이 많으면 스크롤 바가 생성된다.

 

Picture List
Box

리스트박스와 동일하나 리스트의 항목옆에 그림을 포함하는 기능을 가진다.

 

Tree View

데이터를 계층적인 트리의 형식으로 보여줌

 

Drop Down
List Box

리스트박스와 같은 형식에 에디터 할 수 있는 기능이 있다.

 

Drop Down
Picture List Box

드롭다운리스트박스와 동일하고 그림을 포함할 수 있다.

 

List View

다양한 형태로 열거된 항목을 나타낼 수 있다. 윈도우즈의 탐색기 우측창과 같은 형식이라고 보면 된다.

 

HScrollBar

수평 스크롤 기능

 

VScrollBar

수직 스크롤 기능

 

Picture

비트맵 이나 RLE 파일을 보여주는데 쓰인다.

 

DataWidnow

데이터윈도우 오브젝트를 보여주기 위한 컨트롤

 

Ole

Excel, Visio Ole를 지원하는 프로그램에서 객체를 놓을 수 있다.

 

User Object

사용자가 임의로 컨트롤을 만들 수 있게 지원

 

Graph

데이터를 그래프의 형태로 보여줄수 있다.

이벤트가 없는 컨트롤


그리기 컨트롤

기능은 없고 화면구성을 정리하는데 도움을 준다.



* 탭순서 정의
Design>Tab Order : 
탭순서는 사용자가 탭키를 누를때 포커스가 이동하는 순서를 말한다. 그러므로 개발자는 탭순서를 올바르게 설정해야한다. 

* 가속키 정의
버튼등에 가속키를 정의하는 방법은 가속키로 사용할 문자앞에 & 를 붙히는 것이다. 그러면 Alt 키와 작용했을 때 해당 컨트롤에 포커스를 줄수 있다.
가속키로 지정되면 문자밑에 밑줄이 생긴다. (N)



















'3.PROGRAMMING > Power Builder' 카테고리의 다른 글

[PB]매뉴얼 (03) 데이터 베이스 만지기  (0) 2011.07.19
[PB]매뉴얼 (04) 윈도우  (0) 2011.07.19
[PB]매뉴얼 (06) 파워스크립트  (0) 2011.07.19
[PB]매뉴얼 (07) 함수  (0) 2011.07.19
[PB]매뉴얼 (08) 메뉴  (0) 2011.07.19
Posted by SITD
, |

최근에 달린 댓글

글 보관함