外部キー制約における親表レコード削除時のON DELETE CASCADE動作

外部キー制約(参照整合性制約)における参照動作の指定(ON DELETE句)では、参照されている親表の行が削除された際に、それを参照している子表の行をどのように処理するかを定義します: ・CASCADE:親表の行が削除されたとき、その行を参照している子表の対応する行も自動的に連鎖して削除する指定です。 ・RESTRICT:子表から参照されている親表の行の削除を拒否し、エラーとする指定です。 ・SET NULL:親表の行が削除されたとき、子表の外部キー列の値を NULL に設定する指定です。 ・SET DEFAULT:親表の行が削除されたとき、子表の外部キー列の値をデフォルト値に設定する指定です。 ・NO ACTION:参照整合性違反となる削除処理を拒否するデフォルト指定です。 本問では“注文”表の行を削除した際に対応する“注文明細”表の行を自動的に削除させたいため、「ON DELETE CASCADE」を指定します。 INTERSECT は、2つの SELECT クエリ結果の共通部分(積集合)を抽出するための集合演算子であり、外部キーの参照動作指定ではありません。 RESTRICT は、子表に行が存在する場合に親表の行の削除処理そのものを禁止・拒絶する指定です。 UNIQUE は、表内の列の値に重複を許さず一意であることを保証する一意性制約であり、外部キーの削除連動指定ではありません。

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

問題画像
出典令和元年 秋期 応用情報技術者試験 午前 問27
ア
CASCADE
イ
INTERSECT
ウ
RESTRICT
エ
UNIQUE