メタ情報の初期設定コマンド(EDMInitMeta)を実行した場合の-uオプションで指定する値によって,クラス名やプロパティ名を表すデータベース定義の名称の定義方法が異なります。
(1) データベース定義の名称定義の方法
DocumentBrokerで提供するデータベース定義の名称定義の方法を次に示します。
新規に環境を構築する場合は,クラス名やプロパティ名をデータベース定義の名称として使用することをお勧めします。
クラス名やプロパティ名をデータベース定義の名称として使用する場合,クラス名は表識別子の制約を受け,プロパティ名は列名の制約を受けます。なお,GUID値を変換した値をデータベース定義の名称定義として使用する場合は,DocumentBrokerによって任意のデータベース定義の名称が設定されます。
(2) データベース定義の名称定義の規則
定義情報ファイルのdmaProp_DisplayNameプロパティで,サブクラス名やプロパティ名をデータベース定義の名称定義として使用する場合の規則について説明します。ここでは,表識別子(表の名称として一意に識別できる値),列名,インデクス名(表を検索するためのキーとして列に付けた索引の名称),およびエリア名を定義する場合の規則を説明します。
クラス名やプロパティ名をデータベース定義の名称とする場合と,GUID値を変換した識別子をデータベース定義の名称とする場合の名称定義の規則を次の表に示します。
表3-8 データベース定義の名称定義の環境ごとの規則
データベース定義の名称定義の環境 | クラス名やプロパティ名を,データベース定義の名称とする環境 | GUID値を変換した識別子を,データベース定義の名称とする環境 |
---|---|---|
表識別子 | サブクラス名 | 'T'+guid変換文字列 |
列名 | プロパティ名 | 'P'+guid変換文字列 |
列名(二つのクラスを一つの表に格納する場合) | プロパティ名 プロパティ名+'_1' | 'P'+guid変換文字列 'A'+guid変換文字列 |
列名(三つのクラスを一つの表に格納する場合) | プロパティ名 プロパティ名+'_1' プロパティ名+'_2' | 'P'+guid変換文字列 'A'+guid変換文字列 'B'+guid変換文字列 |
VariableArray用のクラス(外づけの表) | VariableArrayプロパティ名 | 'T'+VariableArray型プロパティguid変換文字列 |
VariableArray型のプロパティ(外づけの表) | 要素プロパティ名 | 'P'+要素プロパティguid変換文字列 |
VariableArray型のプロパティ(HiRDBの繰り返し列) | VariableArrayプロパティ名+'_'+要素プロパティ名 | 'P'+要素プロパティguid変換文字列+プロパティ順序の変換文字列 |
インデクス名 (キーが一つ,または指定省略時) | サブクラス名+<クラスで一意文字列(改)>※ | 'I'+クラスのguid変換文字列+プロパティ順序の変換文字列 |
インデクス名 (キーが複数,または指定省略時) | サブクラス名+<クラスで一意文字列(改)>※ | 'I'+クラスのguid変換文字列+<クラスで一意文字列>※ |
サブクラス名で表識別子の制約 | あり | なし |
プロパティ名で列名の制約 | あり | なし |
なお,システムクラスおよびシステムプロパティのデータベース定義の名称一覧は,「付録F システムクラスおよびシステムプロパティの名称定義の規則」を参照してください。また,サブクラス名に対応する表識別子とプロパティ名に対応する列名の詳細な規則については,「4.7.2 サブクラス名およびプロパティ名をデータベース定義の名称に使用する場合の規則」を参照してください。インデクス名を定義する場合の詳細な規則については,「4.9.2 インデクス名をデータベース定義の名称に使用する場合の規則」を参照してください。エリア名については,データベース定義の制約に従って定義してください。