メインコンテンツへスキップ
高度試験共通令和7年度 春期午前I問 10

令和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 層構成

展開
結論Layer 1

SQLの参照制約における削除時の動作について問う問題です。参照制約とは、あるテーブル(親テーブル)のデータが別のテーブル(子テーブル)から参照されている場合に、親テーブルのデータを削除したり更新したりする際のルールを定義するものです。

詳細Layer 2
展開

正解はアのCASCADEです。CASCADE(カスケード)は、親テーブルの行が削除された際に、その親テーブルの行を参照している子テーブルの行も自動的に削除する動作を指定します。問題文では、「商品」表(親テーブル)の行を削除したときに、「受注」表(子テーブル)の対応する行も自動削除したい、という要望に合致する動作です。

補足Layer 3
展開

他の選択肢について見ていきましょう。イのRESTRICT(リストリクト)は、子テーブルで参照されている親テーブルの行を削除しようとした場合に、エラーとして削除を拒否します。ウのSET DEFAULT(セットデフォルト)は、子テーブルの対応する列を、あらかじめ定義されたデフォルト値に更新します。エのSET NULL(セットヌル)は、子テーブルの対応する列をNULL値に更新します。これらの動作は、問題文の「自動的に削除する」という要件を満たさないため、不適切です。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「データベース」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
正規化・SQL・トランザクション特性(ACID)・同時実行制御・分散DBの基本。
学習の進め方
ER 図 ⇄ 関係スキーマ ⇄ SQL の3者を行き来できるよう演習。3NF までの正規化を手で実行できると強い。
関連キーワード
正規化SQLACIDトランザクションロックデッドロックER図
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

データベース の他の問題

他年度の「データベース」問題

高度試験共通 の同じ分野を年度をまたいで演習する

高度試験共通 の学習ガイド