RDBIIの構成と作成方法

本章では、RDBIIで使用するオブジェクトおよびオブジェクトを作成する方法について説明します。

1. メタデータベース

メタデータベースは、他のデータベースの情報を管理するためのデータベースです。したがって、他のRDBIIの構成要素より先に作成される必要があります。

メタデータベースが作成されるとき、JCLやCLISTなどからアクセスするためのデータセットを作成します。このデータセットをユーザー・カタログに登録する場合は、高位修飾子(High Level Qualifier)を指定するか、エイリアスを使用します。そうでなければ、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では、索引ファイルは非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データセット以外のデータセットが存在してはなりません。