参照動作(CASCADE・RESTRICT・SET NULL)とは?さんしょうどうさかすけーどりすとりくとせっとぬる
参照動作(CASCADE・RESTRICT・SET NULL)とは、参照される側の行が削除・更新されたときに、参照する側をどう扱うかの指定。CASCADEは子行も連鎖して削除・更新、RESTRICT(NO ACTION)は子行があれば操作を拒否、SET NULLとSET DEFAULTは子の外部キー列をNULLや既定値に置き換える。
最終更新:2026-10-07
高度試験の午前Iを最短で暗記する →具体例
受注ヘッダと受注明細のように親が消えたら子も無意味になる関係はCASCADEが自然。逆に顧客と受注は、顧客を消しても受注履歴を残す必要があるためRESTRICTにして論理削除フラグで運用する。部署と社員なら異動待ちを表すSET NULLが合う。
試験での引っ掛け
CASCADEは連鎖が何段にも波及するため、1行の削除が想定外の大量削除やロック待ちを招く。また外部キー列にNOT NULLが付いているとSET NULLは実行時エラーになるので、制約の組合せを確認する必要がある。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。