JJ プログラム仙人修行日誌

2024/04/20 からは、プログラム仙人修行の日誌を書いてます。

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

 注文           商品
┌――――─┬─―─―─┐ ┌─――――┬─―――─┬――――─┐
│ 注文番号 │受注年月日│ │ 商品番号 │ 商品名称 │ 商品単価 │
| ―――― |     | | ―――― |     |     |
└――――─┴─―─―─┘ └─―――─┴――――─┴──――─┘

 注文明細
┌――――─┬─――─―┬─―――─┬――――─┐
│ 注文番号 │ 商品番号 │ 注文数量 │ 注文金額 │
| ―――― | ―――― |     |     |
| -------- | -------- |     |     |
└――――─┴─――─―┴─――─―┴──――─┘

〔削除時の操作〕
A:主キー側の行を削除する際,それを参照している外部キー側の行を同時に
 削除する。
B:主キー側の行を削除する際,それを参照している外部キー側の行があれば,
 主キー側の行の削除を許さない。


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

注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。
レイアウトが崩れて見えます@まぐまぐ http://help.mag2.com/115.html

■キーワード■

■解答■
  応用情報技術者午前平成21年春問34

   ┌──――――――――――─―┬―――――─――――――──┐
   │ "注文" 表の行を削除する場合│ "商品" 表の行を削除する場合│
┌──┼──――――――――――──┼―――――――─―――─―─┤
│ イ │ A │ B │
└──┴──―――───――――──┴――───――――――─―─┘

> 右側の表は”注文”ではなく、”商品”ですか?

 ご指摘ありがとうございます。訂正させてもらいましあ。

> 両方"注文"表となっていましたが、注文"表又ぱ商品"表と解釈して、注文表のデー
> タを削除する時は受注年月日が削除されるので、整合性を維持するために外部キー
> 側のデータが削除される方が適切と考え、商品表のデータを削除する時は商品名称
> や単価が削除されることになるので、外部キー側にデータがある時は削除を許さな
> いのが良いと考えました。

 どうもありがとうございます。

                                                                                                                                              • -