SEWB+/REPOSITORY 辞書設計ガイド
ここでは,ERwin/ERX(バージョン2.6以前)で作成したエンティティレポートの辞書登録について説明します。
- <この項の構成>
- (1) ERwin/ERXでのエンティティレポートの出力設定
- (2) エンティティレポートからデータ項目辞書への変換規則
- (3) エンティティレポートからデータ項目辞書への変換規則(同一カラム名をマージする場合)
- (4) データ項目辞書とエンティティレポート形式の対応
- (5) ERwin/ERX タイプマッピングの規則
- (6) エンティティレポート形式フォーマット
(1) ERwin/ERXでのエンティティレポートの出力設定
ERwin/ERXで次に示す設定をしてCSV形式ファイルを出力してください。
- サーバの対象SQL DBMSの設定
- 使用するデータベースがORACLEの場合
- 対象データベース(SQLベース):ORACLE
- 使用するデータベースがHiRDBの場合
- 対象データベース(SQLベース):DB2
- CSV形式ファイルへの出力項目の設定
エンティティレポートから,SEWB+/REPOSITORYの辞書に連携するために必要な出力項目を設定します。出力項目と指定順序を,表B-1に示します。指定順序が列の並び順になります。このため,必ず指定順序に従って設定してください。
表B-1 エンティティレポートの出力項目と指定順序
指定順 出力項目(オプション名) ERwin/ERX 日本語版 ERwin/ERX 英語版 1 テーブル名(テーブルオプション) Table Name(Table Option) 2 エンティティ名(エンティティオプション) Entity Name(Entity Option) 3 属性名(属性オプション) Attribute Names(Attribute Option) 4 カラム/タイプ(属性オプション) Columns/Types(Attribute Option) 5※1 コメント(エンティティオプション) Note(Entity Option) 5※1 定義(エンティティオプション) Definiton(Entity Option) 6※2 外部キー(リレーションシップオプション) Foreign Keys(Relationship Option) 7※3 カンマ区切り(レポート形式) Comma Delimited(Report Format) 8※3 ヘッダー(表示形式) Header(Multi-Valued Format) 9※3 マージ(表示形式) Merge(Multi-Valued Format) 10※3 改行コードの除去 ※4 Remove Newline 注※1 どちらかを選択してください。両方の同時指定はできません。
注※2 属性レポートを同時入力する場合は,必ず指定してください。
注※3 指定順序どおりでなくてもかまいません。
注※4 ERwin/ERX 2.5以前のバージョンでは「新規行の除去」となります。
(2) エンティティレポートからデータ項目辞書への変換規則
依存関係のあるエンティティレポートを辞書登録する場合の変換規則について説明します。エンティティレポート形式の辞書登録の例を,図B-2に示します。
図B-2 エンティティレポート形式の辞書登録の例
エンティティレポート形式のCSV形式ファイルを辞書に登録するときの指定によって,登録されるデータ項目,及びデータ項目の関係が異なります。図B-2は,属性レポートの同時入力の指定と,物理名の異なる外部キーを識別する指定をした場合の登録例です。
(a) PK属性とFK属性の定義を,データ項目間の継承関係として登録する
- エンティティレポートと属性レポートを同時に入力
PK属性とFK属性の定義をデータ項目間の継承関係として登録するには,エンティティレポートと属性レポートを同時入力します。CSV形式ファイル入力コマンドで引数「/A 同時に入力する属性レポートファイル名」を指定するか,又は[CSV入力]ダイアログで「同時に入力するERwin/ERX属性レポートファイル名」を指定します。
- エンティティレポートだけを単独で入力
属性レポートを同時入力しない場合には,図B-2で示した「2」と「2'」,「4」と「4'」のデータ項目間の継承関係は登録されません。
(b) 物理名の異なる外部キーを識別して登録する
物理名の異なる外部キーを識別して登録するには,CSV形式ファイル入力コマンドで引数「/Z 物理名の異なる外部キーを識別する」を省略するか,[CSV入力オプション]ダイアログの「物理名の異なる外部キーを識別する」のチェックをオンにします。
この指定をしない場合には,図B-2で示した「2'」と「4'」のデータ項目は登録されません。
(3) エンティティレポートからデータ項目辞書への変換規則(同一カラム名をマージする場合)
エンティティレポート中に,同一のカラム名が定義された属性情報が複数ある場合,その情報をマージしてデータ項目辞書に登録できます。
この場合のエンティティレポートの変換規則を,図B-3に示します。
図B-3 エンティティレポート形式の辞書登録の例(同一カラム名をマージする場合)
エンティティレポート形式のCSV形式ファイルを辞書に登録するときの指定によって,登録されるデータ項目,及びデータ項目の関係が異なります。図B-3は,属性レポートの同時入力の指定と,物理名の異なる外部キーを識別する指定をした場合の登録例です。
(a) 同一カラム名をマージして登録する
同一カラム名をマージして辞書に登録するには,CSV形式ファイル入力コマンドで引数「/R 同一カラム名のマージ有無」に「use」を指定するか,又は[CSV入力オプション]ダイアログの「同一カラム名の属性をマージする」のチェックをオンにします。
なお,FK属性のカラム名と,その移行先のPK属性のカラム名が同じ場合は,この指定に関係なく,必ずマージされて登録されます。詳細については,「(2) エンティティレポートからデータ項目辞書への変換規則」を参照してください。
(b) マージされる属性の条件
同一カラム名の属性のマージでは,マージされる属性間で,属性の値が一致している必要があります。
マージされる属性間の条件を,表B-2に示します。条件は,エンティティレポートを単独で入力する場合と,エンティティレポートと属性レポートを同時に入力する場合とで異なります。
表B-2 マージされる属性間の条件
属性情報 マージする属性間の条件 エンティティレポートを
単独で入力エンティティレポートと
属性レポートを同時に入力カラム名 ○ ○ 属性名 ○ ○ カラムデータタイプ
(精度,スケールを含む)○ ○ デフォルト値 − ○ 移行先を示す情報 親テーブル名 × △ ベース名 − △ 主キー × × 外部キー × × コメント又は定義 − ×※ (凡例)
○:一致しなければならない
△:マージする属性の双方が移行元の情報を持っている場合,移行元の情報が一致している場合はマージできる。また,マージする属性の一方だけ移行元の情報を持っている場合,又はマージする属性の双方が移行元の情報を持っていない場合はマージできる(マージする属性の双方が同じ移行元の情報を持っている場合,及びマージする属性の一方だけ移行元を示す情報を持っている場合は,移行元を示す情報を基に,マージしたデータ項目に継承の関連が付けられる)。
×:一致しなくてもよい
−:該当しない
注※ コメント又は定義の情報が,マージ対象の複数の項目に設定されている場合は,その中で最も長い情報が,データ項目のコメントに設定されます。
(4) データ項目辞書とエンティティレポート形式の対応
データ項目辞書の定義項目とエンティティレポート形式の対応を,表B-3に示します。
表B-3 データ項目辞書とエンティティレポートの対応
データ項目辞書の
定義項目エンティティレポート形式 結合項目※1 構成項目 単項目 結合項目とその構成項目
結:結合項目
構:構成項目名称 データ項目名 テーブル名 カラム名※2 結:カラム名※2
構:カラム名+サフィックス※2標準名称 エンティティ名 属性名※3 結:属性名※3
構:属性名+サフィックス※2※3フリガナ × × 結:×
構:×属性 分類 結合データ カラム名※4※5 結:結合データ
構:カラム名※4※5けた数 − カラム名※4※5 結:−
構:カラム名※4※5小数部
けた数− カラム名※4※5 結:−
構:カラム名※4※5反復回数 − × 結:−
構:×付加情報 フィールド
1〜n× × 結:×
構:×コメント エンティティコメント/定義 * 属性
コメント/定義結:* 属性 コメント/定義
構:×言語別詳細情報 名前 テーブル名 カラム名※2 結:カラム名※2
構:カラム名+サフィックス※2タイプ − カラム名※4※5 結:−
構:カラム名※4※5タイプ修飾情報※6 − × 結:−
構:×取りうる値 − × 結:−
構:×初期値 − * デフォルト値 結:−
構:* ※7言語別
フィールド× × 結:×
構:×(凡例)
×:ERwin/ERX側にデータ項目辞書に対応する情報がない項目
−:データ項目辞書に値が設定されない項目
*:属性レポートから取得される情報。属性レポートを同時入力しない場合は「×」。
注※1 エンティティから変換されるデータ項目は,最上位結合項目となります。
注※2 属性名の末尾に出力される(PK)などのキー情報は削除されます。
注※3 カラム名の空白で区切られた情報の一つ目から取得されます。
注※4 カラム名の空白で区切られた情報の二つ目から取得されます。
注※5 変換される分類とタイプは,「(5) ERwin/ERX タイプマッピングの規則」を参照してください。
注※6 「COBOL又はOOCOBOL」で定義する編集文字列,「IDL(CORBA)」で定義するシーケンスを指します。
注※7 構成項目のサフィックスが -charの場合はデフォルト値,-lengthの場合は デフォルト値の文字列長が設定されます。
- 規 則
- データ項目は通常,継承関係の最上位にあるデータ項目として登録されます。
- 属性レポートとの同時入力で,CSV形式ファイル入力コマンドの引数「/Z 物理名の異なる外部キーを識別する」,又は[CSV入力オプション]ダイアログの「物理名の異なる外部キーを識別する」を指定すると,データ項目の継承関係も登録されます。この場合,PK属性とカラム名が異なるFK属性は,PK属性のベース名と同じ属性名のPK属性データ項目を継承します。
- 継承関係の下位にあるデータ項目として登録されたとき,表B-2で「×」又は「−」以外が記された定義項目には,上位のデータ項目の情報は継承されません。また,「×」が記された定義項目の継承モードは,環境構築ユティリティのデータ項目の継承モードの設定に従います。継承モードについては「3.1.1(3)(b) データ項目の継承モードの設定」を参照してください。
- CSV形式ファイル入力コマンドの引数「/W 更新対象属性」,又は[CSV入力オプション]ダイアログの「CSV入力フォーマット種別」で,ERwin/ERX属性だけを更新する指定をすると,表B-2で「×」又は「−」以外が記された定義情報のうち言語別名前を除く情報だけを更新できます。
(5) ERwin/ERX タイプマッピングの規則
ERwin/ERXで指定したタイプから,SEWB+/REPOSITORYのデータ項目の分類とタイプへ変換されます。変換にはタイプマッピングの規則が適用され,ERwin/ERXタイプや条件に応じた分類,タイプ,けた数,小数部けた数が設定されます。
標準で用意されているタイプマッピングの規則については,使用するデータベースの種類に応じて次から選択してください。
- ORACLEを使用する場合
- 変換規則A(表B-4,B-5参照) SEWB+/REPOSITORY 02-01以降
- 変換規則B(表B-6,B-7参照) SEWB+/REPOSITORY 02-00以前との互換用
- HiRDBを使用する場合
- 変換規則C(表B-8,B-9参照)
適用する変換規則は,CSV形式ファイル入力コマンドの引数「/E ファイルフォーマット種別(02-01互換用)」又は「/B データベース種別」で指定するか,[CSV入力オプション]ダイアログの「対象データベース選択」で指定します。
なお,これらの変換をするには,あらかじめ環境構築ユティリティで言語別タイプをそれぞれの分類で指定できるタイプとして登録しておく必要があります。標準に設定されている分類とタイプの対応については「2.4.1(3)(a) 分類」を参照してください。
変換規則を表B-4から表B-9に示します。
表B-4 ERwin/ERXのタイプの変換規則A-1(ORACLE)
ERwin/ERX SEWB+/REPOSITORY データベース
タイプ精度・長さ スケール 分類 けた数 小数部けた数 CHAR [n] (255) × 英数字文字列 n − CHARACTER [n] (255) × 英数字文字列 n − CHARZ [n] (255) × 英数字文字列 n − CURSOR × × なし − − DATE × × 日付 7 − DECIMAL p (38) [s] (0) 実数※1 p s※3 DISPLAY p (38) [s] (0) なし p s※4 FLOAT [p] (126) × 実数 p − INTEGER × × 整数 38 − LONG [n]
(16777215)× 英数字文字列 n − LONG RAW [n]
(16777215)× なし n − LONG VARCHAR [n]
(16777215)× 英数字文字列 n − LONG VARRAW n (16777215) × なし n − MLSLABEL [n] (4) × なし n − NUMBER [p] (38) [s] (0) なし p+2※2 s※3 RAW [n] (2000) × なし n − RAW MLSLABEL [n] (255) × なし n − ROWID × × なし 2000 − STRING [n] (2000) × 英数字文字列 n − UNSIGNED [p] (10) × なし p − VARCHAR [n] (65533) × 英数字文字列 n − VARCHAR2 [n] (2000) × 英数字文字列 n − VARNUM × × なし 22 − VARRAW n (65533) × なし n − その他 [p] [s] なし − − (凡例)
×:指定できない −:設定されない
n:長さ p:精度 s:スケール
[ ]:括弧内は省略できる
( ):括弧内は,ERwin/ERXでの記述が省略又は数値以外の文字列の場合の仮定値
注 データ項目種別はすべて「単項目」となります。
注※1 s=0の場合と,sが省略された場合は「整数」となります。
注※2 s<0の場合は「p+(sの絶対値)+1」となります。p<sの場合は「s+2」となります。
注※3 s=0の場合と,sが省略された場合は「−」となります。
注※4 sが省略された場合は「−」となります。
表B-5 ERwin/ERXのタイプの変換規則A-2(ORACLE)
ERwin/ERXの
データベースタイプSEWB+/REPOSITORYの
言語別タイプCOBOL又は
OOCOBOLC又はC++ SQL その他 CHAR X char CHAR ※8 CHARACTER X char CHAR ※8 CHARZ X char フリー定義※6 ※8 CURSOR フリー定義※1 フリー定義※4 フリー定義※6 ※8 DATE X char DATE ※8 DECIMAL P float フリー定義※6 ※8 DISPLAY フリー定義※2 char フリー定義※6 ※8 FLOAT D float フリー定義※6 ※8 INTEGER フリー定義※3 int フリー定義※6 ※8 LONG X char LONG ※8 LONG RAW X char フリー定義※6 ※8 LONG VARCHAR X char フリー定義※6 ※8 LONG VARRAW X char フリー定義※6 ※8 MLSLABEL X char フリー定義※6 ※8 NUMBER X char ※7 ※8 RAW X char フリー定義※6 ※8 RAW MLSLABEL X char フリー定義※6 ※8 ROWID X char フリー定義※6 ※8 STRING X char フリー定義※6 ※8 UNSIGNED フリー定義※4 unsigned int フリー定義※6 ※8 VARCHAR フリー定義※5 char フリー定義※6 ※8 VARCHAR2 X char VARCHAR2 ※8 VARNUM X char フリー定義※6 ※8 VARRAW X char フリー定義※6 ※8 その他 フリー定義※4 フリー定義※4 フリー定義※6 ※8 注※1 定義文字列には「SQL-CURSOR」が設定されます。
注※2 定義文字列には,「PIC S9($p)V9($s) DISPLAY SIGN LEADING SEPARATE」が設定されます。($p:精度(長さ), $s:スケール)
注※3 定義文字列には「PIC S9($p) COMP-5」が設定されます。($p:精度(長さ))
注※4 定義文字列は設定されません。
注※5 定義文字列には「PIC X($p) VARYING」が設定されます。($p:精度(長さ))
注※6 定義文字列にはERwin/ERXタイプが設定されます。
注※7 pとsが省略された場合は「NUMBERf」が設定されます。s=0の場合と,pが指定されてsが省略された場合は「NUMBER」が設定されます。その他の場合はフリー定義となり,定義文字列にはERwin/ERXタイプが設定されます。
注※8 言語区分「IDL(CORBA)」「帳票定義」「Java」のタイプには,環境構築ユティリティで設定した分類区分に対応するタイプの初期値(デフォルトタイプ)が設定されます。言語別4〜7のタイプはフリー定義となり,定義文字列は設定されません。
表B-6 ERwin/ERXのタイプの変換規則B-1(ORACLE)
ERwin/ERX SEWB+/REPOSITORY データベース
タイプ精度・長さ スケール 分類 けた数 小数部けた数 CHAR [n] (18) × 英数字文字列 n − CHARACTER [n] (18) × 英数字文字列 n − DATE × × なし 18 − DECIMAL [p] (18) [s] (0) 実数※1 p s※2 FLOAT × × 実数 18 − INTEGER × × 整数 18 − LONG × × 英数字文字列 18 − LONG RAW × × 英数字文字列 18 − LONG VARCHAR [n] (18) × 英数字文字列 n − MLSLABEL × × なし 18 − NUMBER [p] (18 (*のとき38)) [s] (0) 実数※1 p s※2 RAW [n] (18) × 英数字文字列 n − RAW MLSLABEL × × なし 18 − ROWID × × なし 18 − SMALLINT × × 整数 18 − VARCHAR [n] (18) × 英数字文字列 n − VARCHAR2 [n] (18) × 英数字文字列 n − その他 [p] (18) [s] なし p − (凡例)
×:指定できない −:設定されない
n:長さ p:精度 s:スケール
[ ]:括弧内は省略できる
( ):括弧内は,ERwin/ERXでの記述が省略又は数値以外の文字列の場合の仮定値
注 データ項目種別はすべて「単項目」となります。
注※1 s=0の場合と,pが指定されてsが省略された場合は「整数」となります。
注※2 s=0の場合と,sが省略された場合は「−」となります。
表B-7 ERwin/ERXのタイプの変換規則B-2(ORACLE)
ERwin/ERXの
データベースタイプSEWB+/REPOSITORYの
言語別タイプSQL その他 CHAR CHAR ※3 CHARACTER フリー定義※1 ※3 DATE フリー定義※1 ※3 DECIMAL フリー定義※1 ※3 FLOAT フリー定義※1 ※3 INTEGER フリー定義※1 ※3 LONG LONG ※3 LONG RAW フリー定義※1 ※3 LONG VARCHAR フリー定義※1 ※3 MLSLABEL フリー定義※1 ※3 NUMBER NUMBERf※2 ※3 RAW フリー定義※1 ※3 RAW MLSLABEL フリー定義※1 ※3 ROWID フリー定義※1 ※3 SMALLINT フリー定義※1 ※3 VARCHAR フリー定義※1 ※3 VARCHAR2 VARCHAR2 ※3 その他 フリー定義※1 ※3 注※1 定義文字列にはERwin/ERXタイプが設定されます。
注※2 s=0の場合と,pが指定されてsが省略された場合は「NUMBER」が設定されます。
注※3 言語区分「COBOL又はOOCOBOL」「C又はC++」「IDL(CORBA)」「帳票定義」「Java」のタイプには,環境構築ユティリティで設定した分類区分に対応するタイプの初期値(デフォルトタイプ)が設定されます。言語別4〜7のタイプはフリー定義となり,定義文字列にはERwin/ERXタイプが設定されます。
表B-8 ERwin/ERXのタイプの変換規則C-1(HiRDB)
ERwin/ERX SEWB+/REPOSITORY データベース
タイプ精度・長さ スケール 構成項目
サフィックス分類 けた数 小数部けた数 CHAR [n] (1) × − 英数字文字列 n − CHARACTER [n] (1) × − 英数字文字列 n − DATE × × − 日付 10 − DEC [p] (15) [s] (0) − 実数※1 p s※2 DECIMAL [p] (15) [s] (0) − 実数※1 p s※2 DOUBLE PRECISION × × − 実数 16 − FLOAT × × − 実数 16 − INT × × − 整数 9 − INTEGER × × − 整数 9 − INTERVAL YEAR TO DAY × × − なし 8 − INTERVAL HOUR TO SECOND × × − なし 6 − MCHAR [n] (1) × − 英数字文字列 n − MVARCHAR n (32000) × -length 整数 4 − -char 英数字文字列 n − NCHAR [n] (1) × − 日本語文字列 n − NVARCHAR n (16000) × -length 整数 4 − -char 日本語文字列 n − REAL × × − 実数 7 − SMALLFLT × × − 実数 7 − SMALLINT × × − 整数 4 − TIME × × − 時刻 8 − VARCHAR n (32000) × -length 整数 4 − -char 英数字文字列 n − その他 [p] [s] − なし − − (凡例)
×:指定できない −:設定されない
n:長さ p:精度 s:スケール
[ ]:括弧内は省略できる
( ):括弧内は,ERwin/ERXでの記述が省略又は数値以外の文字列の場合の仮定値
注 構成項目のサフィックス欄が「−」のタイプは,単項目として生成されるタイプです。「−」以外のタイプは,結合項目としてその構成項目が生成されるタイプです。
注※1 s=0の場合と,pが指定されてsが省略された場合は「整数」となります。
注※2 s=0の場合と,sが省略された場合は「−」となります。
表B-9 ERwin/ERXのタイプの変換規則C-2(HiRDB)
ERwin/ERXの
データベース
タイプSEWB+/REPOSITORYの
言語別タイプ構成項目
サフィックスCOBOL又は
OOCOBOLC又はC++ SQL その他 備考 CHAR − X char CHAR ※3 CHARACTER − X char CHAR ※3 DATE − X char DATE ※3 DEC − P フリー定義※1 DEC ※3 DECIMAL − P フリー定義※1 DEC ※3 ※4 DOUBLE PRECISION − D double フリー定義※2 ※3 ※5 FLOAT − D double FLOAT ※3 INT − B long INT ※3 INTEGER − B long INT ※3 INTERVAL YEAR TO DAY − P フリー定義※1 フリー定義※2 ※3 INTERVAL HOUR TO SECOND − P フリー定義※1 フリー定義※2 ※3 MCHAR − X char MCHAR ※3 MVARCHAR -length※6 B short SMALLINT ※3 ※4 -char※6 X char MVARCHAR ※3 ※5 NCHAR − N char NCHAR ※3 NVARCHAR -length※6 B short SMALLINT ※3 ※4 -char※6 N char NVARCHAR ※3 ※5 REAL − D float フリー定義※2 ※3 SMALLFLT − D float SMALLFLT ※3 SMALLINT − B short SMALLINT ※3 TIME − X char TIME ※3 VARCHAR -length※6 B short SMALLINT ※3 ※4 -char※6 X char VARCHAR ※3 ※5 その他 − フリー定義※1 フリー定義※1 フリー定義※2 ※3 注※1 定義文字列は設定されません。
注※2 定義文字列にはERwin/ERXタイプが設定されます。
注※3 言語区分「IDL(CORBA)」「帳票定義」「Java」のタイプには,環境構築ユティリティで設定した分類区分に対応するタイプの初期値(デフォルトタイプ)が設定されます。言語別4〜7のタイプはフリー定義となり,定義文字列は設定されません。
注※4 初期値に,カラムのデフォルト値の文字列長が設定されます。
注※5 初期値に,カラムのデフォルト値が設定されます。
注※6 環境構築ユティリティのタイプマッピングの設定で,サフィックスをカスタマイズできます。
(6) エンティティレポート形式フォーマット
ERwin/ERXのエンティティレポートに対応するCSV形式ファイルフォーマットについて説明します。
(a) ファイル内部の構成
エンティティレポート形式のファイル内部の構成を次に示します。
1行目にはヘッダを,2行目からは個々のデータ項目の定義情報を記述します。エンティティレポート形式では,結合関係を記述できます。ただし,結合項目を階層化して記述することはできません。
結合項目を1行で記述します。その後に続けて,その結合項目を構成する個々の構成項目を1行ずつ連続して記述します。構成項目は,次の結合項目を記述するまで,同じ結合項目と関連する構成項目とみなされます。結合項目と構成項目の区別は,テーブル名があるかどうかで判断されます。
(b) ヘッダ
ヘッダはERwin/ERXでレポートを出力した場合に付けられます。ヘッダの内容は任意ですが,ヘッダ行のカンマで区切られた列数は,定義情報と同じでなくてはなりません。
(c) 定義情報
定義情報のフォーマットとエンティティレポートで定義する必要のある値と省略できる値を,表B-10に示します。エンティティレポート形式では,文字列の値はすべてクォーテーション(「"」又は「'」)で囲まないで記述します。
表B-10 データ項目の定義情報の記述内容(エンティティレポート形式)
記述順 記述する定義情報 結合項目 構成項目 1 テーブル名 〇 − 2 エンティティ名 △ − 3 属性名 − △ 4 カラム名 − 〇 5※1 エンティティコメント △ − 5※1 エンティティ定義 △ − 6※2 外部キー △ △ (凡例) 〇:必要な値 △:省略できる値 −:該当しない
注※1 どちらか一方を記述します。
注※2 属性レポートを同時入力する場合は,必ず記述します。
All Rights Reserved, Copyright (C) 1996,2001, Hitachi, Ltd.