情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ 問10: SQL 文に示す参照制約が存在する“商品”表と“受注”表とがある。“商品”表の行を削除したとき,削除した行の商品コードと同じ値の商品コードをもつ“受注”表の行を
←情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ
SQL 文に示す参照制約が存在する“商品”表と“受注”表とがある。“商品”表の行を削除したとき,削除した行の商品コードと同じ値の商品コードをもつ“受注”表の行を自動的に削除する SQL 文として,a に入れる字句はどれか。
〔SQL 文〕
CREATE TA 商品 (
商品コード CHAR(4) PRIMARY KEY ,
商品名 VARCHAR(64)
)
CREATE TABLE 受注 (
受注番号 INTEGER PRIMARY KEY ,
商品コード CHAR(4) ,
受注個数 INTEGER ,
納品日 CHAR(8) ,
FOREIGN KEY (商品コード) REFERENCES 商品(商品コード)
ON DELETE a
)
50.00%
問題本文
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
解説
外部キー制約のON DELETE句は、参照先(親=商品)の行削除時に参照元(子=受注)をどう扱うか指定する。CASCADEは親の削除に連動して子の該当行も自動削除する。商品を消すと同じ商品コードの受注行を消したいのでアが正解。RESTRICTは削除を拒否、SET NULL/DEFAULTは外部キーをNULL/既定値に変える動作で、整合性維持の方針に応じ使い分ける。
選択肢ごとの解説
- ア.CASCADEは親行削除に連動し子の該当行も自動削除するため、要件に合致し正しい。
- イ.RESTRICTは子に参照があると親の削除自体を拒否するため、自動削除にならず誤り。
- ウ.SET DEFAULTは子の外部キーを既定値に置換するだけで、行は削除されず誤り。
- エ.SET NULLは子の外部キーをNULLにするだけで該当行は残るため誤り。
情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ の過去問一覧へ戻る・問10