平成27年 秋期 基本情報技術者 午前 問27

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

注文記録(注文番号, 注文日, 顧客番号, 顧客名, 商品番号, 商品名, 数量, 販売単価)

[関数従属性]
 @  注文番号 → 注文日  A  注文番号 → 顧客番号
 B  顧客番号 → 顧客名  C  {注文番号, 商品番号} → 数量
 D  {注文番号, 商品番号} → 販売単価  E  商品番号 → 商品名

 ア  注文明細(注文番号, 数量, 販売単価)
 イ  注文明細(注文番号, 顧客番号, 数量, 販売単価)
 ウ  注文明細(注文番号, 顧客番号, 商品番号, 顧客名, 数量, 販売単価)
 エ  注文明細(注文番号, 商品番号, 数量, 販売単価)


答え エ


解説
関数従属性の@〜Eから注文番号と顧客番号は第3正規形まで正規化した注文明細の主キーになり、@ABEから注文日、顧客番号、顧客名、商品名は第3正規形まで正規化した注文明細には含まれない。
また、CDから販売単価、商品名は第3正規形まで正規化した注文明細に含まれるので
 注文明細(注文番号, 商品番号, 数量, 販売単価)
(エ)になる。


キーワード
・正規形

キーワードの解説
  • 正規形
    データの冗長性を少なくし、関連性の強いデータ項目(属性)をまとめて、一事実一箇所(1 fact in 1 place)にすることです。
    データの正規化にはレベルにより、第1〜第5正規形やボイス・コッド正規形があります。
    • 第1正規形
      データの繰り返し部分を別表にする。
    • 第2正規形
      1つのデータがきまると従属的にきまるデータを別グループ化する。
    • 第3正規形
      推移的に値がきまるデータを別グループ化する。
    • ボイス・コッド正規形
      すべての属性がキーに完全従属するようにしたもの。

もっと、「正規形」について調べてみよう。

戻る 一覧へ 次へ