本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

令和元年度 秋期 応用情報技術者試験問題と解説

問27

図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると、対応する“注文明細”表の行が、自動的に削除されるようにしたい。SQL文の ON DELETE 句に指定する語句はどれか。ここで、図中の実線の下線は主キーを、破線の下線は外部キーを表す。

  注文
 ┌────┬────┬────┐
 │注文番号│ 注文日 │顧客番号
 └────┴────┴────┘
  注文明細
 ┌────┬────┬────┬────┐
 │注文番号明細番号商品番号│ 数量 │
 └────┴────┴────┴────┘

ア CASCADE

イ INTERSECT

ウ RESTRICT

エ UNIQUE


正解


解説

ア 正しい。CASCADEを指定すると、参照される行が削除されると、参照する外部キーを含む行も削除される。また、参照される行のキーの値 (例えば注文番号) が変更されると、参照する外部キーの値 (注文明細表の注文番号) も更新される。

イ INTERSECTは、2つの表のどちらにも存在する行を抽出する。

ウ RESTRICTは、整合制約が保てない削除や更新をエラーとする。

エ UNIQUEは、対象となる列に格納される値が、表内で重複しないように制約する。

問26 目次 問28