バージョン情報
| 製品 | バージョン |
|---|---|
| EBX | 6.2.0 |
| Data Exchange Add-on | 6.2.0 |
概要
EBX上でのデータモデルの作成は、UI上のデータモデルメニューから以外に、動的データモデリング機能を利用することでデータモデルのテーブルとフィールドを作成することが可能です。
本稿では、この動的データモデリング機能の使い方について説明します。
動的データモデリングで扱えるファイル形式と各形式における作成方法
動的データモデリングでは、
- Excel
- XML
- DDL(SQL)
のいずれかのファイル形式でデータモデルを作成し、EBXにインポートします。本章では、これらの形式間で主に異なる点を示した後、各形式におけるデータモデル作成方法を説明します。
各形式の比較一覧
各形式の主な差異は、下表のとおりです。ただし、いずれの形式においても、ファイルインポート後にグループの作成、データ型・主キーの指定が可能です。
| ファイル形式 | 作成できるエレメント |
データ型の指定 |
主キーの指定 | |
|---|---|---|---|---|
| Excel | データあり(方式①) | テーブル、フィールド | 不可:すべてString型として認識 | 不可:A1セルの属性を主キーとみなす |
| データなし(方式②) | テーブル、フィールド、グループ | 可 | 可 | |
|
XML |
テーブル、フィールド、グループ |
不可:すべてString型として認識 | 不可:XML上で最初に出現するフィールドを主キーとみなす | |
| DDL | テーブル、フィールド | 可 | 可 | |
Excel
Excelによるデータモデルの作成を行う際は、①すでにEBXにインポートしたいデータまたはテーブル定義をExcel形式で持っている場合 と ②Excelでのデータは無く最初からデータモデルを作成する場合で、下記二通りの方法の使い分けが可能です。
①データまたはテーブル定義をExcelで持っている場合
この場合は、Excelのシート名をテーブル名とし、シートの1行目をフィールド名することで、EBXにテーブルと属性を認識させることができます。
動的データモデリングでは、シート上の1行目以外に存在するデータはすべて無視されます。
注意点
- この方式を利用した場合、A1セルに存在する値がテーブルの主キーのフィールド名として扱われます。
- 各属性のデータ型は、インポート時点ではEBXのString型として扱われます。このデータ型の変更については、次章の「作成したファイルのインポートとXSDファイルの生成」の手順をご参照ください。
②データまたはテーブル定義がない場合
この場合は、Excelでフォーマットを作成し、テーブル、フィールド、グループを定義する必要があります。Excelのフォーマットは、
- シート名に定義したいテーブル名
- 各シートの1行目A列~D列に "Data type"、"Field name"、"Is primary key"、"Group path"
をそれぞれ記載します。(下図)
注意点
- "Data type"を空欄にした場合、そのフィールドはString型として認識します。
それぞれのカラムに記載する内容は、下表のとおりです。
| カラム | 内容 |
|---|---|
| Data type | データ型を定義します。ここに記載するデータ型の書き方と、EBXおよび一般にSQLで書かれるデータ型との対応については、こちらをご参照ください。 |
| Field name | フィールド名を定義します。 |
| Is primary key | 主キーを定義します。Yes/Noで指定します。(ケースセンシティブのため、"YES"や"no"ではエラーとなります。) |
| Group path |
フィールドをグルーピングする際には、そのフィールドを含むグループのパスを記載します。グループは、"/group1/group2"のように階層を作成できます。 |
XML
XMLでデータモデルを記述する際には、テーブル名、フィールド名、グループ名をタグの名前として設定し、テーブルの構造をタグで作成します。例えば、次のようなデータモデルを作成する場合:
作成するXMLは次のようになります。
サンプル
<root>
<Table1>
<Field1-1>1</Field1-1>
<Group1-2>
<Field1-2-1>1</Field1-2-1>
<Field1-2-2>1</Field1-2-2>
</Group1-2>
<Field1-3>1</Field1-3>
</Table1>
<Table2>
<Field2-1>1</Field2-1>
<Group2-2>
<Field2-2-1>1</Field2-2-1>
<Field2-2-2>1</Field2-2-2>
</Group2-2>
<Field2-3>1</Field2-3>
</Table2>
</root>
注意点
- XMLにおいてタグで定義した各エレメントは、XMLファイルをEBXにインポートする段階で、テーブル、グループ、フィールドのいずれかであるかをEBXが認識します。この時、XMLタグのみで定義されている(=開始タグと終了タグの間に値がない)エレメントはフィールドとして認識されないため、何かしらの値をタグで挟む必要があります。
- テーブルの主キーは、そのテーブル内で最初に出現するフィールドが指定されます。
- 各属性のデータ型は、インポート時点ではEBXのString型として扱われます。このデータ型の変更については、次章の「作成したファイルのインポートとXSDファイルの生成」の手順をご参照ください。
DDL
SQLのDDLを用いて、テーブルおよびフィールドを定義することも可能です。SQLで
動的データモデリングで使用できるコマンドについては、こちらをご参照ください。
EBX上のデータ型と一般にSQLで書かれるデータ型との対応については、こちらをご参照ください。
サンプル
CREATE TABLE TEST_5
(identifier INTEGER NOT NULL,
name VARCHAR(10) NOT NULL,
birthday DATE ,
PRIMARY KEY (identifier));
注意点
- DDL上で制約条件(上記サンプルの" VARCHAR(10)" など)を記載しても、動的データモデリングでその制約は反映されません。続くステップにて、EBX上でデータモデル作成後に制約条件を付加する必要があります。
作成したファイルのインポートとXSDファイルの生成
ファイルのインポート
上記手順でファイルを作成後、EBXに動的データモデリングのメニューからインポートします。動的データモデリングのメニューは、上部メニューバーの[管理]>[統合]>[動的データモデリング]にあります。
[データモデル]メニューで新規レコードを作成、[保存]します。(レコード作成時、[コード]および[名称]の入力を求められますが、EBX上に作成するデータモデルの物理名や論理名とは無関係の値となります。)
画面左上の[サービス]から[ファイルから作成]を選択します。
[ファイルを選択]から作成したファイルを選択の上、画面右下のインポートを押下します。ファイルの拡張子についてはEBXが自動認識します。XMLをインポートする場合は、次項「XMLのインポートについて」をご参照ください。
作成したファイルをインポートした後、認識されたテーブルやフィールドは、画面左の[テーブル]、[フィールド]の各メニューから確認できます。
各テーブルや各フィールドの物理名やデータ型等を変更したい場合は、それぞれのメニューから変更したいテーブルまたはフィールドを選択し、当該項目の編集を行います。編集可能な項目とその説明は下表のとおりです。
| 項目 | 内容 |
|---|---|
| XSD名 | 最終ステップにてEBX上でデータモデルを作成した際の、テーブルまたはフィールドの物理名に相当します。物理名はEBXのデータモデル編集画面上では変更ができないため、必要な場合はこの時点で変更してください。 |
| 型(フィールドのみ) | フィールドの型を設定します。特に、Excel①やXMLでデータモデルを作成した際には、すべてString型となっているため、変更が必要になります。 |
| 主キー(フィールドのみ) | 主キーであるかを選択します。EBX上でデータモデルを作成した後にも主キーの変更は可能です。 |
| ラベルおよび説明 | テーブルまたはフィールドのラベル(=論理名)と説明書きを設定します。ラベルについては、インポートしたファイル上のフィールド名が各ロケール(フランス語や英語)の欄にもデフォルトで設定されています。 |
| XSDパス |
テーブルやフィールドをグルーピングする際に利用できます。記載方法は下図をご覧ください。 |
XSDパスの編集
XMLのインポートについて
XMLをインポートした場合、下図のようにエレメントの種類選択する画面が表示されます。XMLでの作成方法の項目で記載の通り、フィールドとして作成したタグはフィールドで固定となります。それ以外のエレメントについては、テーブルまたはグループを指定します。
注意点
- 配下にテーブル、フィールドのいずれも含まないグループは、最終的にEBXのデータモデルへ反映する際には削除されます。
- あるエレメントをテーブルとして指定した場合には、そのエレメントと同等または上位の階層のエレメントについては、下記の通りとなります。
- テーブルとして指定は不可。グループとしてのみ選択可
- フィールドはデータモデルから除外
XSDファイルの生成
EBXにファイルをインポートした後は、これを再度XSDファイルとしてエクスポートし、EBX上のデータモデルにインポートします。
[動的データモデリング]内の[データモデル]より、ファイルをインポートしたレコードを選択し、[アクション]>[XSDの生成]を実行します。
ブラウザからファイルのダウンロードが始まり、「ダウンロード」という名称のファイルがお使いのPCに格納されます。このファイルはそのままの状態では拡張子が認識されないため、ファイル名を編集して「.xsd」を末尾に付与してください。(ファイル名を「ダウンロード」から変えていただいても問題はありません。)
EBXの上部メニューバーから[データモデル]メニューへと移動し、動的データモデリングで作成したデータモデルを反映したいデータモデルを選択後、上記で生成したXSDファイルをインポートします。
インポート後は、UIからのデータモデル作成手順と同様に、外部キー、最大長などの制約を付与してください。