<< 目次を表示 >> ページ位置: Enterprise Architectの操作 > パッケージ > MDAスタイルの変換 > 定義済みの変換 > DDL変換 |
DDL変換の目的は論理モデルからデータモデルを作成することです。 また、既定のデータベースの種類を割り当てることで、DDLが生成可能な状態でモデルを変換します。
その後、DBMSの種類を指定すれば、DDLをすぐに生成できます。
変換は中間言語を利用して行います。この変換の主な特徴は次の通りです。
詳細
項目 |
説明 |
テーブル |
クラス要素と1対1で対応します。 多対多の関係も変換に対応しています。この場合には、Joinテーブルを生成します。 |
列 |
属性と1対1で対応します。 |
主キー |
含まれるすべての列を確認し、クラスにも含まれる列を確認します。その後、主キーを示す操作を作成します。 |
外部キー |
外部キーは接続を特別にソートしたものです。「ソースとターゲット」のセクションでは、含まれるすべての列を確認し、対象のクラスの主キーとして含まれるものに関連する列を探します。そして、適切な外部キーを示す操作を作成します。 |
既定のマッピングをMDGテクノロジーを利用して指定する
DDL変換において、独自に定義したDBMSが対象の場合には、MDGテクノロジーでPIMモデルからDBMSに変換するためのマッピングを定義しなければなりません。具体的には、XMLファイルを新規に作成し、以下のような内容を作成します。作成後に、該当ファイルを「MDGテクノロジーファイルの読み込み」機能で、利用するマシンに読み込んでください。
<MDG.Technology version="1.0">
<Documentation id="UserdataTypes" name="Userdata Types" version="1.0" notes="DB Type mapping for UserDBMS"/>
<CodeModules>
<CodeModule language="Userdata" notes="">
<CodeOptions>
<CodeOption name="DBTypeMapping-bigint">BIGINT</CodeOption>
<CodeOption name="DBTypeMapping-blob">BLOB</CodeOption>
<CodeOption name="DBTypeMapping-boolean">TINYINT</CodeOption>
<CodeOption name="DBTypeMapping-text">CLOB</CodeOption>
...
</CodeOptions>
</CodeModule>
</CodeModules>
</MDG.Technology>
上の例では、 'text' は「共通の型」で、この値の場合に 'CLOB' 型にマッピングすることを示しています。
注意: |
論理モデルで表現されない、ストアドプロシージャ・トリガ・ビュー・チェック制約などのDBMS固有の観点については、DDL変換を実行した後に返還後のモデルに対して定義します。 |
例
次の2つのダイアグラムは、一般的なPIMから変換を行った例です。
変換前のPIM:
生成されたPSM:
次の図のように、汎化の関係は親要素への外部キーを持つ子要素になります。テーブルの継承には対応していません。
参照: