本文へスキップ

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


Since 2016.4.19

平成21年度 春期 応用情報技術者試験問題と解説

問34

関係データベースの“注文”表又は“商品”表の行を削除する場合、"注文明細”表に対する操作として、適切な組合せはどれか。ここで、表定義中の実線の下線は主キーを、破線の下線は外部キーを表す。

  注文           商品
 ┌─────┬─────┐┌─────┬─────┬─────┐
 │ 注文番号 │受注年月日││ 商品番号 │ 商品名称 │ 商品単価 │
 └─────┴─────┘└─────┴─────┴─────┘
  注文明細
 ┌─────┬─────┬─────┬─────┐
 │ 注文番号商品番号 │ 注文数量 │ 注文金額 │
 └─────┴─────┴─────┴─────┘

〔削除時の操作〕

A: 主キー側の行を削除する際、それを参照している外部キー側の行を同時に削除する。

B: 主キー側の行を削除する際、それを参照している外部キー側の行があれば、主キー側の行の削除を許さない。

  ┌──────────────┬──────────────┐
  │“注文”表の行を削除する場合│“商品”表の行を削除する場合│
┌─┼──────────────┼──────────────┤
│ア│       A       │       A       │
├─┼──────────────┼──────────────┤
│イ│       A       │       B       │
├─┼──────────────┼──────────────┤
│ウ│       B       │       A       │
├─┼──────────────┼──────────────┤
│エ│       B       │       B       │
└─┴──────────────┴──────────────┘


正解


解説

“注文”表の行を削除する場合は、注文番号を参照している外部キー側の行を全て削除する必要がある。でないと、注文番号がない注文明細が存在し、整合性がとれない。

“商品”表の行を削除する場合は、商品番号を参照している外部キー側の行があれば、主キー側の行の削除を許さない。

問33 目次 問35