IPA過去問ドリル

平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問7

テクノロジ/データベース

第2正規形であるが第3正規形でない表はどれか。ここで,講義名に対して担当教員は一意に決まり,所属コードに対して勤務地は一意に決まるものとする。また,{ }は繰返し項目を表し,実線の下線は主キーを表す。 (注:本サイトでは原問題の選択肢の表を文字表記に変換しています)

出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問7

正解:ウ

解説

第2正規形は,主キーの真部分集合への部分関数従属(部分従属性)が存在しない状態です。第3正規形は,第2正規形であることに加えて,非キー属性間の推移的関数従属が存在しない状態です。ウの表(社員番号,氏名,所属コード,勤務地)では,主キーが社員番号(単一属性)であるため部分従属性は存在せず第2正規形の条件は満たしますが,「所属コード→勤務地」という非キー属性間の関数従属(社員番号→所属コード→勤務地という推移的関数従属)が存在するため,第3正規形ではありません。

選択肢ごとの解説

  • 誤り。主キーが(学生番号,講義名)の複合キーであり,「講義名→担当教員」という部分関数従属(複合主キーの真部分集合である講義名だけで担当教員が決まる関係)が存在するため,そもそも第2正規形ではありません。
  • 誤り。主キーが社員番号のみの単一属性であり,氏名・入社年月日・電話番号はいずれも社員番号に直接従属するだけで,非キー属性間の推移的関数従属も存在しないため,この表は第3正規形です。
  • 正しい。主キーは社員番号のみなので部分従属性はなく第2正規形ですが,所属コードに対して勤務地が一意に決まる(社員番号→所属コード→勤務地という推移的関数従属がある)ため,第3正規形ではありません。
  • 誤り。主キーは社員番号のみであり,身長・体重・趣味(繰返し項目)はいずれも社員番号に直接従属するだけで,非キー属性間の推移的関数従属は存在しないため,この表は第3正規形です(ただし趣味が繰返し項目であるため,第1正規形の観点では別の問題があります)。
データベーススペシャリストの過去問を演習モードで解く