# フォワードエンジニアリング

モデルの情報を元にデータベースオブジェクトを生成する画面です。

■ 共通部分

項目名 | 説明
--- | ---
生成 | フォワードエンジニアリングを開始します。
SQL出力 | データベースオブジェクトを生成する SQL スクリプトをファイルに出力します。
プレビュー | データベースオブジェクトを生成する SQL スクリプトを画面に表示します。
キャンセル | 画面を閉じます。
ヘルプ | ヘルプ画面を開きます。

■ 選択タブ

選択タブでは、対象となるモデルオブジェクトの選択を行います。

項目名 | 説明
--- | ---
オブジェクトリスト | ユーザーリストでチェックされたユーザーが所有するデータベースオブジェクトが一覧表示されます。 フォワードしたいオブジェクトのチェックボックス欄をマウスクリック、またはオブジェクトを選択した後にSpaceキーを押すと、フォワード処理の対象にできます。 ※表示対象モデルが「論理モデルのみ」のオブジェクトについては、フォワードエンジニアリングの対象にならない為、ここには表示されません。
プロシージャ | プロシージャをフォワード対象にします。 チェックのON/OFFにてオブジェクトの選択状況がリセットされます。
ファンクション | ファンクションをフォワード対象にします。 チェックのON/OFFにてオブジェクトの選択状況がリセットされます。
トリガー | トリガーをフォワード対象にします。 ※定義したエンティティがフォワード対象外の場合はフォワード対象から除外されます。
DBマッピング | フォワード対象のDBマッピングを選択します。 選択状態の変更にてオブジェクトの選択状況がリセットされます。 ※モデルオプションのデータベースタイプが「SQL Server・マルチDB」選択時に有効です 。
全て選択 | オブジェクトリストに表示されている全てのオブジェクトをフォワード対象にします。
全て選択解除 | オブジェクトリストに表示されている全てのオブジェクトをフォワード対象外にします。
オブジェクト名一括変換 | オブジェクト名一括変換画面を展開します。 フォワードエンジニアリング前にスキーマなどの変更を行えます。

■オプショタブ

オプションタブでは、フォワードエンジニアリングを行う際の詳細設定を行います。

項目名 | 説明
--- | ---
テーブルコメントの 設定方法 | データベーステーブルのコメント情報にセットする内容を指定します。 定義情報をセット… エンティティ定義（エンティティの説明文）をセットします。 論理名をセット… エンティティの名称（論理名）をセットします。 論理名と定義情報をセット（改行コード区切り）… エンティティの名称（論理名）とエンティティ定義（エンティティの説明文）の両方をセットします。 2つの情報の間には、改行コードが挿入されます。 論理名と定義情報をセット（区切り文字指定）… エンティティの名称（論理名）とエンティティ定義（エンティティの説明文）の両方をセットします。 2つの情報の間には、指定された区切り文字が挿入されます。 セットしない… コメントをセットしません。
カラムコメントの 設定方法 | データベーステーブルのカラムコメント情報にセットする内容を指定します。 定義情報をセット… 属性定義（属性の説明文）をセットします。 論理名をセット… 属性の名称（論理名）をセットします。 論理名と定義情報をセット（改行コード区切り）… 属性の名称（論理名）と属性定義（属性の説明文）の両方をセットします。 2つの情報の間には、改行コードが挿入されます。 論理名と定義情報をセット（区切り文字指定）… 属性の名称（論理名）と属性定義（属性の説明文）の両方をセットします。 2つの情報の間には、指定された区切り文字が挿入されます。 論理名とコード定義情報をセット（改行コード区切り）… 属性の名称（論理名）とコード定義の定義内容（定義の説明文）の両方をセットします。 2つの情報の間には、改行コードが挿入されます。 論理名とコード定義情報をセット（区切り文字指定）… 属性の名称（論理名）とコード定義の定義内容（定義の説明文）の両方をセットします。 2つの情報の間には、指定された区切り文字が挿入されます。 セットしない… コメントをセットしません。
インデックスの出力 | データベーステーブルにインデックスを作成する場合にチェックを入れます。 主キー… エンティティの主キー情報を元に、テーブルに主キー制約を作成します。 外部キー (FK)… リレーションシップ情報を元に、テーブルに外部キー制約（参照整合性制約）を作成します。 ※「物理モデルのみ」または「論理・物理モデル」のリレーションシップの場合のみ有効となります。「論理モデルのみ」のリレーションシップの場合は当オプションがONでも外部キー制約のDDLは生成されません。 索引… エンティティの二次キー情報を元に、重複不可制約やインデックスを作成します。
エクステント 情報の出力 | テーブルやインデックスの作成時に、データ格納領域の情報を付加する場合にチェックを入れます。 各チェック項目は、CREATE TABLE / CREATE INDEX 文の STORAGE 句にあるパラメータを示します。 ※この機能は、Oracle データベースを使用するデータモデルでのみ有効となります。
名前を 引用符で囲む | データベースオブジェクトの名称を二重引用符（”）で囲みます。 ※このチェックが入っていない状態でも、必要と判断されたオブジェクト名については自動的に二重引用符が付加されます。 (オブジェクト名にハイフン等　の特殊記号が含まれている場合等)
DROP文を 出力する | オブジェクトを生成する SQL スクリプトの前に、そのオブジェクトを削除する DROP 文を付加します。 既存のデータベースのオブジェクトを入れ替える場合に使用します。 ※DROP 前のデータは退避されませんので、必要なデータは事前にバックアップを取る必要があります。
スキーマ名を 出力する | データベースオブジェクトの名称にスキーマ(所有者)を付加します。
プリSQL/ポストSQLを 出力する | テーブルやビューオブジェクト作成用 SQL 文の前後に、それぞれのオブジェクトの[プリSQL/ポストSQL]タブで指定した SQL 文を挿入します。
表領域の CREATE 文を 出力する | スプリプトの最初に、表領域作成用の SQL 文を付加します。 ※この機能は、Oracle、SQL Server データベースを使用するデータモデルでのみ有効となります。 また、Autonomous Transaction Processingに接続している場合、権限不足により表領域のフォワードが行えません。
同時にInsert文を 実行する | フォワード時にインサート文のスクリプトを実行する際にチェックを入れます。 取込ファイル… インサート文が記述されたファイルパスを指定します。
オブジェクトごとに ファイルを分ける | チェックを入れた場合、テーブル、ビュー、プロシージャ、ファンクション、トリガーごとにSQLが出力されます。