No.51 関係"注文記録"の属性間に①~⑥の関数従属性があり,それに基づいて第3正規形まで正規化を行って,"商品","顧客","注文","注文明細"の各関係に分解した。
関係"注文明細"として,適切なものはどれか。
ここで,{X,Y} は,属性XとYの組みを表し,X→Yは,XがYを関数的に決定することを表す。
また,実線の下線は主キーを表す。
関係"注文明細"として,適切なものはどれか。
ここで,{X,Y} は,属性XとYの組みを表し,X→Yは,XがYを関数的に決定することを表す。
また,実線の下線は主キーを表す。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
設問で示されている属性同士の従属関係を整理すると次のようになります。この関係を見ると"注文番号"と"商品番号"の両方が決まることで全ての属性が一意に定まるため、主キーはこの2つを組み合わせた複合キーとわかります。また、この時点で全ての項目が単一値(繰り返し項目がない)ですので第1正規化までは完了しています。続けて第2、第3正規化を行います。
第2正規化では、複合主キーの部分キーによって一意に定まる属性を別表に移します。設問のリレーションでは以下の4つがこれに該当します。
第2正規化では、複合主キーの部分キーによって一意に定まる属性を別表に移します。設問のリレーションでは以下の4つがこれに該当します。
- ①注文番号→注文日
- ②注文番号→顧客番号
- ③顧客番号→顧客名(推移律※により、注文番号→顧客名)
- ⑥商品番号→商品名
- ⑤顧客番号→顧客名
- ※推移律
- X→Y かつ Y→Z が成立するならば、X→Z が成立する
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |