データベーススペシャリスト試験 2018年 午前2 問04
第2正規形である関係Rが、第3正規形でもあるための条件として、適切なものはどれか。
ア:いかなる部分従属性も成立しない。
イ:推移的関数従属性が存在しない。(正解)
ウ:属性の定義域が原子定義域である。
エ:任意の関数従属A→Bに関して、Bは非キー属性である。
解説
第2正規形である関係Rが、第3正規形でもあるための条件【午前2 解説】
要点まとめ
- 結論:第3正規形は「推移的関数従属性が存在しない」ことが条件です。
- 根拠:第2正規形は部分従属性の排除、第3正規形は推移的従属性の排除により冗長性を減らします。
- 差がつくポイント:推移的関数従属性の理解と、キー属性と非キー属性の区別が重要です。
正解の理由
第2正規形は「部分従属性がない」状態ですが、第3正規形はさらに「推移的関数従属性が存在しない」ことが必要です。推移的関数従属性とは、キー→A、A→Bのように、非キー属性を介して別の非キー属性が決まる関係です。これがあると冗長性や更新異常が発生するため、第3正規形ではこれを排除します。したがって、選択肢イ「推移的関数従属性が存在しない」が正解です。
よくある誤解
部分従属性と推移的従属性を混同しやすいですが、第2正規形は部分従属性の排除、第3正規形は推移的従属性の排除がポイントです。
解法ステップ
- 第2正規形の定義を確認し、部分従属性がないことを理解する。
- 第3正規形の定義を確認し、推移的関数従属性の有無を確認する。
- 選択肢の意味を整理し、第3正規形の条件に合致するものを選ぶ。
- 推移的関数従属性の具体例をイメージし、選択肢イが正しいと判断する。
選択肢別の誤答解説ステップ
- ア: 「いかなる部分従属性も成立しない」は第2正規形の条件であり、第3正規形の条件ではありません。
- イ: 「推移的関数従属性が存在しない」は第3正規形の定義そのもので正解です。
- ウ: 「属性の定義域が原子定義域である」は第1正規形の条件であり、第3正規形とは無関係です。
- エ: 「任意の関数従属A→Bに関して、Bは非キー属性である」は誤りで、キー属性や非キー属性の区別を誤解しています。
補足コラム
正規化はデータベース設計の基本であり、第1正規形から第3正規形まで段階的に冗長性を排除します。特に第3正規形は実務でもよく使われ、推移的関数従属性の理解が重要です。推移的従属性を放置すると、データの更新時に矛盾が生じやすくなります。
FAQ
Q: 第2正規形と第3正規形の違いは何ですか?
A: 第2正規形は部分従属性の排除、第3正規形は推移的関数従属性の排除が違いです。
A: 第2正規形は部分従属性の排除、第3正規形は推移的関数従属性の排除が違いです。
Q: 推移的関数従属性とは何ですか?
A: キー→A、A→Bのように非キー属性を介して別の非キー属性が決まる関係を指します。
A: キー→A、A→Bのように非キー属性を介して別の非キー属性が決まる関係を指します。
関連キーワード: 正規化, 第3正規形, 推移的関数従属性, 部分従属性, データベース設計