【正解の解説】
第5正規化
これは巨大なパズルを綺麗にピース分けする作業に例えられます。社員とプロジェクト、そしてスキルのような複雑に絡み合った関係性を、それぞれ独立したシンプルな表へと分解します。日常で言えば、複数の担当者と複数の仕事内容が複雑に交差するスケジュール表を、誰が見ても矛盾が起きないよう綺麗に整理整頓する感覚です。これにより、データの二重登録や消去ミスなどの面倒な更新異常を根本からシャットアウトできるのです。
【その他の選択肢の解説】
第2正規化
第2正規化は、複合主キーの一部分だけに依存している甘えん坊な列を見つけて別表に追い出すステップです。例えば「社員番号とプロジェクトコードが主キーなのに、社員名が社員番号だけで決まるから追い出そう」というレベルの話です。本問のように3つの属性が複雑に絡み合う多値従属のケースでは歯が立たず、試験で出題される「部分関数従属と多値従属の混同を狙う典型的なひっかけパターン」なので注意してください。
第3正規化
第3正規化は「AならばB、BならばC」というドミノ倒しのような依存関係を断ち切るためのものです。例えば「社員番号から部署コードがわかり、部署コードから部署名がわかる」という無駄な連鎖を解消します。本問で問われているのは、主キーと複数の属性間に生じているもっと複雑な「結びつきの絡まり」であり、推移的関数従属の解消を目的とする第3正規化では対応しきれない領域となります。
ボイスコッド正規化
ボイスコッド正規化は、第3正規化よりもさらに厳しく「矢印の左側(決定子)は必ず候補キーでなければならない」というルールを適用します。関数従属の複雑な絡みには有効ですが、本問の核心である「3つ以上の属性間に生じる多値従属(データが独立して複数存在してしまう現象)」を解消するためには不十分であり、より高次の第5正規化の出番となります。初学者がアルファベットの響きや難解さから選びがちな、出題者の罠となりやすい選択肢です。