次の方法で共有


[外部キーのリレーションシップ] ダイアログ ボックス (Visual Database Tools)

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

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

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

オプション

  • [選択されたリレーションシップ]
    既存のリレーションシップを一覧表示します。右側のグリッドにプロパティを表示するリレーションシップを選択します。この一覧が空の場合、テーブルにはリレーションシップがまったく定義されていません。
  • [追加]
    新しいリレーションシップを作成します。リレーションシップを有効にする前に、[テーブルと列の指定] を設定する必要があります。
  • [削除]
    [選択されたリレーションシップ] ボックスの一覧で選択したリレーションシップを削除します。追加したリレーションシップをキャンセルするには、このボタンを使用してリレーションシップを削除します。
  • [全般] カテゴリ
    展開して [作成時または再度有効化するときに既存データを確認] および [テーブルと列の指定] を表示します。
  • [作成時または再度有効化するときに既存データを確認]
    制約を作成した時点、または制約を再度有効にした時点よりも前からテーブルに存在しているすべてのデータについて、その制約に対して検証します。
  • [テーブルと列の指定] カテゴリ
    展開すると、リレーションシップの外部キーおよび主キー (一意キー) として、どのテーブルのどの列が機能しているかわかります。これらの値を編集または定義するには、プロパティ フィールドの右にある省略記号ボタン ([...]) をクリックします。
  • [外部キーの基本テーブル]
    選択したリレーションシップで、どのテーブルが外部キーとして機能する列を含んでいるかを示します。
  • [外部キー列]
    選択したリレーションシップで、どの列が外部キーとして機能しているかを示します。
  • [主/一意キーの基本テーブル]
    選択したリレーションシップで、どのテーブルが主キー (一意キー) として機能する列を含んでいるかを示します。
  • [主/一意キー列]
    選択したリレーションシップで、どの列が主キー (一意キー) として機能しているかを示します。
  • [IDENTITY] カテゴリ
    展開して [オブジェクト名] および [説明] のプロパティ フィールドを表示します。
  • [オブジェクト名]
    リレーションシップの名前を表示します。新しいリレーションシップを作成した場合、このプロパティには、テーブル デザイナのアクティブ ウィンドウのテーブルに基づいて、既定の名前が設定されます。名前はいつでも変更できます。
  • [説明]
    リレーションシップの説明です。より詳細な説明を記述する場合は、[説明] をクリックしてから、プロパティ フィールドの右に表示される省略記号 ([...]) をクリックします。これにより、テキストを書くことができる領域が大きくなります。
  • [テーブル デザイナ] カテゴリ
    展開して [作成時または再度有効化するときに既存データを確認] および [レプリケーションに対して適用] に関する情報を表示します。
  • [外部キーの制約を適用]
    リレーションシップの列のデータに対する変更が、外部キー リレーションシップの整合性に違反しているときに、その変更を許可するかどうかを示します。このような変更を許可する場合には [はい] を、許可しない場合には [いいえ] をクリックします。
  • [INSERT および UPDATE の指定] カテゴリ
    展開して、そのリレーションシップの [DeleteRule の設定] および [UpdateRule の設定] に関する情報を表示します。
  • [DeleteRule の設定]
    外部キー リレーションシップに関連するデータを持つ行をユーザーが削除しようとした場合の処理を指定します。

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

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

参照

その他の技術情報

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

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 4 月 14 日

新しい内容 :
  • マージ レプリケーション用の論理レコードにおける CASCADE の使用に関する制限を記載しました。