11.11.1 SDBデータベースの定義例(4V FMBの場合)
4V FMBのSDBデータベースを定義する場合の定義例を次に示します。
- 〈この項の構成〉
(1) データベースの階層構造
作成する4V FMBのSDBデータベースの階層構造の概要を次の図に示します。
|
|
(2) データベースの格納構造
- 作成する4V FMBのSDBデータベースの格納構造の概要を次の図に示します。
-
図11‒19 作成する4V FMBのSDBデータベースの格納構造
(3) 各レコード型のキーおよびキー構成
作成する4V FMBのSDBデータベースの,各レコード型のキーおよびキー構成を次の図に示します。
|
|
(4) SDBデータベース定義の定義例
SDBデータベース定義の定義例(*ENTRY DICTIONARY文の指定例)を次に示します。
*ENTRY DICTIONARY
SCHEMA FMB01 /* SDBデータベース名(FMB01)*/
DBTYPE 4V FMB /* SDBデータベース種別 */
RECORD RECA /* レコード型名(RECA) */
2 DBKEY
3 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 ┐※ */
3 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 │ */
3 DBKEY_L4 CHARACTER 3 TYPE K,L /* 顧客番号┘ */
2 USERDA0 CHARACTER 30 TYPE U,D /* ユーザデータ */
2 USERDANO CHARACTER 10 TYPE U,F /* ユーザファイル通番 */
FUNCTION
REFER USE /* 検索の指定 */
ADD USE /* 追加の指定 */
UPDATE USE /* 更新の指定 */
ERASE NOUSE /* 削除の指定 */
ALLERASE NOUSE /* 一括削除の指定 */
RECORD RECB /* レコード型名(RECB) */
2 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 */
2 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 */
2 DBKEY_L4 CHARACTER 3 TYPE K,L /* 顧客番号 */
2 DBKEY INTEGER TYPE N,N /* 一連番号属性なし */
2 USERDB0 CHARACTER 20 TYPE U,D /* ユーザデータ */
FUNCTION
REFER USE /* 検索の指定 */
ADD USE /* 追加の指定 */
UPDATE USE /* 更新の指定 */
ERASE NOUSE /* 削除の指定 */
ALLERASE NOUSE /* 一括削除の指定 */
RECORD RECC /* レコード型名(RECC) */
2 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 */
2 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 */
2 DBKEY_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,K /* ユーザキー */
2 USERDC2 CHARACTER 10 TYPE U,D /* ユーザデータ */
FUNCTION
REFER USE /* 検索の指定 */
ADD USE /* 追加の指定 */
UPDATE USE /* 更新の指定 */
ERASE NOUSE /* 削除の指定 */
ALLERASE NOUSE /* 一括削除の指定 */
RECORD RECD /* レコード型名(RECD) */
2 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 */
2 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 */
2 DBKEY_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,K /* ユーザキー */
2 USERDD2 CHARACTER 10 TYPE U,D /* ユーザデータ */
FUNCTION
REFER USE /* 検索の指定 */
ADD USE /* 追加の指定 */
UPDATE USE /* 更新の指定 */
ERASE NOUSE /* 削除の指定 */
ALLERASE NOUSE /* 一括削除の指定 */
RECORD RECE /* レコード型名(RECE) */
2 DBKEY_L2 XCHARACTER 1 TYPE K,L /* 科目 */
2 DBKEY_L3 XCHARACTER 1 TYPE K,L /* 店番 */
2 DBKEY_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 N,N /* 一連番号属性なし */
2 USERDD0 CHARACTER 10 TYPE U,D /* ユーザデータ */
2 USERDD2 CHARACTER 10 TYPE U,D /* ユーザデータ */
FUNCTION
REFER USE /* 検索の指定 */
ADD USE /* 追加の指定 */
UPDATE USE /* 更新の指定 */
ERASE NOUSE /* 削除の指定 */
ALLERASE NOUSE /* 一括削除の指定 */
SET SET1 /* 親子集合(SET1) */
OWNER RECA /* 親レコードの指定 */
ORDER LAST
MEMBER RECB /* 子レコードの指定 */
INSERTION AUTOMATIC
RETENTION FIXED
SETOPTION /* SETオプション */
OCCURRENCE NUMBER 0 /* 一連番号属性なし */
SET SET2 /* 親子集合(SET2) */
OWNER RECA /* 親レコードの指定 */
ORDER SORTED DUPLICATES PROHIBITED
MEMBER RECC /* 子レコードの指定 */
INSERTION AUTOMATIC
RETENTION FIXED
KEY ASCENDING USERDC1
SETOPTION /* SETオプション */
OCCURRENCE NUMBER 10 /* 一連番号属性あり */
SET SET3 /* 親子集合(SET3) */
OWNER RECC /* 子レコードの指定 */
ORDER SORTED DUPLICATES PROHIBITED
MEMBER RECD /* 孫レコードの指定 */
INSERTION AUTOMATIC
RETENTION FIXED
KEY ASCENDING USERDD1
SETOPTION /* SETオプション */
OCCURRENCE NUMBER 100 /* 一連番号属性あり */
SET SET4 /* 親子集合(SET4) */
OWNER RECD /* 孫レコードの指定 */
ORDER LAST
MEMBER RECE /* ひ孫レコードの指定 */
INSERTION AUTOMATIC
RETENTION FIXED
SETOPTION /* SETオプション */
OCCURRENCE NUMBER 0 /* 一連番号属性なし */
SDBOPTION /* SDBオプション */
FUNCTION
DBLODUTL USE /* HiRDB/SDデータベース作成ユティリティ */
END SCHEMA- 注※
-
シーケンシャルインデクスの構成要素となります。
(5) SDBデータベース格納定義の定義例
SDBデータベース格納定義例(*ENTRY DICTIONARY文の指定例)を次に示します。
*ENTRY DICTIONARY
STORAGE SCHEMA FMB01 FOR FMB01 /* SDBデータベース格納名(FMB01)*/
/* FOR SDBデータベース名(FMB01)*/
DBTYPE 4V /* SDBデータベース種別 */
STORAGE RECORD RECA /* 格納レコード名(RECA) */
SEQUENTIAL RECA_SI FOR RECORD /* シーケンシャルインデクス名(RECA_SI) */
ORDER KEY ASCENDING DBKEY_L2,DBKEY_L3,DBKEY_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エリア */
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 NEXT PRIOR TENANT /* 子の兄弟ポインタ */
SET SET3 /* 親子集合(SET3) */
OWNER POINTER FOR FIRST LAST USER MEMBER /* 孫(RECD)へのポインタ */
MEMBER POINTER FOR NEXT PRIOR TENANT /* 孫の兄弟ポインタ定義 */
SET SET4 /* 親子集合(SET4) */
OWNER POINTER FOR FIRST LAST MEMBER /* ひ孫(RECE)へのポインタ */
MEMBER POINTER FOR NEXT PRIOR TENANT /* ひ孫の兄弟ポインタ */
SDBOPTION /* SDBオプション */
END STORAGE SCHEMA
(6) SDBディレクトリ情報の追加例
SDBディレクトリ情報の追加例(*ENTRY DIRECTORY文の指定例)を次に示します。
*ENTRY DIRECTORY DBSCHM FMB01