CASCADE(連鎖動作)とは?カスケード
CASCADE(連鎖動作)とは、親の行が削除・更新されたときに、それを参照している子の行も連動して削除・更新する参照動作の指定。外部キーの定義に ON DELETE CASCADE、ON UPDATE CASCADE のように書く。子がさらに孫を持つ場合、連鎖は多段に伝播する。
最終更新:2026-10-06
この語が出る過去問を解く →背景
親を消すときに子も消す処理をアプリケーション側の手続きで書くと、経路が増えるたびに書き漏らしが生じ、参照先を失った行が静かに残る。宣言としてDBMSに預ければ、どの経路からの削除でも同じ規則が働く。一方で1行の削除が見えないところで大量の行を消すため、どこまで連鎖するかを設計時に把握しておく必要がある。
具体例
PostgreSQLやMySQLで受注明細の外部キーに ON DELETE CASCADE を付けると、受注を1行削除しただけで明細もまとめて消える。明細にさらにログ表がぶら下がっていれば、そこまで連鎖する。
試験での引っ掛け
子側をNULLにするのはSET NULL、既定値に置き換えるのはSET DEFAULT、親の削除自体を拒否するのはRESTRICT/NO ACTION。どれを問われているかを読み違えやすい。実務では削除を残す論理削除を採り、CASCADEを使わない設計も多い。
関連用語
出た過去問
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問11(IPA)
図のような関係データベースの"注文"表と"注文明細"表がある。"注文"表の行を削除すると、対応する"注文明細"表の行が、自動的に削除されるようにしたい。参照制約…
正解:CASCADE
要点:親削除に子も連動させる削除規則はCASCADE
参照制約の削除規則で、親表の行が削除されたときに、それを参照している子表の行も連鎖して削除させる指定がCASCADEである。この設問では注文が親、注文明細が子にあたるので、注文の行を消すと対応する明細も自動的に消える。参照している行があれば削除を拒否する指定はRESTRICTで、これとは逆の動きになる。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの3 技術要素 > 3. データ操作 > (2) データベース言語に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。