この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ア

解説

外部キー制約(参照制約)においてON DELETE句のオプションを問う問題です。「商品」表の行を削除したとき、参照している「受注」表の対応行も自動的に削除するには「ON DELETE CASCADE」を使います。CASCADEは「連鎖」を意味し、親テーブルの行削除に連鎖して子テーブルの対応行も自動削除されます。SQLの外部キー定義例:FOREIGN KEY (商品コード) REFERENCES 商品(商品コード) ON DELETE CASCADE。これにより参照整合性を保ちながら関連レコードを一括削除できます。

なぜ他の選択肢は違うのか

選択肢 イ
SET DEFAULTは親テーブルの行削除時に、子テーブルの外部キー列をデフォルト値に設定するオプションです。行を削除するのではなくデフォルト値に置き換えます。
選択肢 ウ
RESTRICTは親テーブルの行削除を禁止(制限)するオプションです。子テーブルに参照行が存在する場合、削除操作をエラーとして拒否します。自動削除とは逆の動作です。
選択肢 エ
SET NULLは親テーブルの行削除時に、子テーブルの外部キー列をNULLに設定するオプションです。行は残りますが外部キー値がNULLになります。

解くときのポイント

ON DELETE句の4オプション:CASCADE(連鎖削除)、SET NULL(NULL設定)、SET DEFAULT(デフォルト設定)、RESTRICT/NO ACTION(削除禁止)。問題の「自動的に削除」→CASCADEと即決できる。