データベーススペシャリスト試験 2016年 午前2 問08
第1正規形から第5正規形までの正規化に関する記述のうち, 適切なものはどれか。
ア:正規形にする分解は全て関数従属性が保存される。
イ:正規形にする分解は全て情報無損失の分解である。
ウ:第3正規形までは, 情報無損失でかつ関数従属性保存の分解ができる。(正解)
エ:第4正規形から第5正規形への分解は自明な多値従属性が保存される分解である。
解説
第1正規形から第5正規形までの正規化に関する記述【午前2 解説】
要点まとめ
- 結論:第3正規形までは情報無損失かつ関数従属性保存の分解が可能であることが正しいです。
- 根拠:第1〜第3正規形は関数従属性に基づく正規化であり、分解時に情報の損失や関数従属性の消失を防げます。
- 差がつくポイント:第4正規形以降は多値従属性や結合従属性を扱い、関数従属性保存が必ずしも保証されない点を理解することが重要です。
正解の理由
選択肢ウは「第3正規形までは情報無損失でかつ関数従属性保存の分解ができる」と述べています。これは正規化理論の基本であり、実務でも第3正規形までの分解はデータの整合性を保ちながら冗長性を減らすために広く用いられています。第4正規形以降は多値従属性や結合従属性の問題を扱うため、関数従属性保存が必ずしも保証されません。
よくある誤解
「全ての正規形で関数従属性が保存される」と誤解しやすいですが、第4正規形以降は異なる従属性を扱うため保存されない場合があります。
解法ステップ
- 正規化の目的と各正規形の特徴を理解する。
- 第1〜第3正規形は関数従属性に基づく分解であることを確認。
- 情報無損失分解と関数従属性保存の関係を整理。
- 第4正規形以降は多値従属性や結合従属性を扱うため、関数従属性保存が必ずしも成立しないことを把握。
- 選択肢の文言と正規化理論を照らし合わせて正解を選ぶ。
選択肢別の誤答解説ステップ
- ア: 「正規形にする分解は全て関数従属性が保存される」→第4正規形以降は関数従属性が保存されない場合があるため誤り。
- イ: 「正規形にする分解は全て情報無損失の分解である」→第1〜第3正規形はそうだが、第5正規形の分解は情報無損失でない場合もあるため誤り。
- ウ: 「第3正規形までは、情報無損失でかつ関数従属性保存の分解ができる」→正しい。
- エ: 「第4正規形から第5正規形への分解は自明な多値従属性が保存される分解である」→多値従属性は第4正規形の対象であり、第5正規形は結合従属性を扱うため誤り。
補足コラム
正規化はデータベース設計の基本であり、冗長性の排除と整合性の維持を目的とします。第1正規形は繰り返しグループの排除、第2正規形は部分関数従属性の排除、第3正規形は推移的関数従属性の排除を行います。第4正規形は多値従属性の排除、第5正規形は結合従属性の排除を目指しますが、これらはより高度な正規化であり、関数従属性保存が難しくなります。
FAQ
Q: 第3正規形までの分解で関数従属性が保存されるとはどういう意味ですか?
A: 分解後のテーブル群に元の関数従属性がすべて表現されているため、データの整合性を保てることを意味します。
A: 分解後のテーブル群に元の関数従属性がすべて表現されているため、データの整合性を保てることを意味します。
Q: 第4正規形以降の正規化はなぜ関数従属性保存が難しいのですか?
A: 第4正規形以降は多値従属性や結合従属性を扱うため、関数従属性以外の依存関係が関係し、保存が保証されない場合があるためです。
A: 第4正規形以降は多値従属性や結合従属性を扱うため、関数従属性以外の依存関係が関係し、保存が保証されない場合があるためです。
関連キーワード: 正規化, 第3正規形, 関数従属性保存, 情報無損失分解, 多値従属性, 結合従属性