応用情報技術者 2013年 秋期 午前2 問29
問題文
関係を第2正規形から第3正規形に変換する手順はどれか。
選択肢
ア:候補キー以外の属性から、候補キーの一部の属性に対して関数従属性がある場合、その関係を分解する。
イ:候補キー以外の属性間に関数従属性がある場合、その関係を分解する。(正解)
ウ:候補キーの一部の属性から、候補キー以外の属性への関数従属性がある場合、その関係を分解する。
エ:一つの属性に複数の値が入っている場合、 単一の値になるように分解する。
関係を第2正規形から第3正規形に変換する手順【午前2 解説】
要点まとめ
- 結論:第3正規形への変換は「候補キー以外の属性間の関数従属性を解消するために関係を分解」します。
- 根拠:第2正規形は部分関数従属性を排除しますが、第3正規形は推移的関数従属性を排除し、非キー属性同士の依存をなくします。
- 差がつくポイント:候補キーの一部に対する従属性(部分従属性)と、非キー属性間の従属性(推移的従属性)を正確に区別できるかが重要です。
正解の理由
選択肢イは「候補キー以外の属性間に関数従属性がある場合、その関係を分解する」と述べています。これは第3正規形の定義に合致します。第3正規形は、非キー属性が他の非キー属性に依存しない状態を指し、推移的関数従属性を排除するために関係を分解します。したがって、イが正解です。
よくある誤解
第2正規形と第3正規形の違いを混同し、部分関数従属性の排除を第3正規形の特徴と誤解しがちです。
また、複数値属性の分解は第1正規形の話であり、第3正規形とは無関係です。
また、複数値属性の分解は第1正規形の話であり、第3正規形とは無関係です。
解法ステップ
- 第2正規形の定義を確認し、部分関数従属性が排除されていることを理解する。
- 非キー属性間に関数従属性(推移的従属性)が存在するかを調べる。
- 推移的従属性があれば、その属性群を分解して新たな関係に分割する。
- 分解後の関係が第3正規形の条件を満たすか確認する。
選択肢別の誤答解説
- ア: 「候補キー以外の属性から候補キーの一部に従属」は逆の関係であり誤り。部分関数従属性は候補キーの一部→非キー属性の方向。
- イ: 正解。非キー属性間の関数従属性を解消し、第3正規形に変換する手順。
- ウ: 「候補キーの一部から非キー属性への関数従属性」は部分関数従属性で、第2正規形への変換時に対応。
- エ: 「複数値属性の分解」は第1正規形への変換手順であり、第3正規形とは無関係。
補足コラム
正規化はデータベース設計の基本であり、冗長性の排除と更新異常の防止に役立ちます。第1正規形は「単一値属性」、第2正規形は「部分関数従属性の排除」、第3正規形は「推移的関数従属性の排除」がポイントです。これらを段階的に適用することで、効率的で整合性の高いデータ構造を実現します。
FAQ
Q: 第3正規形はなぜ非キー属性間の関数従属性を排除するのですか?
A: 非キー属性間の依存はデータの冗長性や更新異常を引き起こすため、排除して整合性を高めます。
A: 非キー属性間の依存はデータの冗長性や更新異常を引き起こすため、排除して整合性を高めます。
Q: 第2正規形と第3正規形の違いは何ですか?
A: 第2正規形は部分関数従属性を排除し、第3正規形は推移的関数従属性を排除します。
A: 第2正規形は部分関数従属性を排除し、第3正規形は推移的関数従属性を排除します。
関連キーワード: 正規化、第3正規形、推移的関数従属性、関係分解、データベース設計

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

