Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


11.11.3 SDBデータベースの定義例(SD FMBの場合)

SD FMBのSDBデータベースを定義する場合の定義例を次に示します。

〈この項の構成〉

(1) データベースの階層構造

作成するSD FMBのSDBデータベースの階層構造の概要を次の図に示します。

図11‒24 作成するSD FMBのSDBデータベースの階層構造

[図データ]

(2) データベースの格納構造

作成するSD FMBのSDBデータベースの格納構造の概要を次の図に示します。
図11‒25 作成するSD FMBのSDBデータベースの格納構造

[図データ]

(3) 各レコード型のキーおよびキー構成

作成するSD FMBのSDBデータベースの,各レコード型のキーおよびキー構成を次の図に示します。

図11‒26 作成するSD FMBのSDBデータベースの,各レコード型のキーおよびキー構成

[図データ]

(4) SDBデータベース定義の定義例

SDBデータベース定義の定義例(*ENTRY DICTIONARY文の指定例)を次に示します。

*ENTRY DICTIONARY
 SCHEMA FMB01                                 /* SDBデータベース名(FMB01)*/
 DBTYPE SD FMB                                /* SDBデータベース種別     */
   RECORD RECA                                /* レコード型名(RECA)      */
     2 KEYDATA
       3 KEYDATA_L2  XCHARACTER 1  TYPE  K,L    /* 科目    ┐※  */
       3 KEYDATA_L3  XCHARACTER 1  TYPE  K,L    /* 店番    │    */
       3 KEYDATA_L4  CHARACTER  3  TYPE  K,L    /* 顧客番号┘    */
     2 USERDA0     CHARACTER 30  TYPE  U,D    /* ユーザデータ            */
     2 USERDANO    CHARACTER 10  TYPE  U,D    /* ユーザデータ            */
   RECORD RECB                                /* レコード型名(RECB)      */
     2 KEYDATA_L2  XCHARACTER 1    TYPE  K,L    /* 科目                    */
     2 KEYDATA_L3  XCHARACTER 1    TYPE  K,L    /* 店番                    */
     2 KEYDATA_L4  CHARACTER  3    TYPE  K,L    /* 顧客番号                */
     2 DBKEY     INTEGER         TYPE  K,N    /* 一連番号属性あり        */
     2 USERDB0   CHARACTER 20    TYPE  U,D    /* ユーザデータ            */
   RECORD RECC                                /* レコード型名(RECC)      */
     2 KEYDATA_L2  XCHARACTER 1    TYPE  K,L    /* 科目                    */
     2 KEYDATA_L3  XCHARACTER 1    TYPE  K,L    /* 店番                    */
     2 KEYDATA_L4  CHARACTER  3    TYPE  K,L    /* 顧客番号                */
     2 DBKEY     INTEGER         TYPE  K,N    /* 一連番号属性あり        */
     2 USERDC0   CHARACTER 10    TYPE  U,D    /* ユーザデータ            */
     2 USERDC1   CHARACTER 10    TYPE  U,D    /* ユーザデータ            */
     2 USERDC2   CHARACTER 10    TYPE  U,D    /* ユーザデータ            */
   RECORD RECD                                /* レコード型名(RECD)      */
     2 KEYDATA_L2  XCHARACTER 1    TYPE  K,L    /* 科目                    */
     2 KEYDATA_L3  XCHARACTER 1    TYPE  K,L    /* 店番                    */
     2 KEYDATA_L4  CHARACTER  3    TYPE  K,L    /* 顧客番号                */
     2 DBKEY_P2  INTEGER         TYPE  K,P    /* 上位の一連番号(RECC用)  */
     2 DBKEY     INTEGER         TYPE  K,N    /* 一連番号属性あり        */
     2 USERDD0   CHARACTER 10    TYPE  U,D    /* ユーザデータ            */
     2 USERDD1   CHARACTER 10    TYPE  U,D    /* ユーザデータ            */
     2 USERDD2   CHARACTER 10    TYPE  U,D    /* ユーザデータ            */
   RECORD RECE                                /* レコード型名(RECE)      */
     2 KEYDATA_L2  XCHARACTER 1    TYPE  K,L    /* 科目                    */
     2 KEYDATA_L3  XCHARACTER 1    TYPE  K,L    /* 店番                    */
     2 KEYDATA_L4  CHARACTER  3    TYPE  K,L    /* 顧客番号                */
     2 DBKEY_P2  INTEGER         TYPE  K,P    /* 上位の一連番号(RECC用)  */
     2 DBKEY_P3  INTEGER         TYPE  K,P    /* 上位の一連番号(RECD用)  */
     2 DBKEY     INTEGER         TYPE  K,N    /* 一連番号属性あり        */
     2 USERDE0   CHARACTER 10    TYPE  U,D    /* ユーザデータ            */
     2 USERDE2   CHARACTER 10    TYPE  U,D    /* ユーザデータ            */
   SET SET1                                   /* 親子集合(SET1)          */
     OWNER RECA                               /* 親レコードの指定        */
       ORDER SORTED DUPLICATES PROHIBITED
     MEMBER RECB                              /* 子レコードの指定        */
       INSERTION AUTOMATIC
       RETENTION FIXED
       KEY ASCENDING USERDB0
   SET SET2                                   /* 親子集合(SET2)          */
     OWNER RECA                               /* 親レコードの指定        */
       ORDER LAST
     MEMBER RECC                              /* 子レコードの指定        */
       INSERTION AUTOMATIC
       RETENTION FIXED
   SET SET3                                   /* 親子集合(SET3)          */
     OWNER RECC                               /* 子レコードの指定        */
       ORDER LAST
     MEMBER RECD                              /* 孫レコードの指定        */
       INSERTION AUTOMATIC
       RETENTION FIXED
   SET SET4                                   /* 親子集合(SET4)          */
     OWNER RECD                               /* 孫レコードの指定        */
       ORDER LAST
     MEMBER RECE                              /* ひ孫レコードの指定      */
       INSERTION AUTOMATIC
       RETENTION FIXED
END SCHEMA
注※

シーケンシャルインデクスの構成要素となります。

(5) SDBデータベース格納定義の定義例

SDBデータベース格納定義例(*ENTRY DICTIONARY文の指定例)を次に示します。

*ENTRY DICTIONARY
 STORAGE SCHEMA FMB01 FOR FMB01               /* SDBデータベース格納名(FMB01)*/
                                              /* FOR SDBデータベース名(FMB01)*/
 DBTYPE SD                                    /* SDBデータベース種別         */
   STORAGE RECORD RECA                        /* 格納レコード名(RECA)        */
     SEQUENTIAL RECA_SI FOR RECORD  /* シーケンシャルインデクス名(RECA_SI)   */
       ORDER KEY ASCENDING  KEYDATA_L2,KEYDATA_L3,KEYDATA_L4
       WITHIN FMBX01_I              /* シーケンシャルインデクス用RDエリア名  */
     WITHIN FMBX01                            /* 格納レコード用RDエリア名    */
   STORAGE RECORD RECB                        /* 格納レコード名(RECB)        */
     CLUSTERED SET1
     WITHIN FMBX01                            /* 格納レコード用RDエリア      */
   STORAGE RECORD RECC                        /* 格納レコード名(RECC)        */
     CLUSTERED SET2
     WITHIN FMBX01                            /* 格納レコード用RDエリア      */
     SECONDARY INDEX RECC_SI1                 /* 二次インデクス名(REC1_SI1)  */
     USED FOR RECORD
     ORDER KEY ASCENDING  DBKEY_L2, DBKEY_L3,  USERDC1
     WITHIN FMBX01_I                          /* 二次インデクス用RDエリア    */
   STORAGE RECORD RECD                        /* 格納レコード名(RECD)        */
     CLUSTERED SET3
     WITHIN FMBX01                            /* 格納レコード用RDエリア      */
   STORAGE RECORD RECE                        /* 格納レコード名(RECE)        */
     CLUSTERED SET4
     WITHIN FMBX01                            /* 格納レコード用RDエリア      */
   SET SET1                                   /* 親子集合(SET1)              */
     OWNER POINTER FOR FIRST LAST MEMBER      /* 子(RECB)へのポインタ        */
     MEMBER POINTER FOR NEXT PRIOR TENANT     /* 子の兄弟ポインタ            */
   SET SET2                                   /* 親子集合(SET2)              */
     OWNER POINTER FOR FIRST LAST MEMBER      /* 子(RECC)へのポインタ        */
     MEMBER POINTER FOR OWNER NEXT PRIOR TENANT /* 親ポインタおよび子の兄弟ポインタ */
   SET SET3                                   /* 親子集合(SET3)              */
     OWNER POINTER FOR FIRST LAST MEMBER      /* 孫(RECD)へのポインタ        */
     MEMBER POINTER FOR NEXT PRIOR TENANT     /* 孫の兄弟ポインタ定義        */
   SET SET4                                   /* 親子集合(SET4)              */
     OWNER POINTER FOR FIRST LAST MEMBER      /* ひ孫(RECE)へのポインタ      */
     MEMBER POINTER FOR NEXT PRIOR TENANT     /* ひ孫の兄弟ポインタ          */
END STORAGE SCHEMA

(6) SDBディレクトリ情報の追加例

SDBディレクトリ情報の追加例(*ENTRY DIRECTORY文の指定例)を次に示します。

*ENTRY DIRECTORY
DBSCHM FMB01