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

分野:データベース|実際に出題されたIPA過去問題

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 )

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  CASCADE
  2.  RESTRICT
  3.  SET DEFAULT
  4.  SET NULL
解答・解説を見る

正解:ア

AI解説

ON DELETE CASCADEを指定すると、参照される親表(商品表)の行が削除されたとき、それを参照している子表(受注表)の行も自動的に連動して削除される。設問は「削除した行の商品コードと同じ値をもつ受注表の行を自動的に削除する」ことを求めているため、CASCADEが適切である。 ア: 正しい。ON DELETE CASCADEにより、商品表の行削除に連動して受注表の該当行も自動的に削除される。 イ: 誤り。RESTRICTは参照している子表の行が存在する場合に親表の行の削除自体を拒否(エラーに)する指定であり、自動削除は行われない。 ウ: 誤り。SET DEFAULTは子表の外部キー列をあらかじめ定義したデフォルト値に変更する指定であり、行を削除するものではない。 エ: 誤り。SET NULLは子表の外部キー列をNULLに変更する指定であり、行を削除するものではない。 💡 ON DELETEの4つの指定(CASCADE=連動削除、RESTRICT/NO ACTION=削除拒否、SET NULL=NULL化、SET DEFAULT=既定値化)は、子表側の外部キー列がどう変化するかで整理すると覚えやすい。

出典:令和7年度 春期 応用情報技術者試験 午前 問27 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース)の過去問