CASCADE(連鎖動作)とは?カスケード
CASCADE(連鎖動作)とは、参照制約において、親表の行が削除・更新されたとき、それを参照する子表の行も連動して削除・更新する参照動作の指定。ON DELETE CASCADE/ON UPDATE CASCADEと書き、参照整合性を保ったまま親子の操作を1つの文で完結させる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
参照制約がある表では、子行が残っている親行をそのまま削除できない。かといって制約を外せば、参照先の消えた孤児行が残り集計が合わなくなる。連鎖動作は「整合性のために操作を拒む」か「整合性のために連動させる」かの選択肢を与える仕組みで、その子データが親と運命を共にするのか単独で残す意味があるのかという業務上の判断を、DDLに書き下したものにあたる。
具体例
PostgreSQLで受注明細表の外部キーにON DELETE CASCADEを付ければ、受注を1行消すだけで明細もまとめて消える。一方、社員表を参照する売上実績表に同じ指定をすると退職者の実績まで消えて過去の集計が変わるため、こちらはSET NULLやRESTRICTを選ぶ。
試験での引っ掛け
子側をNULLにするのはSET NULL、既定値に置き換えるのはSET DEFAULT、親の削除を拒むのはRESTRICT/NO ACTION。何も書かなければ既定はNO ACTIONで、CASCADEは明示指定が要る。権限を取り消すREVOKE文にも同名のCASCADE(権限の連鎖取消し)があり、別の話として区別する。
関連用語
出た過去問
出典:令和元年度 秋期 応用情報技術者試験 午前 問27(IPA)
図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると、対応する“注文明細”表の行が、自動的に削除されるようにしたい。SQL文…
正解:CASCADE
要点:ON DELETE CASCADEは親行の削除を子行に連鎖させる
参照整合性制約では、参照先(親)の行が削除されたときの動作をON DELETE句で指定します。CASCADEを指定すると、削除が参照元(子)の行にも連鎖し、対応する行が自動的に削除されます。RESTRICTは逆に、参照している行が残っていれば親の削除自体を拒否します。
出典:令和5年度 春期 応用情報技術者試験 午前 問30(IPA)
図のような関係データベースの"注文"表と"注文明細"表がある。"注文"表の行を削除すると、対応する"注文明細"表の行が、自動的に削除されるようにしたい。参照制約…
正解:CASCADE
要点:ON DELETE CASCADEは親の削除に子を連動させる
参照制約のON DELETEにCASCADEを指定すると、被参照側の行が削除されたときに、その行を参照している外部キーをもつ行も連鎖して削除される。注文の行を消せば対応する注文明細の行も自動的に消えるという要件に合致する。
出典:令和7年度 春期 応用情報技術者試験 午前 問27(IPA)
SQL文に示す参照制約が存在する"商品"表と"受注"表とがある。"商品"表の行を削除したとき,削除した行の商品コードと同じ値の商品コードをもつ"受注"表の行を自…
正解:CASCADE
要点:ON DELETE CASCADEは親行の削除を子行の削除へ波及させる
外部キーのON DELETE句には、親表の行が削除されたときの子表の扱いを指定する。CASCADEは削除を子表に波及させ、参照している行も自動的に削除する動作である。したがって商品の行を削除したときに同じ商品コードの受注行も消すには、CASCADEを指定する。
出典・参考
公式シラバスの3 技術要素 > 3. データ操作 > (2) データベース言語に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。