キーの作成と編集

提供: ER/Studio Data Architect
移動先: 案内検索

論理モデルの作成 への移動

データベースにおけるキーの目的は、エンティティ内の値を一意に保ち、テーブルをソートする手段を提供して、エンティティ データへのアクセスを高速化することです。

リレーショナル データベースには、4 種類のキーがあります。

  • 主キー: 主キー、またはユニーク キーは、テーブル内の各行を一意に識別するための候補キーです。主キーは、1 つのカラム、または複数のカラムから構成されます。これらのカラムでは、テーブル内の異なる 2 つの行に同一の値(または値の組み合わせ)を持つことはできません。設計に応じて、1 つのテーブルには複数のユニーク キーを作成でき、その中の 1 つを主キーに指定できます。ユニーク キーは、テーブルの既存の行、および今後追加される可能性のある行のすべてを一意に識別できる必要があります。たとえば社会保障番号はユニーク キーにすることができます。ユニーク キーは、ある特定の場合に主キーとなります。すなわち、ユニーク キーでは NOT NULL 制約は自動的に適用されませんが、主キーでは適用されます。ユニーク キーを構成するカラムの値は、NULL であっても構いません。ユニーク キーと主キーは、外部キーによって参照することができます。
  • 代替キー: 代替キーは、物理モデルでのユニーク インデックスまたはユニーク制約と同等です。代替キーは、ユニーク インデックスまたはユニーク制約として実装できます(データベース プラットフォームに依存)。
  • 逆方向エントリ: エンティティ内のすべてのインスタンスを一意に識別することはできない属性または属性セットです。しかし、しばしばデータ アクセスに用いられます。データベースでは、逆方向エントリを非ユニーク インデックスとして実装します。
  • 外部キー: 他の属性から継承された、主キーまたは非キー属性です。

ER/Studio Data Architect では、データベースからのリバース エンジニアリングにより、主キーまたはユニーク制約以外のキー定義を取り込むことができます。エンティティ エディタからアクセスできるキー エディタを使用して、主キー、逆方向エントリ、または代替キーを作成できます。

詳細については、次のリンクを参照してください。

主キーの作成

  1. モデル エクスプローラで、論理[メイン モデル][エンティティ]ノードを展開して、キーを追加するエンティティをダブルクリックします。
  2. 既存の属性を主キーに変更するには、[エンティティ エディタ]で、キーを作成する属性をクリックして[編集]をクリックします。

新しい属性から主キーを作成するには、[エンティティ エディタ][追加]をクリックし、必要なエンティティ プロパティを定義します。

  1. [属性]タブで、[主キー]チェック ボックスをオンにします。次に[OK]をクリックして、[エンティティ エディタ]を閉じます。

代替キーまたは逆方向エントリの作成

  1. モデル エクスプローラで、論理[メイン モデル][エンティティ]ノードを展開して、キーを追加するエンティティをダブルクリックします。
  2. 既存の属性のプロパティを変更するには、[エンティティ エディタ]で、キーを作成する属性をクリックして[編集]をクリックします。

新しい属性から代替キーまたは逆方向エントリを作成するには、[エンティティ エディタ][追加]をクリックし、必要なエンティティ プロパティを定義します。

  1. [キー]タブで、[追加]をクリックします。
  2. [キー エディタ]で、キーの名前を入力して、作成するキー タイプをクリックします。
  3. [利用可能なキー]に表示された、エンティティのすべての属性一覧から、キーに追加する属性をダブルクリックします。
  4. 属性の順序を変更するには、属性を選択してから[上へ]または[下へ]をクリックして、[選択したキー]の一覧で、属性が希望の位置にくるようにします。
  5. [OK]をクリックして、属性の選択を確定します。再度[OK]をクリックし、変更をエンティティに反映します。

[アタッチメントのバインド]タブ: アタッチメント(外部情報)をキーにバインドします。また、オブジェクトからアタッチメントを削除したり、アタッチメントのバインドのデフォルト値を上書きしたり、バインドされたアタッチメントの位置を変更することもできます。選択したアタッチメントのグリッド(画面の右側)に移動したアタッチメントの値をオーバーライドするには、対象となるアタッチメントの[値]フィールドをダブルクリックします。アタッチメントのデータ型に応じて、[上書き値エディタ]またはリスト ボックスが表示されます。アタッチメントは、[データ ディクショナリ]タブの[アタッチメント]フォルダに作成されます。詳細は、「データ モデルへの外部ドキュメントの関連付け」を参照してください。

Notepad blue icon 2.pngメモ:

  • 物理モデルまたは SQL の生成時に、キーを実装しないように設定するには、[キー]タブの[論理のみ]チェック ボックスをオンにします。
  • 外部キー属性のプロパティを修正するには、親テーブルの対応する主キー カラムを変更する必要があります。
  • ドメインの一貫性を維持するため、ER/Studio Data Architect では基本情報のうち外部キーのカラム名しか変更できません。外部キー カラムのその他のプロパティを修正するには、親テーブルの対応する主キー カラムを変更する必要があります。

外部キー/リレーションシップの作成

エンティティ間にリレーションシップを確立すると、外部キーが作成されます。親オブジェクトの主キーは、子オブジェクトの外部キーになります。モデルの表記法に[IE(外部キー非表示)]を使用している場合、外部キーは、モデル ウィンドウのエンティティ ボックスには表示されません。他のすべての表記法では、外部キーが表示されます。詳細は、「リレーションシップの操作」を参照してください。

外部キーの属性名およびデータ型の指定

デフォルトで、外部キーは親オブジェクトの主キーから名前を継承します。ただし、論理ロール名を使用すると、外部キーに別の名前を付けることができます。

  1. 外部キーの名前を変更するエンティティをダブルクリックします。
  2. [属性]タブの一覧から外部キーを選択して、[編集]をクリックします。
  3. [論理ロール名]ボックスに名前を入力して、[論理ロール名と物理ロール名のシンクロ]チェック ボックスをオンにします。
  4. [OK]をクリックします。

子エンティティに、外部キーの論理ロール名が表示されます。

同様に、外部キーに別のデータ型を指定することができます。

  1. エンティティをダブルクリックして、[エンティティ エディタ]を開きます。次に、[属性]タブの一覧から外部キーを選択して、[編集]をクリックします。
  2. [外部キー データ型の編集]チェック ボックスをオンにして、エディタ下部の[データ型]タブで、データ型を変更します。
  3. [OK]をクリックします。


関連項目