参照整合性
参照整合性 (さんしょうせいごうせい、英: referential integrity) は、コンピュータの関係データベースの関係モデルにおいて2つの関連しあった関係変数 (表、テーブル) の間の一貫性 (データ完全性) をいう。 参照整合性は、多くの場合、主キーもしくは主キー以外の候補キーと、外部キーの、組み合わせにより、強制適用される。 参照整合性が強制適用されると、外部キーが宣言された関係変数の外部キーを構成する属性 (列、カラム) の値は、その関係変数の親となる関係変数の主キーの値もしくは主キー以外の候補キーの値として存在しなければならない。 例えば、別の関係変数の外部キーにより参照されている組 (タプル、行) を削除することは、参照整合性を破壊してしまうことになるため、関係データベース管理システム (RDBMS) は参照整合性を保つべく通常は削除の実行を阻止する。 例外として、参照している外部キーを含む組を連鎖して削除することを伴って、削除を実行できる場合があり、この場合は参照整合性が保たれる。 外部キーにより参照されている組を削除することができるかどうかは、データ定義言語 (DDL) による参照整合性制約の定義により定義される。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Referential_integrity_broken.png/250px-Referential_integrity_broken.png)
例
編集社員データベースは社員が属する部署の情報を保持している。 社員関係変数 (社員テーブル) の「部署番号」属性は外部キーとして宣言されており、部署関係変数の主キーとして宣言されている「部署番号」属性を参照している。 ある部署で現に勤務している社員が存在する場合、その部署の情報を部署関係変数から削除することは、参照整合性を破壊することになるため、関係データベース管理システム (RDBMS) により削除の実行は阻止されるであろう (参照整合性制約が連鎖削除を許可していない場合) 。