# エンティティエディタ

エンティティ の情報や構成要素を編集する画面です。

■ 共通部分

| 項目名 | 説明
--- | --- | ---
| 登録 | 編集中の情報を登録し、画面を閉じます。
| 生成 | データ生成ツール を開き、エンティティに対応した実データテーブルにデータを自動生成します。
| 削除 | 現在開いているエンティティを削除します。
| 戻す | 各情報を、編集前の状態に戻します。
| 終了 | 編集作業を中断し、画面を閉じます。
| エンティティ名 | エンティティの名称(論理名)を入力します。 一つのモデル内で重複しない名称を、必ず入力する必要があります。
| テーブル名 | エンティティをテーブルとしてみた場合の名称(物理名)を入力します。 スキーマと合わせて一つのモデル内で重複しない名称を、必ず入力する必要があります。
| スキーマ | エンティティをデータベースにテーブルとして適用する際の、スキーマを指定します。 未入力の場合は、データベース接続ユーザーのスキーマにテーブルを生成します。
| DBマッピング | エンティティをデータベースにテーブルとして適用する際の、DBマッピングを指定します。 ※モデルオプションのデータベースタイプが「SQL Server・マルチDB」選択時に入力できます。

■ 属性タブ

属性タブでは、エンティティを構成する 属性 を追加・編集・削除することができます。

| 項目名 | 説明
--- | --- | ---
| 追加 | 選択中の属性の上に新しい属性を追加します。
| 削除 | 選択中の属性を削除します。
| 上移動 | 選択中の属性を一つ上に移動します。
| 下移動 | 選択中の属性を一つ下に移動します。
| ドメイン | ドメインエディタを開きます。
| デフォルト | デフォルトエディタを開きます。
| 制約 | 制約エディタを開きます。
| 検索 | 属性名/カラム名での検索ができます。 リストからどちらかを選び、検索対象文字列をテキストに入力します。 虫眼鏡アイコンで、テキストに入力されている文字が一番最初に見つかった行に移動します。 下矢印アイコンで下方向、上矢印アイコンで上方向に検索を行います。
| 上へ | 上方向に検索を行います。
| 下へ | 下方向に検索を行います。
| 属性切替 | 該当属性の表示レベル(論理/物理)を切り替えます。 ボタン押下のたびに　論理→物理→通常→論理…と、順番に切り替わります。
| 属性編集 グリッド | このグリッド内で属性の情報を編集します。 項目を選択した後にマウスクリック、または[F2]キーを押すと、それぞれの値を編集できるようになります。 ※ドメインの定義を途中で変更した場合、ドメインを使用していた各属性の データ型、長さ、必須、デフォルト値、制約は変更した設定で上書き映されます。 ただし、あらかじめ属性の定義をドメインの設定値と異なる値に変更していた場合は、ドメインの情報は反映されません。 主キー… 主キーとして使用する属性を指定します。 複数の属性を選択した場合は、選択した属性の並び順に応じた複合キーが作成されます。 (複合キーの順番を変更したい場合は、インデックスタブから主キーを編集して下さい) ※主キーとして選択された属性は、必ず必須項目になります。 ※主キーと代理キーを同時選択することはできません。 代理キー… 代理キーとなる属性を指定します。 代理キーとは、「レコードを一意に識別できるが、主キーにはしない属性」のことです。 本設定はER図上のみの管理情報となります。インデックスの生成など、代理キーの設定が物理データベース側に反映されることはありません。 ※この項目はモデルのプロパティで「代理キーを表示する」オプションをONにした場合のみ表示されます。 ※代理キーとして選択された属性は、必ず必須項目になります。 ※主キーと代理キーを同時選択することはできません。 属性名… 属性の名称(論理名)を入力します。 一つのエンティティ内で重複しない名称を入力する必要があります。 その属性が外部キー項目の場合は、属性名の横に (FK) と表示されます。 カラム名… 属性をカラムとしてみた場合の名称(物理名)を入力します。 一つのエンティティ内で重複しない名称を、必ず入力する必要があります。 ドメイン… 属性の ドメイン を指定します。 編集中にセルの右側に表示されるボタンをクリックするとドメイン選択リストが表示されます。 (新規作成)を指定すると、ドメインの新規作成画面を表示します(現在編集中の属性の情報が初期値として設定されます)。 また、ドメイン名を指定すると、データ型、長さ、必須、デフォルト値、制約欄は、ドメインの情報が反映されます。 データ型… 属性のデータ型を入力します。 長さ… 属性の長さと精度をカンマで区切って入力します。 精度を必要としないデータ型については、長さの入力のみを行います。 必須… 必須項目として使用する属性を指定します。 デフォルト値… 属性のデフォルト値を入力します。 編集中にセルの右側に表示されるボタンをクリックすると、デフォルト値選択リストが表示されます。 ※対象データベースが SQL Server の場合、ここで Identity オプションの指定が可能です。 ※対象データベースが MySQL の場合、ここで AUTO_INCREMENT オプションの指定が可能です。 制約… 属性の列制約を入力します。 編集中にセルの右側に表示されるボタンをクリックすると、制約選択リストが表示されます。 「@（半角アットマーク）」 を指定することによってフォワード時に設定した列名に置換することができます。(例：@ IN (1,2)) ※データベースがMｙSQLの場合かつ、データ型が「ENUM」「SET」の場合は、デフォルトで「('Y','N')」が設定されます。 (MySQLでは制約欄をENUM,SETの構成要素として使用します。)| 定義内容… 属性に対する説明を入力します。 編集中にセルの右側に表示されるボタンをクリックすると、コメント入力画面が表示されます。 コード定義… 属性のコード定義を指定します。 編集中にセルの右側に表示されるボタンをクリックすると、コード定義選択リストが表示されます。 ※ここで定義した内容は、CHECK制約としてCREATE文に付加されます。 コード定義による制約がある場合は、グリッド上の 制約欄が濃い黄色で塗りつぶされます。 照合順序… 属性の照合順序を指定します。 編集中にセルの右側に表示されるボタンをクリックすると、照合順序選択リストが表示されます。

■ 定義タブ

定義タブでは、対象となるモデルの選択や、エンティティの定義情報を編集することができます。

項目名 | 説明
--- | ---
対象モデル | エンティティの 表示対象モデル を指定します。
エンティティの 説明 | エンティティに対する説明を入力します。

■ インデックスタブ

インデックスタブでは、エンティティに従属するインデックスを追加・修正・削除することができます。

| 項目名 | 説明
--- | --- | ---
| 修正 | インデックスエディタ を開き、選択中のインデックス情報を表示します。
| 追加 | 新しいインデックスを追加します。
| 削除 | 選択中のインデックスを削除します。
| インデックス リスト | エンティティに従属するインデックスが一覧表示されます。 ここで任意のインデックスをダブルクリック、またはインデックスを選択後にEnterキーを押すと、そのインデックスを インデックスエディタ で開きます。 また、インデックスを選択後にDeleteキーを押すと、そのインデックスを削除できます。

■ リレーションシップタブ

リレーションシップタブでは、エンティティに従属するリレーションシップを修正・削除することができます。

| 項目名 | 説明
--- | --- | ---
| 修正 | リレーションシップエディタ を開き、選択中のリレーションシップ情報を表示します。 これは、対象となるリレーションシップをダブルクリック、またはリレーションシップを選択した後にEnterキーを押しても同様です。
| 削除 | 選択中のリレーションシップを削除します。 これは、対象となるリレーションシップを選択した後に[Delete]キーを押しても同様です。
| リレーション リスト | ウィンドウの上段には自エンティティに従属しているエンティティ(子エンティティ)のリレーションシップが、 下段には自エンティティが従属しているエンティティ(親エンティティ)のリレーションシップが、 それぞれ表示されます。 ここで任意のリレーションシップをダブルクリック、またはリレーションシップを選択後にEnterキーを押すと、そのリレーションシップを リレーションシップエディタ で開きます。 また、リレーションシップを選択後にDeleteキーを押すと、そのリレーションシップを削除できます。

■ オプションタブ

オプションタブでは、ストレージエンジンを指定します。

※ このタブは、MySQL データベースを使用する場合にのみ表示されます。

■ 領域情報タブ

領域情報タブでは、エンティティをテーブルとしてデータベースに適用する際の、領域情報を編集することができます。
領域タイプには、Oracle データベースの場合、「標準」「パーティション」「コンポジットパーティション」「一時表」、
SQL Server データベースの場合、「標準」「パーティション」の指定が可能です。
その他のパラメータについては、データベーステーブルのエクステント情報に準拠します。

※このタブは、Oracle、SQL Server データベースを使用する場合にのみ表示されます。

■ 制約タブ

制約タブでは、エンティティをテーブルとしてみた場合の、表制約を編集することができます。

| 項目名 | 説明
--- | --- | ---
| 追加 | 選択中の制約の上に新しい制約を追加します。
| 削除 | 選択中の制約を削除します。
| 制約編集 グリッド | このグリッド内で属性の情報を編集します。 項目を選択した後にマウスクリック、または[F2]キーを押すと、それぞれの値を編集できるようになります。 名前… 制約の名称を入力します。一つのエンティティ内で重複しない名称を入力する必要があります。 未入力の場合はデータベースへの反映時に自動で名称がつけられます。 制約式… 制約の式を入力します。 遅延… 表制約を、[遅延制約]としてデータベースに実装する場合にチェックを入れます。|

■ DDLタブ

DDLタブでは、エンティティをテーブルオブジェクトとしてデータベースにフォワードする際の、DDL 文 ( CREATE TABLE 文 ) を表示します。

項目名 | 説明
--- | ---
DDL文 | テーブルを作成する SQL 文が表示されます。編集は出来ません。

■ プリSQLタブ

プリSQLタブでは、 フォワードエンジニアリング によって出力される、テーブルを作成するDDL文 ( CREATE TABLE 文 ) の、直前に実行したい SQL 文を任意入力します。

項目名 | 説明
--- | ---
SQL文 | CREATE TABLE 文の前に実行したい SQL 文を入力します。 置き換え変数の利用が可能です。（「@OBER_SCHEMA」「@OBER_TABLE」と記述することで出力時にオブジェクト名に変換されます。）

■ ポストSQLタブ

ポストＳＱＬタブでは、 フォワードエンジニアリング によって出力される、テーブルを作成するDDL文 ( CREATE TABLE 文 ) の、直後に実行したい SQL 文を任意入力します。

項目名 | 説明
--- | ---
SQL文 | CREATE TABLE 文の後に実行したい SQL 文を入力します。 置き換え変数の利用が可能です。（「@OBER_SCHEMA」「@OBER_TABLE」と記述することで出力時にオブジェクト名に変換されます。）

■ トリガータブ

トリガータブでは、エンティティに従属するトリガーを追加・修正・削除することができます。

| 項目名 | 説明
--- | --- | ---
| 修正 | トリガーエディタ を開き、選択中のトリガー情報を表示します。
| 追加 | 新しいトリガーを追加します。
| 削除 | 選択中のトリガーを削除します。
| トリガー リスト | エンティティに従属するトリガーが一覧表示されます。 ここで任意のトリガーをダブルクリック、またはトリガーを選択後にEnterキーを押すと、そのトリガーを トリガーエディタ で開きます。 また、トリガーを選択後にDeleteキーを押すと、そのトリガーを削除できます。

■ IM列ストアタブ

IM列ストアの設定を行います。
表にIM列ストアを設定する場合は「【IM列ストア】表単位 」にチェックを入れてください。
列にIM列ストアを設定する場合は「【IM列ストア】表単位 」にチェックを入れた状態で、「【IM列ストア】列単位」にチェックを入れて、 列グリッドの使用 列にチェックを入れてください。

各設定値に「未指定」を選択した場合は該当項目についてのSQL文は発行されません。
また、各設定値には無効な設定値も含まれています。
詳細についてはOracleリファレンスを参照してください。

「【IM列ストア】列単位」にあるツールボタンはそれぞれ次の機能があります。

項目名 | 説明
--- | ---
全選択 | [使用]列を全て選択状態にします。
全解除 | [使用]列を全て未選択状態にします。
圧縮方法 | 圧縮方法を選択します。
一括適用 | 全[圧縮]列に[圧縮方法]で指定した値を適用します。

※IM列ストアはOracle12.1.0.2以降のみ使用可能です。
IM列ストアの使用については IM列ストアの使用について を参照してください。

※「【IM列ストア】列単位」は V$IM_COLUMN_LEVEL が参照できるユーザーのみ使用可能です。
リバースエンジニアリング、データベース同期で V$IM_COLUMN_LEVEL が使用されます。

■ 下段のタブ

エンティティを複数指定してエンティティエディタを開いた場合、下段に各エンティティ名のタブが現れます。
このタブを切り替えることによって、複数のエンティティを同時に参照することが可能です。