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

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

関係データベースの「注文」表と「注文明細」表の定義を示す図
図の説明テキスト

関係データベースの「注文」表と「注文明細」表の定義を示す図。列名の実線の下線は主キー、破線の下線は外部キーを表す。

注文

注文番号(実線の下線) 注文日 顧客番号(破線の下線)

注文明細

注文番号(実線と破線の両方の下線) 明細番号(実線の下線) 商品番号(破線の下線) 数量
解答・解説

正解: ア. CASCADE

関係データベースの参照制約において、親テーブル(“注文”表)の行が削除された際に、対応する子テーブル(“注文明細”表)の行も自動的に削除する動作は、削除規則(ON DELETE)に CASCADE を指定することで実現できます。

各選択肢の解説

  • ア CASCADE: 正解。親キーの行が削除された場合、それを参照している外部キーの行も連動して削除します。
  • イ INTERSECT: 誤り。2つの問合せ結果の共通部分(積集合)を取得するための集合演算子です。
  • ウ RESTRICT: 誤り。親キーの行を削除しようとした際、対応する外部キーの行が存在する場合は削除を制限(禁止)する指定です。
  • エ UNIQUE: 誤り。列の値が一意であることを保証する一意性制約を指定するための語句です。

Spineチーム