関係"注文記録"の属性間に①~⑥の関数従属性があり,それに基づいて第3正規形まで正規化を行って,"商品","顧客","注文","注文明細"の各関係に分解した。
関係"注文明細"として,適切なものはどれか。
ここで,{X,Y} は,属性XとYの組みを表し,X→Yは,XがYを関数的に決定することを表す。
また,実線の下線は主キーを表す。
注文記録(注文番号,注文日,顧客番号,顧客名,商品番号,商品名,数量,販売単価)
〔関係従属性〕
- 1. 注文番号 → 注文日
- 2. 注文番号 → 顧客番号
- 3. 顧客番号 → 顧客名
- 4. {注文番号,商品番号} → 数量
- 5. {注文番号,商品番号} → 販売単価
- 6. 商品番号 → 商品名
×不正解です
注文記録の関係従属性を整理します。
- 注文番号は注文日と顧客番号を決定し、さらに推移律を適用すると顧客番号は顧客名を決定します。
- 注文番号と商品番号の組み合わせにより、数量と販売単価は決まります。
- 商品番号は商品名を決定するのでした。
この関係から、主キーは「注文番号」と「商品番号」となります。この時点で、項目が単一値であるため、第1正規形は既に成立しています。
次に、第2正規形では複合主キー中の一部のキーによって決まる属性を別表に移します。
- 例えば、注文日や顧客番号は注文番号によって決まります。- 顧客名は顧客番号によって決まります。
- 商品名は商品番号により決まります。
これにより、「注文」、「顧客」、「商品」などの別表に分離されます。
最終的に第3正規形では、主キー以外の属性によって決定される属性を別表に移動します。顧客名と顧客番号の関係が特にこれに該当します。このプロセスを経ると、「商品」、「顧客」、「注文」、「注文明細」の4つの表に分けられ、「注文明細」には注文番号、商品番号、数量、販売単価が含まれることが明らかになります。したがって、正しい選択肢は「ウ」となります。
回答数 1
正解率 0%