Visual Database Tools の F1 ...


SQL Server 2008 オンライン ブック (2009 年 7 月)
[外部キーのリレーションシップ] ダイアログ ボックス (Visual Database Tools)

このダイアログ ボックスを使用すると、データベースのテーブル間のリレーションシップを作成または変更できます。外部キー リレーションシップにおいて、FOREIGN KEY 制約を設定すると、PRIMARY KEY 制約または UNIQUE 制約との連動により、指定されたテーブル間の参照整合性を強制できます。たとえば、Order_Details テーブルの ProductID 列に FOREIGN KEY 制約を設定することで、この列に入力される値と Products テーブルの ProductID 列にある既存の値との一致を確保できるようになります。

ms177288.note(ja-jp,SQL.100).gifメモ :
テーブルをレプリケーション用にパブリッシュする場合は、ALTER TABLE という Transact-SQL ステートメントか SQL Server 管理オブジェクト (SMO) を使用して、スキーマを変更する必要があります。テーブル デザイナまたはデータベース ダイアグラム デザイナを使用してスキーマを変更すると、テーブルの削除および再作成が試行されます。パブリッシュされたオブジェクトは削除できないので、スキーマの変更は失敗します。

このダイアログ ボックスを表示するには、外部キーが設定されているテーブルのテーブル定義を開き、テーブル定義グリッドを右クリックして、[リレーションシップ] をクリックします。

オプション

[選択されたリレーションシップ]

既存のリレーションシップを一覧表示します。右側のグリッドにプロパティを表示するリレーションシップを選択します。この一覧が空の場合、テーブルにはリレーションシップがまったく定義されていません。

[追加]

新しいリレーションシップを作成します。リレーションシップを有効にする前に、[テーブルと列の指定] を設定する必要があります。

[削除]

[選択されたリレーションシップ] ボックスの一覧で選択したリレーションシップを削除します。追加したリレーションシップをキャンセルするには、このボタンを使用してリレーションシップを削除します。

[全般] カテゴリ

展開して [作成時または再度有効化するときに既存データを確認] および [テーブルと列の指定] を表示します。

[作成時または再度有効化するときに既存データを確認]

制約を作成した時点、または制約を再度有効にした時点よりも前からテーブルに存在しているすべてのデータについて、その制約に対して検証します。

[テーブルと列の指定] カテゴリ

展開すると、リレーションシップの外部キーおよび主キー (一意キー) として、どのテーブルのどの列が機能しているかわかります。これらの値を編集または定義するには、プロパティ フィールドの右にある省略記号ボタン ([...]) をクリックします。

[外部キーの基本テーブル]

選択したリレーションシップで、どのテーブルが外部キーとして機能する列を含んでいるかを示します。

[外部キー列]

選択したリレーションシップで、どの列が外部キーとして機能しているかを示します。

[主/一意キーの基本テーブル]

選択したリレーションシップで、どのテーブルが主キー (一意キー) として機能する列を含んでいるかを示します。

[主/一意キー列]

選択したリレーションシップで、どの列が主キー (一意キー) として機能しているかを示します。

[IDENTITY] カテゴリ

展開して [オブジェクト名] および [説明] のプロパティ フィールドを表示します。

[オブジェクト名]

リレーションシップの名前を表示します。新しいリレーションシップを作成した場合、このプロパティには、テーブル デザイナのアクティブ ウィンドウのテーブルに基づいて、既定の名前が設定されます。名前はいつでも変更できます。

[説明]

リレーションシップの説明です。より詳細な説明を記述する場合は、[説明] をクリックしてから、プロパティ フィールドの右に表示される省略記号 ([...]) をクリックします。これにより、テキストを書くことができる領域が大きくなります。

[テーブル デザイナ] カテゴリ

展開して [作成時または再度有効化するときに既存データを確認] および [レプリケーションに対して適用] に関する情報を表示します。

[レプリケーションに対して適用]

レプリケーション エージェントがこのテーブルに対して挿入、更新、または削除操作を行うときに制約を適用するかどうかを示します。詳細については、「NOT FOR REPLICATION を使用した制約、ID、およびトリガの制御」を参照してください。

[外部キーの制約を適用]

リレーションシップの列のデータに対する変更が、外部キー リレーションシップの整合性に違反しているときに、その変更を許可するかどうかを示します。このような変更を許可する場合には [はい] を、許可しない場合には [いいえ] をクリックします。

[INSERT および UPDATE の指定] カテゴリ

展開して、そのリレーションシップの [DeleteRule の設定] および [UpdateRule の設定] に関する情報を表示します。

[DeleteRule の設定]

外部キー リレーションシップに関連するデータを持つ行をユーザーが削除しようとした場合の処理を指定します。

  • [動作なし]   削除操作が許可されていないことをユーザーに通知するエラー メッセージが出力され、DELETE がロールバックされます。
  • [重ねて表示]   外部キー リレーションシップに関係するデータを含む行がすべて削除されます。論理レコードを使用するマージ パブリケーションにテーブルを含める場合、CASCADE は使用しないでください。論理レコードの詳細については、「論理レコードによる関連行への変更のグループ化」を参照してください。
  • [Null に設定]   テーブルのすべての外部キー列が null 値を使用できる場合、null 値が設定されます。SQL Server 2000 には適用されません。
  • [既定値の設定]   テーブルのすべての外部キー列に既定値が定義されている場合、既定値が設定されます。SQL Server 2000 には適用されません。
[UpdateRule の設定]

外部キー リレーションシップに関連するデータを持つ行をユーザーが更新しようとした場合の処理を指定します。

  • [動作なし]   更新操作が許可されていないことをユーザーに通知するエラー メッセージを出力し、UPDATE がロールバックします。
  • [重ねて表示]   外部キー リレーションシップに関係するデータを含む行がすべて更新されます。論理レコードを使用するマージ パブリケーションにテーブルを含める場合、CASCADE は使用しないでください。論理レコードの詳細については、「論理レコードによる関連行への変更のグループ化」を参照してください。
  • [Null に設定]   テーブルのすべての外部キー列が null 値を使用できる場合、null 値が設定されます。SQL Server 2000 には適用されません。
  • [既定値の設定]  テーブルのすべての外部キー列に既定値が定義されている場合、その列に定義されている既定値が設定されます。SQL Server 2000 には適用されません。
参照

その他の技術情報

テーブル間にリレーションシップを作成する方法 (Visual Database Tools)
参照整合性の概要 (Visual Database Tools)
リレーションシップの使用 (Visual Database Tools)
キーの使用 (Visual Database Tools)

ヘルプおよび情報

SQL Server 2008 の参考資料の入手
タグ :


Page view tracker