関係モデルにおいて、情報無損失分解ができ、かつ、関数従属性保存が成り立つ変換はどれか【午前2 解説】
要点まとめ
- 結論:第2正規形から第3正規形への変換は、情報無損失分解かつ関数従属性保存が必ず成り立つ変換です。
- 根拠:第3正規形は第2正規形の部分関数従属性を排除し、自然結合で元の関係を復元可能かつ関数従属性も保持します。
- 差がつくポイント:ボイス・コッド正規形や第4正規形への変換では関数従属性保存が必ずしも保証されず、非正規形から第1正規形は正規化の初歩であり情報無損失分解の概念とは異なります。
正解の理由
第2正規形(2NF)から第3正規形(3NF)への変換は、部分関数従属性を排除するための分解であり、分解後の関係を自然結合すれば元の関係を完全に復元できます。さらに、3NFは関数従属性の保存も保証されているため、情報無損失かつ関数従属性保存の両方が成り立つ変換として知られています。
一方、ボイス・コッド正規形(BCNF)への変換では、関数従属性保存が必ずしも保証されず、分解によっては一部の関数従属性が失われることがあります。
よくある誤解
- BCNFへの変換も関数従属性保存が保証されると思いがちですが、必ずしもそうではありません。
- 非正規形から第1正規形への変換は正規化の第一歩ですが、情報無損失分解の文脈とは異なります。
解法ステップ
- 正規形の定義と特徴を確認する。
- 情報無損失分解とは自然結合で元の関係が復元できることを理解する。
- 関数従属性保存とは、分解後も元の関数従属性が保持されることを確認する。
- 各選択肢の変換における情報無損失分解と関数従属性保存の有無を検討する。
- 第2正規形から第3正規形への変換が両方を満たすことを確認し、正解を選ぶ。
選択肢別の誤答解説
- ア: 第2正規形から第3正規形への変換は情報無損失かつ関数従属性保存が成り立つため正解です。
- イ: 第3正規形からボイス・コッド正規形への変換は情報無損失ですが、関数従属性保存が必ずしも保証されません。
- ウ: 非正規形から第1正規形への変換は正規化の初歩であり、情報無損失分解の概念とは異なります。
- エ: ボイス・コッド正規形から第4正規形への変換は多値従属性の排除が目的で、関数従属性保存は保証されません。
補足コラム
関係モデルの正規化はデータの冗長性を減らし、整合性を保つための重要な手法です。
特に第3正規形は実務で広く使われており、情報無損失かつ関数従属性保存が保証されるため、設計の基本となります。
BCNFはさらに強い正規形ですが、分解時に関数従属性が失われるリスクがあるため注意が必要です。
FAQ
Q: 情報無損失分解とは何ですか?
A: 分解した複数の関係を自然結合することで、元の関係を完全に復元できることを指します。
Q: 関数従属性保存が重要な理由は?
A: 分解後も元の関数従属性を保持することで、データの整合性を保ちやすく、クエリの効率化にもつながります。
Q: BCNFへの変換で関数従属性が失われることはありますか?
A: はい、BCNFは関数従属性保存を必ずしも保証しないため、分解によって一部の関数従属性が失われる場合があります。
関連キーワード: 正規化、情報無損失分解、関数従属性保存、第2正規形、第3正規形、ボイス・コッド正規形、第4正規形、関係モデル