図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると、対応する“注文明細”表の行が、自動的に削除されるようにしたい。SQL文のON DELETE句に指定する語句はどれか。ここで、図中の実線の下線は主キーを、破線の下線は外部キーを表す。

ON DELETE CASCADEは親行の削除を子行に連鎖させる

応用情報技術者試験2019年度 秋期 午前27/データベース / SQL

2つの表の構造図。「注文」表:注文番号(実線下線=主キー)|注文日|顧客番号(破線下線=外部キー)。「注文明細」表:注文番号(実線下線と破線下線の両方=主キーの一部かつ外部キー)|明細番号(実線下線=主キーの一部)|商品番号(破線下線=外部キー)|数量。すなわち注文明細の主キーは{注文番号, 明細番号}の複合キー。
2つの表の構造図。「注文」表:注文番号(実線下線=主キー)|注文日|顧客番号(破線下線=外部キー)。「注文明細」表:注文番号(実線下線と破線下線の両方=主キーの一部かつ外部キー)|明細番号(実線下線=主キーの一部)|商品番号(破線下線=外部キー)|数量。すなわち注文明細の主キーは{注文番号, 明細番号}の複合キー。

選択肢

正解と解説

正解: CASCADE

参照整合性制約では、参照先(親)の行が削除されたときの動作をON DELETE句で指定します。CASCADEを指定すると、削除が参照元(子)の行にも連鎖し、対応する行が自動的に削除されます。RESTRICTは逆に、参照している行が残っていれば親の削除自体を拒否します。

選択肢ごとの解説

出典:令和元年度 秋期 応用情報技術者試験 午前 問27(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。