IPA公式正解:ウ 社員番号(主キー),氏名,所属コード,勤務地
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【ウ】です。第2正規形は部分関数従属がなく、第3正規形は推移的関数従属がない状態です。ウの表は単一主キーのため第2正規形を満たしますが、社員番号→所属コード、所属コード→勤務地という非キー属性間の関数従属(推移的関数従属)が存在するため第3正規形ではありません。
【詳細解説】■ 本問の核心・解法のポイント
リレーショナルデータベースの正規化レベルの判定に関する問題です。
・第1正規形:繰り返し項目(多値属性)が存在しない(すべての属性値が単一のスカラ値)。
・第2正規形:第1正規形を満たし、すべての非キー属性が主キーに完全関数従属している(主キーの一部への部分関数従属がない)。主キーが単一属性であれば自動的に満たされます。
・第3正規形:第2正規形を満たし、主キー以外の非キー属性への推移的関数従属(A→B かつ B→C)が存在しない。
・各選択肢の徹底解説:
・ア:学生番号が主キーですが、通常1人の学生が複数の講義を履修するため、この主キー設定では複数講義を保持できず、表の設計として破綻しています。
・イ:社員番号から各属性が一意に決定され、非キー属性間の関数従属もないため、第3正規形を満たしています。
・ウ:【選択肢ウ★】主キーが単一属性(社員番号)であるため部分関数従属はなく第2正規形です。しかし問題文より「所属コード→勤務地」が成立するため、「社員番号→所属コード→勤務地」という推移的関数従属が存在します。したがって第2正規形ですが第3正規形ではありません。
・エ:趣味が「{テニス, ゴルフ}」という繰り返し項目となっているため、第1正規形すら満たしていません(非正規形)。
よって正解はウです。