基本情報技術者平成22年春期 午前問30

午前問30

“発注伝票”表を第3正規形に書き換えたものはどれか。ここで,下線部は主キーを表す。
発注伝票(注文番号商品番号,商品名,注文数量)
  • 発注(注文番号,注文数量)
    商品(商品番号,商品名)
  • 発注(注文番号,注文数量)
    商品(注文番号商品番号,商品名)
  • 発注(注文番号商品番号,注文数量)
    商品(商品番号,商品名)
  • 発注(注文番号商品番号,注文数量)
    商品(商品番号,商品名,注文番号)

分類

テクノロジ系 » データベース » データベース設計

正解

解説

関係データベースの正規化は次のように3段階に分けて行います。
第1正規化
繰り返し項目をなくす(全ての属性値を単一値にする)
第2正規化
主キーの一部によって一意に決まる項目を別表に移す(部分関数従属をなくす)
第3正規化
主キー以外の項目によって一意に決まる項目を別表に移す(推移的関数従属をなくす)
"発注伝票"表は、全ての属性が単一値になっているので第1正規形の条件を満たしますが、主キーの一部である"商品番号"に関数従属する"商品名"があるため第2正規形ではありません。第2正規形にするには、"商品番号"と、"商品番号"によって一意に定まる"商品名"の関係を"商品"表として分離します。具体的には、"発注伝票"表の中に外部キーとして"商品番号"の列を残し、分離した"商品"表とのリレーションを形成します。

発注(注文番号商品番号,注文数量)
商品(商品番号,商品名)

第3正規化では主キー以外の属性に関数従属する属性があれば、その関係を別表に移しますが、上記の表にはこの条件を満たす関係が存在しないので、既に第3正規形の条件を満たしています。したがって「ウ」の形が適切です。
© 2010-2021 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop