参照整合性

From Wikipedia, the free encyclopedia

参照整合性が強制適用されていない関係データベースの例。この例では、アルバム関係変数 (アルバムテーブル) の外部キー (artist_id) の値に存在しないアーティストを参照しているものがある。換言すれば、外部キーの値に、対応する被参照関係変数の主キーが存在しないものがある。ここで何が起こっているかというと、"Aerosmith" と呼ばれるアーティストが artist_id が "4" で存在していたが、このアーティストがアーティスト関係変数から削除されてしまったのである。しかし、アルバム "Eat the Rich" はこのアーティストを参照している。参照整合性が強制適用されれば、このようなことは起こり得ず未然に防がれる。

参照整合性 (さんしょうせいごうせい、: referential integrity) は、コンピュータ関係データベース関係モデルにおいて2つの関連しあった関係変数 (表、テーブル) の間の一貫性 (データ完全性) をいう。 参照整合性は、多くの場合、主キーもしくは主キー以外の候補キーと、外部キーの、組み合わせにより、強制適用される。 参照整合性が強制適用されると、外部キーが宣言された関係変数の外部キーを構成する属性 (列、カラム) の値は、その関係変数の親となる関係変数の主キーの値もしくは主キー以外の候補キーの値として存在しなければならない。 例えば、別の関係変数の外部キーにより参照されている組 (タプル、行) を削除することは、参照整合性を破壊してしまうことになるため、関係データベース管理システム (RDBMS) は参照整合性を保つべく通常は削除の実行を阻止する。 例外として、参照している外部キーを含む組を連鎖して削除することを伴って、削除を実行できる場合があり、この場合は参照整合性が保たれる。 外部キーにより参照されている組を削除することができるかどうかは、データ定義言語 (DDL) による参照整合性制約の定義により定義される。

関連項目

Related Articles

Wikiwand AI