IPA過去問ドリル

令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問11

テクノロジ/データベース

図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると,対応する“注文明細”表の行が,自動的に削除されるようにしたい。参照制約定義の削除規則(ON DELETE)に指定する語句はどれか。ここで,図中の実線の下線は主キーを,破線の下線は外部キーを表す。 注文(注文番号,注文日,顧客番号) ※注文番号が主キー 注文明細(注文番号,明細番号,商品番号,数量) ※注文番号,明細番号が主キー,注文番号は注文表への外部キー (注:本サイトでは原問題の下線(主キー・外部キー)を注記で表しています)

出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問11

正解:ア

解説

参照制約のON DELETE句にCASCADEを指定すると,親表(“注文”表)の行が削除されたとき,それを参照している子表(“注文明細”表)の対応する行も連動して自動的に削除されます。これによって設問の要件を満たすことができます。

選択肢ごとの解説

  • 正しい。ON DELETE CASCADEを指定すると,“注文”表の行削除に連動して,対応する“注文明細”表の行も自動的に削除されます。
  • 誤り。INTERSECTは共通集合を求める関係演算の一種であり,参照制約の削除規則に指定する語句ではありません。
  • 誤り。RESTRICTを指定すると,参照している子表の行が存在する場合は親表の行の削除自体が拒否されるため,自動的な連動削除にはなりません。
  • 誤り。UNIQUEは一意性制約を表す語句であり,参照制約の削除規則(ON DELETE)に指定する語句ではありません。
データベーススペシャリストの過去問を演習モードで解く