問27令和7年度 春期テクノロジ系
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
正解はア
解説 本サイト独自(IPA公表のものではありません)
ア 商品表の行を削除したとき,その商品コードを参照している受注表の行も連鎖して自動削除する必要がある。ON DELETE に CASCADE を指定すると,参照される側の行の削除に伴って,参照する側の該当行も削除されるので,アが適切である。
- イ RESTRICTは,該当する受注表の行がある場合に商品表の行の削除を制限する指定である。削除を禁止する動作と,自動的に連鎖削除する動作とを取り違えている。
- ウ SET DEFAULTは,受注表の商品コードを既定値に変更する指定であり,受注表の行自体は削除しない。参照列の値の変更を,行の自動削除と取り違えている。
- エ SET NULLは,受注表の商品コードを空値に変更する指定であり,受注表の行自体は残る。参照を解消することと,該当する受注行を削除することを混同している。
この解説は間違っています
この解説は,別のモデルによるレビューを受けています。
出典:令和7年度 春期 応用情報技術者試験 午前 問27