参照制約における外部キーアクションの定義に基づくと、親テーブル(ここでは「商品」表)の行が削除された際に、子テーブル(ここでは「受注」表)の該当する行も連動して削除される動作は、CASCADEアクションによって実現されます。これは、データの整合性を保ちつつ、冗長なデータを自動的に整理するための仕組みです。
令和7年度 春期 高度試験共通 午前I 問10
SQL 文に示す参照制約が存在する“商品”表と“受注”表とがある。“商品”表の行を削除したとき、削除した行の商品コードと同じ値の商品コードをもつ“受注”表の行を自動的に削除する SQL文として、aに入れる字句はどれか。
〔SQL文〕
CREATE TABLE 商品 (
商品コード CHAR(4) PRIMARY KEY,
商品名 VARCHAR(64)
)
CREATE TABLE 受注 (
受注番号 INTEGER PRIMARY KEY,
商品コード CHAR(4),
受注個数 INTEGER,
納品日 CHAR(8),
FOREIGN KEY (商品コード) REFERENCES 商品(商品コード)
ON DELETE [ a ]
)
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
詳細Layer 2展開閉じる
選択肢アのCASCADEは、まさにこの連鎖的な削除を定義するものであり、親テーブルの削除操作が子テーブルの削除操作をトリガーします。
補足Layer 3展開閉じる
他の選択肢について、イのRESTRICTは、親テーブルの行を削除しようとした際に、子テーブルに参照している行が存在する場合、その削除操作を拒否するアクションです。ウのSET DEFAULTは、子テーブルの外部キー列の値を、あらかじめ定義されたデフォルト値に設定しますが、今回の問題では親行削除に伴う子行の削除を求めているため不適切です。エのSET NULLも、子テーブルの外部キー列の値をNULLに設定するアクションであり、削除とは異なる動作です。したがって、問題文の要件を満たすのはCASCADEのみとなります。
各選択肢の解説
- ア
CASCADE
正しいです。ON DELETE CASCADEを指定すると、参照される“商品”表の行を削除したときに連鎖削除が働きます。その商品コードを外部キーに持つ“受注”表の行も自動的に削除されます。問題の「同じ商品コードの受注行を自動的に削除する」という要件に合致します。
- イ
RESTRICT
誤りです。ON DELETE RESTRICTでは、“受注”表にその商品コードを参照する行が残っていると、“商品”表の行削除そのものが拒否されます。受注行を自動で削除するのではなく、参照整合性を守るために親行の削除を止める動作です。
- ウ
SET DEFAULT
誤りです。ON DELETE SET DEFAULTでは、“受注”表の行は削除されずに残ります。外部キー列である商品コードが、列に定義された既定値に置き換えられます。受注番号や受注個数などの行は残るため、要件の自動削除にはなりません。
- エ
SET NULL
誤りです。ON DELETE SET NULLでは、参照先の“商品”行が削除されると、“受注”表の商品コード列がNULLに更新されます。受注行そのものは残るため、同じ商品コードを持つ受注行を自動的に削除するという要件を満たしません。
分野「データベース」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 正規化・SQL・トランザクション特性(ACID)・同時実行制御・分散DBの基本。
- 学習の進め方
- ER 図 ⇄ 関係スキーマ ⇄ SQL の3者を行き来できるよう演習。3NF までの正規化を手で実行できると強い。
- 関連キーワード
- 正規化SQLACIDトランザクションロックデッドロックER図
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
関連する問題
データベース の他の問題
- 高度試験共通2009年度 秋期 午前I 問11分散トランザクション処理で利用される2 相コミットプロトコルでは、コミット処理を開始する調停者 (coordinator)と、調停者からの指示を受信してから必要なアクションを開始する参加者 (participant)がいる。この2相コミットプロトコルに関する記述のうち、適切なもの…
- 高度試験共通2009年度 秋期 午前I 問12データベースの障害回復処理に関する記述のうち、適切なものはどれか。
- 高度試験共通2011年度 秋期 午前I 問11元のデータベースと同じ内容の複製データベースをあらかじめ用意しておき、元のデータベースの更新に対し、非同期にその内容を複製データベースに反映する手法はどれか。
- 高度試験共通2012年度 春期 午前I 問10トランザクションが、データベースに対する更新処理を完全に行うか、全く処理しなかったかのように取り消すか、のいずれかを保証する特性はどれか。
- 高度試験共通2012年度 春期 午前I 問11DBMSの媒体障害時の回復法はどれか。
他年度の「データベース」問題
高度試験共通 の同じ分野を年度をまたいで演習する
高度試験共通 の学習ガイド
ITストラテジスト 戦略思考で合格する方法|論文テーマ・業界分析・CIO視点の磨き方
ITストラテジスト(ST)試験の合格に必要な「戦略思考」の鍛え方を解説。午後II論文でCIO・ITコンサルとしての視点を示す方法、頻出テーマ(DX戦略・デジタル投資評価)の攻略法を紹介します。
ITストラテジスト試験 出題傾向の最新分析【2026年最新】|増えた論点・捨て論点
ITストラテジスト試験の直近2年の出題傾向を分析し、増加している新論点・減少している論点・捨てて良い論点を整理。学習計画の優先度付けに活用できます。
ITストラテジスト試験 過去問の解き方完全ガイド|AI解説で時短する5ステップ
ITストラテジスト試験の過去問を効率的に回すための5ステップを紹介。AIコパイロットを使った時短解説の取り方、復習タイミング、選択肢分析の手順までまとめました。
ITストラテジスト試験 頻出論点トップ10と押さえ方|過去5年分の傾向分析
ITストラテジスト試験の過去5年分の出題傾向から、合格に直結する頻出論点トップ10を抽出。各論点ごとの出題形式と効率的な押さえ方をまとめました。