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 )

テクノロジ系・一部改変

ア CASCADE
イ RESTRICT

なぜ違う: 参照する子があると親の削除を拒否する。

ウ SET DEFAULT

なぜ違う: 子の外部キーを既定値に設定し、行は削除しない。

エ SET NULL

なぜ違う: 子の外部キーを NULL に設定し、行は削除しない。

正解: ア

要点: 親の削除に連動して子の行も削除するのは ON DELETE CASCADE。

ON DELETE CASCADE は、参照先(親=商品)の行が削除されたとき、それを参照する子(受注)の行も連鎖的に削除する。RESTRICT は子が存在すると削除を拒否、SET DEFAULT/SET NULL は外部キー値を既定値/NULL にする。

この問題に出てくる用語

関連キーワード: SQL・参照制約・ON DELETE CASCADE

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和7年度 春期 応用情報技術者試験 午前 問27