顧客名と住所, 商品名と単価, 顧客が注文した商品の個数と注文した日付を関係 データベースで管理したい。正規化された表として,適切なものはどれか。ここで,下線は主キーを表し,顧客名や商品名には,それぞれ同一のものがあるとする。
ア
顧客
顧客番号 | 顧客名 | 住所 |
商品
商品番号 | 商品名 | 単価 |
注文
注文番号 | 顧客番号 | 商品番号 | 個数 | 日付 |
イ
顧客
顧客番号 | 顧客名 | 住所 |
商品
商品番号 | 商品名 | 単価 |
注文
注文番号 | 顧客名 | 商品名 | 個数 | 日付 |
ウ
顧客
顧客番号 | 顧客名 | 住所 | 日付 |
注文
注文番号 | 顧客名 | 商品名 | 単価 | 個数 |
エ
商品
商品番号 | 商品名 | 単価 | 個数 |
注文
注文番号 | 商品番号 | 顧客名 | 住所 | 日付 |
解説を読む
正解:ア
解説:
RDBの正規化では全ての表が主キーと外部キーによって矛盾なく関連付けされる必要があります。
ア.注文表の顧客番号が顧客表の外部キーとなり、商品番号が商品表の外部キーとなり、すべての表が関連付けされるので正解です。
イ.注文表にある顧客名、商品名はそれぞれの表の主キーではないので関連付けできません。
ウ.顧客表、注文表を関連付ける項目がありません。
エ.注文表の商品番号が商品表の主キーとなるので関連付けは出来ています。ただし、顧客名と住所を別表にする第三正規化がまだされていません。さらに商品表にある個数は注文表にあるべき項目です。
解説を閉じる
コメント