SEWB+/REPOSITORY 辞書設計ガイド

[目次][用語][索引][前へ][次へ]

付録B.2 エンティティレポートの連携

ここでは,ERwin/ERX(バージョン2.6以前)で作成したエンティティレポートの辞書登録について説明します。

<この項の構成>
(1) ERwin/ERXでのエンティティレポートの出力設定
(2) エンティティレポートからデータ項目辞書への変換規則
(3) エンティティレポートからデータ項目辞書への変換規則(同一カラム名をマージする場合)
(4) データ項目辞書とエンティティレポート形式の対応
(5) ERwin/ERX タイプマッピングの規則
(6) エンティティレポート形式フォーマット

(1) ERwin/ERXでのエンティティレポートの出力設定

ERwin/ERXで次に示す設定をしてCSV形式ファイルを出力してください。

(2) エンティティレポートからデータ項目辞書への変換規則

依存関係のあるエンティティレポートを辞書登録する場合の変換規則について説明します。エンティティレポート形式の辞書登録の例を次の図に示します。

図B-2 エンティティレポート形式の辞書登録の例

[図データ]

エンティティレポート形式のCSV形式ファイルを辞書に登録するときの指定によって,登録されるデータ項目およびデータ項目の関係が異なります。図B-2は,属性レポートの同時入力の指定と,物理名の異なる外部キーを識別する指定をした場合の登録例です。

(a) PK属性とFK属性の定義を,データ項目間の継承関係として登録する
(b) 物理名の異なる外部キーを識別して登録する

物理名の異なる外部キーを識別して登録するには,CSV形式ファイル入力コマンドで引数「/Z 物理名の異なる外部キーを識別する」を省略するか,[CSV入力オプション]ダイアログの「物理名の異なる外部キーを識別する」のチェックをオンにします。

この指定をしない場合には,図B-2で示した「2'」と「4'」のデータ項目は登録されません。

(3) エンティティレポートからデータ項目辞書への変換規則(同一カラム名をマージする場合)

エンティティレポート中に,同一のカラム名が定義された属性情報が複数ある場合,その情報をマージしてデータ項目辞書に登録できます。

この場合のエンティティレポートの変換規則を次の図に示します。

図B-3 エンティティレポート形式の辞書登録の例(同一カラム名をマージする場合)

[図データ]

エンティティレポート形式のCSV形式ファイルを辞書に登録するときの指定によって,登録されるデータ項目およびデータ項目の関係が異なります。図B-3は,属性レポートの同時入力の指定と,物理名の異なる外部キーを識別する指定をした場合の登録例です。

(a) 同一カラム名をマージして登録する

同一カラム名をマージして辞書に登録するには,CSV形式ファイル入力コマンドで引数「/R 同一カラム名のマージ有無」に「use」を指定するか,または[CSV入力オプション]ダイアログの「同一カラム名の属性をマージする」のチェックをオンにします。

なお,FK属性のカラム名と,その移行先のPK属性のカラム名が同じ場合は,この指定に関係なく,必ずマージされて登録されます。詳細は,「付録B.2(2) エンティティレポートからデータ項目辞書への変換規則」を参照してください。

(b) マージされる属性の条件

同一カラム名の属性のマージでは,マージされる属性間で,属性の値が一致している必要があります。

マージされる属性間の条件を次の表に示します。条件は,エンティティレポートを単独で入力する場合と,エンティティレポートと属性レポートを同時に入力する場合とで異なります。

表B-2 マージされる属性間の条件

属性情報 マージする属性間の条件
エンティティレポートを単独で入力 エンティティレポートと属性レポートを同時に入力
カラム名
属性名
カラムデータタイプ
(精度,スケールを含む)
デフォルト値
移行先を示す情報 親テーブル名 ×
ベース名
主キー × ×
外部キー × ×
コメントまたは定義 ×
(凡例)
○:一致しなければならない
△:マージする属性の双方が移行元の情報を持っている場合,移行元の情報が一致している場合はマージできる。また,マージする属性の一方だけ移行元の情報を持っている場合,またはマージする属性の双方が移行元の情報を持っていない場合はマージできる(マージする属性の双方が同じ移行元の情報を持っている場合,およびマージする属性の一方だけ移行元を示す情報を持っている場合は,移行元を示す情報を基に,マージしたデータ項目に継承の関連が付けられる)
×:一致しなくてもよい
−:該当しない
注※
コメントまたは定義の情報が,マージ対象の複数の項目に設定されている場合は,その中で最も長い情報が,データ項目のコメントに設定されます。

(4) データ項目辞書とエンティティレポート形式の対応

データ項目辞書の定義項目とエンティティレポート形式の対応を次の表に示します。

表B-3 データ項目辞書とエンティティレポートの対応

データ項目辞書の定義項目 エンティティレポート形式
結合項目※1 構成項目
単項目 結合項目とその構成項目
結:結合項目
構:構成項目
名称 データ項目名 テーブル名 カラム名※2 結:カラム名※2
構:カラム名+サフィックス※2
標準名称 エンティティ名 属性名※3 結:属性名※3
構:属性名+サフィックス※2,※3
フリガナ × × 結:×
構:×
属性 分類 結合データ カラム名45 結:結合データ
構:カラム名45
けた数 カラム名45 結:−
構:カラム名45
小数部
けた数
カラム名45 結:−
構:カラム名45
反復回数 × 結:−
構:×
付加情報 フィールド
1〜n
× × 結:×
構:×
コメント エンティティコメント/定義 * 属性
コメント/定義
結:* 属性 コメント/定義
構:×
言語別詳細情報 名前 テーブル名 カラム名※2 結:カラム名※2
構:カラム名+サフィックス※2
タイプ カラム名※4,※5 結:−
構:カラム名※4,※5
タイプ修飾情報※6 × 結:−
構:×
取りうる値 × 結:−
構:×
初期値 * デフォルト値 結:−
構:*※7
言語別
フィールド
× × 結:×
構:×
(凡例)
×:ERwin/ERX側にデータ項目辞書に対応する情報がない項目
−:データ項目辞書に値が設定されない項目
*:属性レポートから取得される情報。属性レポートを同時入力しない場合は「×」
注※1
エンティティから変換されるデータ項目は,最上位結合項目となります。
注※2
属性名の末尾に出力される(PK)などのキー情報は削除されます。
注※3
カラム名の空白で区切られた情報の一つ目から取得されます。
注※4
カラム名の空白で区切られた情報の二つ目から取得されます。
注※5
変換される分類とタイプは,「付録B.2(5) ERwin/ERX タイプマッピングの規則」を参照してください。
注※6
「COBOL又はOOCOBOL」で定義する編集文字列を指します。
注※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+ リポジトリセットのSEWB+/REPOSITORY 02-01以降
  • 変換規則B(表B-6,B-7参照) SEWB+ リポジトリセットの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 s3
DISPLAY p (38) [s] (0) なし p s4
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+22 s3
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又はOOCOBOL C又は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
言語区分「帳票定義」,「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 s2
FLOAT × × 実数 18
INTEGER × × 整数 18
LONG × × 英数字文字列 18
LONG RAW × × 英数字文字列 18
LONG VARCHAR [n] (18) × 英数字文字列 n
MLSLABEL × × なし 18
NUMBER [p] (18 (*のとき38)) [s] (0) 実数1 p s2
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 NUMBERf2 ※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++」,「帳票定義」,「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 s2
DECIMAL [p] (15) [s] (0) 実数1 p s2
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又はOOCOBOL C又は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 -length6 B short SMALLINT ※3 ※4
-char6 X char MVARCHAR ※3 ※5
NCHAR N char NCHAR ※3  
NVARCHAR -length6 B short SMALLINT ※3 ※4
-char6 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 -length6 B short SMALLINT ※3 ※4
-char6 X char VARCHAR ※3 ※5
その他 フリー定義1 フリー定義1 フリー定義2 ※3  
注※1
定義文字列は設定されません。
注※2
定義文字列にはERwin/ERXタイプが設定されます。
注※3
言語区分「帳票定義」,「Java」のタイプには,環境構築ユティリティで設定した分類区分に対応するタイプの初期値(デフォルトタイプ)が設定されます。言語別4〜7のタイプはフリー定義となり,定義文字列は設定されません。
注※4
初期値に,カラムのデフォルト値の文字列長が設定されます。
注※5
初期値に,カラムのデフォルト値が設定されます。
注※6
環境構築ユティリティのタイプマッピングの設定で,サフィックスをカスタマイズできます。

(6) エンティティレポート形式フォーマット

ERwin/ERXのエンティティレポートに対応するCSV形式ファイルフォーマットについて説明します。

(a) ファイル内部の構成

エンティティレポート形式のファイル内部の構成を次に示します。

[図データ]

1行目にはヘッダを,2行目からは個々のデータ項目の定義情報を記述します。エンティティレポート形式では,結合関係を記述できます。ただし,結合項目を階層化して記述することはできません。

結合項目を1行で記述します。そのあとに続けて,その結合項目を構成する個々の構成項目を1行ずつ連続して記述します。構成項目は,次の結合項目を記述するまで,同じ結合項目と関連する構成項目と見なされます。結合項目と構成項目の区別は,テーブル名があるかどうかで判断されます。

(b) ヘッダ

ヘッダはERwin/ERXでレポートを出力した場合に付けられます。ヘッダの内容は任意ですが,ヘッダ行のカンマで区切られた列数は,定義情報と同じである必要があります。

(c) 定義情報

定義情報のフォーマットとエンティティレポートで定義する必要のある値と省略できる値を次の表に示します。エンティティレポート形式では,文字列の値はすべてクォーテーション(「"」または「'」)で囲まないで記述します。

表B-10 データ項目の定義情報の記述内容(エンティティレポート形式)

記述順 記述する定義情報 結合項目 構成項目
1 テーブル名
2 エンティティ名
3 属性名
4 カラム名
5※1 エンティティコメント
5※1 エンティティ定義
6※2 外部キー
(凡例)
○:必要な値
△:省略できる値
−:該当しない
注※1
どちらか一方を記述します。
注※2
属性レポートを同時入力する場合は,必ず記述します。