関係データベースの“注文”表又は“商品”表の行を削除する場合、"注文明細”表に対する操作として、適切な組合せはどれか。ここで、表定義中の実線の下線は主キーを、破線の下線は外部キーを表す。
注文 商品
┌─────┬─────┐┌─────┬─────┬─────┐
│ 注文番号 │受注年月日││ 商品番号 │ 商品名称 │ 商品単価 │
└─────┴─────┘└─────┴─────┴─────┘
注文明細
┌─────┬─────┬─────┬─────┐
│ 注文番号 │ 商品番号 │ 注文数量 │ 注文金額 │
└─────┴─────┴─────┴─────┘
〔削除時の操作〕
A: 主キー側の行を削除する際、それを参照している外部キー側の行を同時に削除する。
B: 主キー側の行を削除する際、それを参照している外部キー側の行があれば、主キー側の行の削除を許さない。
┌──────────────┬──────────────┐
│“注文”表の行を削除する場合│“商品”表の行を削除する場合│
┌─┼──────────────┼──────────────┤
│ア│ A │ A │
├─┼──────────────┼──────────────┤
│イ│ A │ B │
├─┼──────────────┼──────────────┤
│ウ│ B │ A │
├─┼──────────────┼──────────────┤
│エ│ B │ B │
└─┴──────────────┴──────────────┘
イ
“注文”表の行を削除する場合は、注文番号を参照している外部キー側の行を全て削除する必要がある。でないと、注文番号がない注文明細が存在し、整合性がとれない。
“商品”表の行を削除する場合は、商品番号を参照している外部キー側の行があれば、主キー側の行の削除を許さない。
問33 | 目次 | 問35 |