RDBII의 구성 및 작성 방법
본 장에서는 RDBII에서 사용하는 객체 및 작성 방법에 대해 기술한다. RDBII를 사용하기 위해서는 해당 객체를 생성해야 한다.
1. 메타 데이터베이스
메타 데이터베이스는 다른 데이터베이스의 정보를 관리하기 위한 데이터베이스이다. 따라서 다른 RDBII 구성 요소보다 가장 먼저 생성되어야 한다.
메타 데이터베이스가 생성될 때 JCL이나 CLIST 등에서 접근하기 위한 데이터셋을 생성한다. 이 데이터셋을 사용자 카탈로그에 등록하는 경우 High Level Qualifier를 지정하거나 ALIAS를 이용해서 등록한다. 그렇지 않으면 RDBII를 사용하는 다른 JCL에서 STEPCAT이나 JOBCAT 문장을 이용해서 카탈로그 이름을 지정해야 한다.
다음은 JYQDDUTY 유틸리티를 이용해서 메타 데이터베이스를 생성/삭제하는 예제이다.
CREATE DBSPACE RDBII100 FOR MD ENVIRONMENT SIS AMSIS DID 00 RECOVERY(DOWN,CANCEL,FORWARD) ALLOCATE DATASET TMAX.RDBII.MDB VOLUME DEFVOL UNIT DA ATTRIBUTE SPACE(300,100,TRACK) NOPROTECT
DROP DBSPACE RDBII100 FOR MD
OpenFrame에서는 실제 메타 데이터베이스를 생성하지 않으며, 이를 메타 정보로 관리한다. |
2. 퍼블릭 데이터베이스
메타 데이터베이스의 작성이 완료되면 퍼블릭 데이터베이스를 생성해야 한다. 퍼블릭 데이터베이스는 테이블이나 뷰, 인덱스 등을 관리하는 데이터베이스이다.
다음은 JYQDDUTY 유틸리티를 이용해서 퍼블릭 데이터베이스를 생성/삭제하는 예제이다.
CREATE DBSPACE TMAX_PUBLIC FOR PUBLIC ALLOCATE DATASET TMAX.RDBII.PUBLIC VOLUME DEFVOL UNIT DA ATTRIBUTE SPACE(1500,255,TRACK) PAGESIZE 4
DROP DBSPACE TMAX_PUBLIC FOR PUBLIC
OpenFrame에서는 실제 퍼블릭 데이터베이스를 생성하지 않으며, 이를 메타 정보로 관리한다. |
3. 스키마
스키마는 테이블, 뷰, 그리고 인덱스 정보를 관리하는 주체가 된다.
다음은 JYQDDUTY 유틸리티를 이용해서 스키마를 생성/삭제하는 예제이다.
CREATE SCHEMA TMAXSCH
DROP SCHEMA TMAXSCH
OpenFrame에서는 DBMS에 스키마를 생성하지 않으며, 메타 정보로 관리한다. |
4. 테이블
테이블은 관계형 데이터베이스의 가장 기본적인 구성 요소이며, 컬럼과 로우로 구성된다. 컬럼은 테이블에 저장하는 데이터의 특징을 설정한 것이며, 로우는 테이블을 구성하는 각각의 레코드의 데이터이다.
다음은 JYQDDUTY 유틸리티를 이용해서 테이블을 생성/삭제하는 예제이다.
CREATE TABLE TMAXSCH.SAMPLE (EMPNO NUMERIC(06) NOT NULL, EMPNAME CHAR(32) NOT NULL, DEPTNO CHAR(5) NOT NULL) UNIQUE(EMPNO) ON TMAX_PUBLIC
DROP TABLE TMAXSCH.SAMPLE
5. 뷰
뷰는 데이터 조작을 위해 부여한 가상의 테이블이다. 뷰는 실제 데이터를 포함하지 않으며 다른 테이블을 통해서 정의된다. 뷰를 생성하면 테이블과 마찬가지로 색인 파일로 정의해서 이를 애플리케이션에서 사용할 수 있다.
다음은 JYQDDUTY 유틸리티를 이용해서 뷰을 생성/삭제하는 예제이다.
CREATE VIEW TMAXSCH.SAMPLE_V (EMPNO, EMPNAME, DEPTNO) AS SELECT EMPNO, EMPNAME, DEPTNO FROM TMAXSCH.SAMPLE
DROP VIEW TMAXSCH.SAMPLE_V
6. 인덱스
인덱스는 테이블에서 데이터를 효율적으로 검색하기 위해서 사용한다.
다음은 JYQDDUTY 유틸리티를 이용해서 인덱스를 생성/삭제하는 예제이다.
CREATE INDEX TMAXSCH.SAMPLE.IX1 KEY(EMPNO) FREERATE 10 ON TMAXSCH.SAMPLE
DROP INDEX TMAXSCH.SAMPLE.IX1
7. 색인 파일
테이블이나 뷰가 생성되면, 이를 애플리케이션에서 사용할 수 있도록 색인 파일로 생성해야 한다.
테이블에 대한 색인 파일을 생성하는 경우에는 CREATE FILE FOR PHYSICAL 문장을 이용해서 생성하고, 뷰에 대한 색인 파일은 CREATE FILE FOR LOGICAL 문장을 이용해서 생성한다. 이렇게 생성한 데이터셋은 JCL의 FD 문장이나 CLIST 등에서 색인 파일로 사용할 수 있다.
OpenFrame에서는 색인 파일을 생성할 때 실제로는 Non-VSAM 데이터셋 형태로 생성한다. 데이터셋에 대한 할당 과정에서 데이터셋이 존재하는 VOLSER이 OpenFrame 환경설정의 ds 서브젝트, RDBII_DATASET 섹션에 RDBII_VOLSER 키에서 지정한 VOLSER과 동일하면 이를 RDBII 데이터셋으로 처리한다.
다음은 JYQDDUTY 유틸리티를 이용해서 색인 파일를 생성/삭제하는 예제이다.
CREATE FILE TMAX.RDBII.SAMPLE FOR PHYSICAL ON TMAXSCH.SAMPLE RECORD(FREE) ACCESS PATH (INTERNAL PATH1 FOR KEY WITH TMAXSCH.SAMPLE.IX1)
DROP FILE TMAX.RDBII.SAMPLE FOR PHYSICAL
OpenFrame 환경설정 중 ds 서브젝트, RDBII_DATASET 섹션에 RDBII_VOLSER 키에서 지정된 VOLSER은 RDBII 데이터셋을 관리하기 위한 특수한 목적으로 이용되므로, RDBII가 아닌 다른 데이터셋이 있으면 안된다. |