令和7年春期試験問題 午前Ⅰ 問10

SQL文に示す参照制約が存在する"商品"表と"受注"表とがある。"商品"表の行を削除したとき,削除した行の商品コードと同じ値の商品コードをもつ"受注"表の行を自動的に削除するSQL文として,aに入れる字句はどれか。

〔SQL文〕

  • CASCADE
  • RESTRICT
  • SET DEFAULT
  • SET NULL
正解 問題へ
分野 :テクノロジ系
中分類:データベース
小分類:データ操作
解説
参照制約が設定されているデータベースでは、主キーを含む行が削除されたり、更新されたりすると、参照関係が崩れることがあります。DBMSでは、参照整合性が損なわれるデータ操作が行われたときに、どのような形で参照整合性を回復するかを、外部キー制約のON DELETEやON UPDATEに指定しておくことができます。指定できる動作は次の5種類です。
CASCADE
参照先のデータが更新・削除されると、対応する外部キーの値も自動的に更新・削除される
RESRICT
参照制約違反となるデータの更新・削除を拒否する
NO ACTION(デフォルトの動作)
処理の終了時に参照整合性を確認し、違反していれば更新・削除を拒否する
SET NULL
参照先のデータが更新・削除されると、対応する外部キーの値にNULLが設定される
SET DEFAULT
参照先のデータが更新・削除されると、対応する外部キーの値にデフォルト値が設定される
表定義を見ると、"受注"表の"商品コード"列は、"商品"表の"商品コード"列を参照していることがわかります。参照先の"商品"表の行が削除された場合、"受注"表の対応する行も自動的に削除したいので、適切な動作は「CASCADE」です。

したがって「ア」が正解です。

Pagetop