参照制約とは?
参照制約とは、外部キーの値が、参照先の表に必ず存在することを保証する制約。参照整合性とも呼ぶ。存在しない値の登録を防ぐだけでなく、参照されている行の削除・更新をどう扱うか(拒否する、連鎖する、NULLにする)も定義できる。
高度試験・午前I(全区分共通)の過去問では2回出題されています(2016年度〜2025年度)。
さんしょうせいやく
参照制約の意味
外部キーの値が、参照先の表に必ず存在することを保証する制約。参照整合性とも呼ぶ。存在しない値の登録を防ぐだけでなく、参照されている行の削除・更新をどう扱うか(拒否する、連鎖する、NULLにする)も定義できる。
参照制約の具体例
部署表の「営業部」を削除しようとしたとき、その部署に所属する社員が残っていれば、既定の動作では削除が拒否される。連鎖削除(CASCADE)を指定していれば、所属社員の行も一緒に削除される。
参照制約は試験でどう引っ掛けられる?
「参照している側(子)」と「参照される側(親)」のどちらの操作が制限されるかを取り違えやすい。制限がかかるのは、親の削除・キー更新と、子の挿入・外部キー更新である。
参照制約と関連する用語
参照制約が出た過去問
次の表において,“在庫”表の製品番号に定義された参照制約によって拒否される可能性がある操作はどれか。ここで,実線の下線は主キーを,破線の下線は外部キーを表す。 …
正解:“在庫”表への行追加
要点:参照制約は参照側への追加と被参照側の削除で違反しやすい
参照制約は、外部キーの値が参照先の主キーに存在することを保証する。在庫表の製品番号が製品表を参照しているので、製品表に無い製品番号を持つ行を在庫表へ追加しようとすると拒否される。参照する側への追加と、参照される側からの削除・更新が制約違反になり得る操作である。
出典:平成28年度 春期 高度共通_午前I試験 am1 問9(IPA)SQL文に示す参照制約が存在する"商品"表と"受注"表とがある。"商品"表の行を削除したとき、削除した行の商品コードと同じ値の商品コードをもつ"受注"表の行を自…
正解:CASCADE
要点:ON DELETE CASCADEは親行削除時に子行も連鎖削除
参照制約のON DELETE句には、親表の行削除時の動作を指定する。CASCADEを指定すると、削除された親行を参照している子表の行も連鎖して自動的に削除される。本問は商品の削除に合わせて受注の該当行も消したいのでCASCADEが適切である。
出典:令和7年度 春期 高度共通_午前I試験 am1 問10(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。