応用情報技術者試験 応用情報技術者試験 令和5年度春期 午前30: 図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると,対応する“注文明細”表の行が,自動的に削除されるようにしたい。参照制約

応用情報技術者試験 令和5年度春期 午前
Q 3030 / 80
図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると,対応する“注文明細”表の行が,自動的に削除されるようにしたい。参照制約定義の削除規則(ON DELETE)に指定する語句はどれか。ここで,図中の実線の下線は主キーを,破線の下線はを表す。
“注文”表と“注文明細”表の構成図(主キー・外部キーの下線付き)
この問の正解率:41.08%(1,020件)

問題本文

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

選択肢

  • .CASCADE
  • .INTERSECT
  • .RESTRICT
  • .UNIQUE

正解

. CASCADE

解説

参照制約の削除規則(ON DELETE)は、親表(主キー側)の行を削除したときに、それを参照する子表(外部キー側)の行をどう扱うかを定める。本問は「注文」表(親)の行を削除したら、対応する「注文明細」表(子)の行も自動的に削除したい、という連鎖削除を求めている。これを実現する語句は CASCADE であり、正解はアである。

選択肢ごとの解説

  • .CASCADE は親表の行削除に連動して、それを参照する子表の対応行も自動的に削除する。本問の要求どおりであり正しい。
  • .INTERSECT は二つの問合せ結果の積集合(共通行)を求める集合演算子であり、参照制約の削除規則ではない。
  • .RESTRICT は子表から参照されている親の行の削除を禁止(エラー)する規則で、何も指定しない場合の既定でもある。連鎖削除はしないため要求に合わない。
  • .UNIQUE は列の値の重複を禁止する一意性制約であり、削除規則として指定する語句ではない。

応用情報技術者試験 令和5年度春期 午前過去問一覧へ戻る・問30