応用情報技術者 2018年 秋期 午前2 問28
問題文
第1,第2,第3正規形とそれらの特徴 a〜cの組合せのうち、適切なものはどれか。
a:どの非キー属性も、主キーの真部分集合に対して関数従属しない。
b:どの非キー属性も、主キーに推移的に関数従属しない。
c:繰返し属性が存在しない。

選択肢
ア:
イ:
ウ:(正解)
エ:
第1,第2,第3正規形とそれらの特徴【午前2 解説】
要点まとめ
- 結論:第1正規形は「繰返し属性がない」、第2正規形は「非キー属性が主キーの真部分集合に関数従属しない」、第3正規形は「非キー属性が主キーに推移的に関数従属しない」ことが特徴です。
- 根拠:正規形はデータの冗長性や更新異常を防ぐための段階的なルールであり、それぞれの正規形が満たすべき条件が異なります。
- 差がつくポイント:各正規形の定義を正確に理解し、特に「関数従属」の対象が主キー全体か真部分集合か、推移的かどうかを区別できるかが重要です。
正解の理由
- 第1正規形は「繰返し属性が存在しない」ことを意味し、これは選択肢のcに該当します。
- 第2正規形は「非キー属性が主キーの真部分集合に関数従属しない」こと、すなわちaの内容です。
- 第3正規形は「非キー属性が主キーに推移的に関数従属しない」こと、すなわちbの内容です。
- よって、表の「第1正規形:c」「第2正規形:a」「第3正規形:b」の組み合わせであるウが正解です。
よくある誤解
- 第1正規形の条件を「関数従属」に関するものと誤解しがちですが、実際は繰返し属性の排除がポイントです。
- 第2正規形と第3正規形の違いを混同し、推移的関数従属の意味を正しく理解していないことが多いです。
解法ステップ
- 第1正規形の定義を確認し、「繰返し属性が存在しない」ことを理解する。
- 第2正規形の定義を確認し、「非キー属性が主キーの真部分集合に関数従属しない」ことを確認する。
- 第3正規形の定義を確認し、「非キー属性が主キーに推移的に関数従属しない」ことを確認する。
- 選択肢のa〜cの説明と正規形の定義を照合し、正しい組み合わせを選ぶ。
- 表の各正規形に対応する説明を当てはめ、正解を導く。
選択肢別の誤答解説
- ア:第1正規形にa(関数従属の条件)を当てているため誤り。第1正規形は繰返し属性の排除が正しい。
- イ:第2正規形にc(繰返し属性の排除)を当てているため誤り。繰返し属性は第1正規形の条件。
- ウ:正しい組み合わせ。
- エ:第3正規形にa(真部分集合への関数従属排除)を当てているため誤り。第3正規形は推移的関数従属の排除。
補足コラム
正規化はリレーショナルデータベース設計の基本であり、データの整合性と効率的な更新を実現します。第1正規形は「原子性」の確保、第2正規形は「部分関数従属の排除」、第3正規形は「推移的関数従属の排除」がそれぞれの目的です。これらを理解することで、データベース設計の品質向上に繋がります。
FAQ
Q: 第1正規形で「繰返し属性」とは何ですか?
A: 同じ属性が複数の値を持つことができる列のことで、これを排除し各属性は単一の値を持つようにします。
A: 同じ属性が複数の値を持つことができる列のことで、これを排除し各属性は単一の値を持つようにします。
Q: 第2正規形と第3正規形の違いは何ですか?
A: 第2正規形は主キーの一部に依存する非キー属性を排除し、第3正規形は非キー属性同士の推移的依存を排除します。
A: 第2正規形は主キーの一部に依存する非キー属性を排除し、第3正規形は非キー属性同士の推移的依存を排除します。
Q: 正規化を進めるとデータベースのパフォーマンスはどうなりますか?
A: 冗長性が減り整合性は向上しますが、結合が増えるためクエリのパフォーマンスに影響する場合があります。
A: 冗長性が減り整合性は向上しますが、結合が増えるためクエリのパフォーマンスに影響する場合があります。
関連キーワード: 正規化、第1正規形、第2正規形、第3正規形、関数従属、データベース設計、推移的関数従属、繰返し属性

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

