DDL変換

<< 目次を表示 >>

ページ位置:  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:

 

 

次の図のように、汎化の関係は親要素への外部キーを持つ子要素になります。テーブルの継承には対応していません。

 

 

 

参照: