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データセット以外のデータセットが存在してはなりません。 |