問題 No.2425
関係データベースの正規化の過程において、第3正規化までを完了したリレーションに対し、さらに結合従属性に基づいて無損失分解を行うことで、データの依存関係に起因する冗長性を完全に排除するプロセスとして、最も適切なものはどれか。
【正解の解説】
第5正規化
第5正規化は、会社組織でよくある「どの社員がどのプロジェクトでどの製品を担当しているか」という複雑な3者間の多対多の絡み合いを、情報のロスが一切起きないように綺麗にパズルのピースのように分解する作業です。大きな一枚の表を、意味が混ざらない最小限の単位までバラしてスッキリさせるイメージです。
スポンサーリンク
【その他の選択肢の解説】
第4正規化
第4正規化は「1人の社員に対して複数の趣味と複数の資格がある」といった、お互いが無関係な複数個のリストが1つの表に同居している状態を解消します。問題文にある「結合従属性」と「多値従属性」は試験で非常に混同しやすい言葉のワナなので、分解のよりどころが何であるかをしっかり見極める必要があります。
ボイス・コッド正規化
ボイス・コッド正規化(BCNF)は、第3正規化をさらに厳しくしたもので、「主キーの一部が別のキーを決定している」ような変則的な関係を解消します。問題文にある「結合従属性に基づく無損失分解」というキーワードとはアプローチが異なるため、正規化の各段階が持つ目的と条件のセットを正しく暗記しておくことが重要です。
第2正規化
第2正規化は、学校のクラス名簿で「生徒番号」が分かれば「氏名」も決まるのに、複合主キーの一部である「組」だけに依存する情報が混ざっているようなムダを省くステップです。問題文が問うている「第5正規化」のような高度で複雑な結合関係の分解とはレベルが異なり、基本のキを整えるための浅い段階の作業となります。