IPA過去問ドリル

令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問5

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

第2正規形であるが第3正規形でない表はどれか。ここで,講義名に対して担当教員は一意に決まり,所属コードに対して勤務地は一意に決まるものとする。また,{ }は繰返し項目を表し,実線の下線は主キーを表す。

令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問5の図

出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問5

正解:ウ

解説

主キーが単一の列であれば,キーの真部分集合というものが存在しないため部分関数従属は原理的に発生せず,第2正規形の条件は自動的に満たされます。一方,非キー属性が別の非キー属性を一意に決定する推移的関数従属があると,第3正規形の条件には違反します。選択肢アは主キーが「学生番号,講義名」の複合キーであり,非キー属性の担当教員が複合キーの一部である講義名だけに従属する部分関数従属をもつため,そもそも第2正規形の条件を満たしません。選択肢イは主キーが社員番号単独で,示された関数従属に該当する非キー属性間の従属も存在しないため,第2正規形・第3正規形とも満たします。選択肢ウは主キーが社員番号単独であるため第2正規形は自動的に満たしますが,非キー属性の所属コードが別の非キー属性の勤務地を一意に決定する推移的関数従属(社員番号→所属コード→勤務地)が存在するため,第3正規形には違反します。選択肢エは趣味の列が{テニス,ゴルフ}のような繰返し項目(非原子値)であり,第1正規形の条件すら満たしません。したがって,第2正規形であるが第3正規形でない表はウです。

選択肢ごとの解説

  • 誤り。主キーは学生番号と講義名の複合キーであり,担当教員は複合キーの一部である講義名だけに従属する部分関数従属をもつため,第2正規形の条件をそもそも満たしていません。
  • 誤り。主キーが社員番号単独であり,示されている関数従属(講義名→担当教員,所属コード→勤務地)に該当するような非キー属性間の従属も存在しないため,この表は第3正規形(あるいはそれ以上)の条件も満たしています。
  • 正しい。主キーが社員番号単独であるため部分関数従属は発生せず第2正規形を満たしますが,非キー属性の所属コードが別の非キー属性の勤務地を一意に決める推移的関数従属があるため,第3正規形には違反します。
  • 誤り。趣味の列が{テニス,ゴルフ}のように複数の値を一つの列に格納する繰返し項目(非原子値)になっており,属性値が原子値であることを要求する第1正規形の条件を満たしていません。
データベーススペシャリストの過去問を演習モードで解く