[PB]매뉴얼 (03) 데이터 베이스 만지기
3.PROGRAMMING/Power Builder / 2011. 7. 19. 13:52
이 장에는 파워빌더에서 데이터 페인터를 사용하고 테이블을 생성하고 관리하는 내용들에 관해 다룰 것입니다. 테이블 설계방법이나 데이터 모델링은 메뉴에서 '데이터모델링' 부분을 참고하십시오
# 데이터베이스 연결의 이해
파워빌더는 데이터베이스연결을 위한 두가지 방식을 지원한다.
* 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 시킬 수 있다.
'3.PROGRAMMING > Power Builder' 카테고리의 다른 글
[PB]매뉴얼 (01) 파워빌더의 환경 (0) | 2011.07.19 |
---|---|
[PB]매뉴얼 (02) Application 객체 (0) | 2011.07.19 |
[PB]매뉴얼 (04) 윈도우 (0) | 2011.07.19 |
[PB]매뉴얼 (05) 컨트롤 (0) | 2011.07.19 |
[PB]매뉴얼 (06) 파워스크립트 (0) | 2011.07.19 |