午前問27
関係"注文記録"の属性間に①~⑥の関数従属性があり、それに基づいて第3正規形まで正規化を行って、"商品"、"顧客"、"注文"、"注文明細"の各関係に分解した。関係"注文明細"として、適切なものはどれか。ここで、{X、Y} は、属性XとYの組みを表し、X→Yは、XがYを関数的に決定することを表す。また、実線の下線は主キーを表す。


注文明細(注文番号、数量、販売単価) | |
注文明細(注文番号、顧客番号、数量、販売単価) | |
注文明細(注文番号、顧客番号、商品番号、顧客名、数量、販売単価) | |
注文明細(注文番号、商品番号、数量、販売単価) |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
解説
第1正規形
1つのレコード内から繰り返し部分を分離したもの
第2正規形
第1正規形から部分従属している列を分離したもの
第3正規形
基本キー以外の列に関数従属している列を分離したもの
②から顧客番号は注文番号から決定され、 顧客番号は第3正規形まで正規化した注文明細には含まれないため「イ」「ウ」は謝りとなり、注文番号と顧客番号は第3正規形まで正規化した注文明細の主キーになります。
よって、正解は「エ」となります。
1つのレコード内から繰り返し部分を分離したもの
第2正規形
第1正規形から部分従属している列を分離したもの
第3正規形
基本キー以外の列に関数従属している列を分離したもの
②から顧客番号は注文番号から決定され、 顧客番号は第3正規形まで正規化した注文明細には含まれないため「イ」「ウ」は謝りとなり、注文番号と顧客番号は第3正規形まで正規化した注文明細の主キーになります。
よって、正解は「エ」となります。