データベーススペシャリスト試験 2019年 午前2 問07
第1正規形から第5正規形までの正規化に関する記述のうち, 適切なものはどれか。
ア:正規形にする分解は全て関数従属性が保存される。
イ:正規形にする分解は全て情報無損失の分解である。
ウ:第3正規形への分解では, 情報無損失かつ関数従属性が保存される。(正解)
エ:第4正規形から第5正規形への分解は自明な多値従属性が保存される分解である。
解説
第1正規形から第5正規形までの正規化に関する記述【午前2 解説】
要点まとめ
- 結論:第3正規形への分解は情報無損失かつ関数従属性が保存されるため正規化の基本的な目標を満たす。
- 根拠:第3正規形は部分関数従属性や推移的関数従属性を排除し、データの冗長性を減らしつつ整合性を保つ。
- 差がつくポイント:情報無損失分解と関数従属性の保存の違いを理解し、第4正規形以降の多値従属性や結合従属性の扱いを区別することが重要。
正解の理由
選択肢ウは「第3正規形への分解では、情報無損失かつ関数従属性が保存される」と述べています。
第3正規形(3NF)は、関数従属性の保存と情報無損失分解を両立させることが可能な正規形であり、実務でも広く用いられています。
これにより、データの整合性を保ちながら冗長性を減らし、効率的なデータベース設計が実現できます。
第3正規形(3NF)は、関数従属性の保存と情報無損失分解を両立させることが可能な正規形であり、実務でも広く用いられています。
これにより、データの整合性を保ちながら冗長性を減らし、効率的なデータベース設計が実現できます。
よくある誤解
正規化の分解は必ずしも関数従属性を保存するとは限らず、特に第4正規形以降は情報無損失が優先される場合があります。
また、多値従属性や結合従属性の扱いを混同しやすい点にも注意が必要です。
また、多値従属性や結合従属性の扱いを混同しやすい点にも注意が必要です。
解法ステップ
- 正規化の目的と各正規形の特徴を確認する。
- 第3正規形の定義と分解の性質(情報無損失・関数従属性保存)を理解する。
- 選択肢の記述が第3正規形の性質に合致しているか検証する。
- 他の選択肢が誤っている理由(関数従属性の保存や多値従属性の扱い)を確認する。
- 正しい選択肢を選ぶ。
選択肢別の誤答解説ステップ
- ア: 「正規形にする分解は全て関数従属性が保存される」
→ 第4正規形や第5正規形の分解では関数従属性が保存されない場合もあるため誤り。 - イ: 「正規形にする分解は全て情報無損失の分解である」
→ 情報無損失分解は重要だが、関数従属性保存との両立が難しい場合もあり、全てではない。 - ウ: 「第3正規形への分解では、情報無損失かつ関数従属性が保存される」
→ 正しい。第3正規形はこの両方を満たす。 - エ: 「第4正規形から第5正規形への分解は自明な多値従属性が保存される分解である」
→ 第4正規形は多値従属性の排除が目的であり、多値従属性が保存されるとは限らないため誤り。
補足コラム
正規化はデータベース設計の基本であり、各正規形は特定の異常や冗長性を排除するために定義されています。
第1正規形は繰り返しグループの排除、第2正規形は部分関数従属性の排除、第3正規形は推移的関数従属性の排除を目的とします。
第4正規形は多値従属性の排除、第5正規形は結合従属性の排除に焦点を当てています。
第1正規形は繰り返しグループの排除、第2正規形は部分関数従属性の排除、第3正規形は推移的関数従属性の排除を目的とします。
第4正規形は多値従属性の排除、第5正規形は結合従属性の排除に焦点を当てています。
FAQ
Q: 第3正規形とボイス・コッド正規形(BCNF)の違いは何ですか?
A: BCNFは第3正規形よりも厳格で、すべての関数従属性の決定側が候補キーであることを要求します。
A: BCNFは第3正規形よりも厳格で、すべての関数従属性の決定側が候補キーであることを要求します。
Q: 情報無損失分解とは何ですか?
A: 分解したテーブルを結合して元のテーブルを完全に再現できることを指します。
A: 分解したテーブルを結合して元のテーブルを完全に再現できることを指します。
Q: 多値従属性とは何ですか?
A: 一つの属性が複数の値を独立して持つ関係で、これが存在すると多値従属性の排除が必要になります。
A: 一つの属性が複数の値を独立して持つ関係で、これが存在すると多値従属性の排除が必要になります。
関連キーワード: 正規化, 第3正規形, 関数従属性, 情報無損失分解, 多値従属性, データベース設計