参照制約(外部キー制約)

主にリレーショナルデータベースの操作において整合性を保つためのルールのことを言います。

外部キーの制約

学生の表に外部キー(学年)が設定されていたとします。この参照先の表、学年表の学年列は主キーになっている必要があるという制約です。

この時参照先の主キーは必ず存在しなければなりません。

更新、削除時の動き

参照先の表(学年表)に更新や削除の動作が加わった時、参照元の表(学生表)がどのような動きをするのかは定義することができます。

CASCADE

CASCADEを設定すると参照元(学生表)の行が更新、削除された際には、それに関連する外部キーを持つ行も更新、削除されます。

SET NULL

SET NULLを設定すると参照元(学生表)が削除された時、それに関連する外部キーの値はNULLに設定されます。

RESTRICT

RESTRICTを設定すると参照先(学年表)で主キーを更新、削除をしようとした際に参照元(学生表)に外部キーが存在すれば更新、削除を制限する動きになります。

NO ACTION

参照制約違反が発生した際には何もアクションを取らずそのままトランザクションが失敗する動きになります。

これら定義の詳細な動きはDBによっても多少変わることがありそうですので、それぞれのDBで動作検証が必要そうです。


投稿日

カテゴリー:

,

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)