IPA過去問ドリル

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

テクノロジ/データベース

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 )

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

正解:ア

解説

参照制約の ON DELETE 句は,被参照表(親表)の行が削除されたときに,参照表(子表)の行をどう扱うかを指定します。CASCADE を指定すると,親表の行の削除に連動して,その行を参照している子表の行も自動的に削除されます。

選択肢ごとの解説

  • 正しい。ON DELETE CASCADE により,“商品”表の行の削除に連動して同じ商品コードをもつ“受注”表の行も自動的に削除されます。
  • 誤り。RESTRICT は,参照している行が存在する場合に親表の行の削除そのものを拒否する指定です。
  • 誤り。SET DEFAULT は,子表の外部キーの値を既定値に置き換える指定で,子表の行は削除されません。
  • 誤り。SET NULL は,子表の外部キーの値を空値(NULL)に置き換える指定で,子表の行は削除されません。
応用情報技術者の過去問を演習モードで解く