参照整合性の概要
参照整合性は、関連テーブルの行の間のリレーションシップが有効であることを保証し、関連するデータを誤って削除したり変更したりしないようにするための、規則の体系です。
注意
SQL Server 2012 形式のデータベースのための新しいバージョンのテーブル デザイナーが表示されます。このトピックでは、SQL Server の以前の形式のデータベースで使用する旧バージョンのテーブル デザイナーについて説明します。
新しいバージョンでは、テーブル定義をグラフィカル インターフェイスから変更することも、スクリプト ペインで直接変更することもできます。グラフィカル インターフェイスを使用すると、スクリプト ペインでのテーブルの定義が自動的に更新されます。スクリプト ペインで SQL コードを適用するには、[更新] ボタンをクリックします。新しいバージョンの詳細については、「方法: テーブル デザイナーを使用してデータベース オブジェクトを作成する」を参照してください。
手順
次の条件がすべて満たされている場合は、参照整合性を設定できます。
主テーブルの対応する列が主キーである、または UNIQUE 制約を設定されている。
外部キー テーブルの関連する列に、同じデータ型とサイズが設定されている。
参照整合性が適用されている場合は、次の規則に従う必要があります。
関連テーブルの主キーに存在していない値は、関連テーブルの外部キー列に入力できません。 ただし、外部キー列に null 値を入力することはできます。 たとえば、employee テーブルに存在しない従業員に仕事を割り当てることはできませんが、employee テーブルの job_id 列に null 値を入力することで、従業員に仕事が割り当てられていないことを示すことはできます。
主キー テーブルの行に対応する行が関連テーブルに存在する場合は、主キー テーブルからその行を削除できません。 たとえば、jobs テーブルのある行で示される仕事に割り当てられている従業員が employee テーブルに存在する場合は、jobs テーブルからその行を削除できません。
主キー テーブルの行に関連付けられた行がある場合は、主キーの値を変更できません。 たとえば、jobs テーブルの行の job_id 値は、employee テーブルの行に同じ job_id を持つ従業員がいる場合は、変更できません。