戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2016年 春期 午前227


問題文

関数従属を次のように表記するとき、属性 a〜eで構成される関係を第3 正規形にしたものはどれか。
応用情報技術者 2016年 春期 午前2 問27の問題画像応用情報技術者 2016年 春期 午前2 問27の選択肢の画像

選択肢

(正解)

関数従属を基にした第3正規形の判定【午前2 解説】

要点まとめ

  • 結論:与えられた関数従属から第3正規形に分解すると、選択肢エのように「a,b,d」「b,c」「b,d,e」の3つの関係に分割されます。
  • 根拠:第3正規形は「非キー属性が他の非キー属性に関数従属しない」ことが条件であり、与えられた関数従属を満たしつつ部分関数従属や推移的関数従属を排除する必要があります。
  • 差がつくポイント:関数従属の読み取りとキー属性の特定、推移的関数従属の検出ができるかが合否を分けます。特に「b」が複数の関係に登場する点を見落とさないことが重要です。

正解の理由

選択肢エは、与えられた関数従属を正しく分解し、第3正規形の条件を満たしています。
  • 「a」から「b」「c」「d」「e」への関数従属があるため、まず「a」をキーとする関係から始まります。
  • 「b」から「c」と「e」への関数従属があるため、「b」をキーとする別の関係に分割し、推移的関数従属を解消しています。
  • 「b」が複数の関係に登場し、キーとして機能しているため、非キー属性間の関数従属がなくなり第3正規形となります。

よくある誤解

関数従属の方向を誤認し、推移的関数従属を見逃すことが多いです。
また、キー属性の判定を誤り、正規化の分割が不十分になることがあります。

解法ステップ

  1. 関数従属を整理し、候補キーを特定する(ここでは「a」)。
  2. 「a」から直接決まる属性群(b,c,d,e)を確認し、部分関数従属や推移的関数従属を探す。
  3. 「b」から「c」「e」への関数従属があるため、「b」をキーとする別の関係に分割する。
  4. 分割後の各関係が第3正規形の条件を満たすか確認する。
  5. 選択肢の中でこの分割を正しく表現しているものを選ぶ。

選択肢別の誤答解説

  • ア:関係の分割が不十分で、「b」「d」「e」が同じ関係にまとまっているため推移的関数従属が残る。
  • イ:「b」「c」が別関係にあるが、「b」「d」「e」が一緒で推移的関数従属を解消できていない。
  • ウ:「a」「b」「d」と「b」「d」「c」「e」に分割されているが、「b」「d」「c」「e」の関係が大きすぎて推移的関数従属が残る。
  • エ:正しく「a,b,d」「b,c」「b,d,e」に分割され、推移的関数従属を解消している。

補足コラム

第3正規形(3NF)は、関係データベース設計においてデータの冗長性を減らし、更新異常を防ぐための重要な正規化段階です。
関数従属の理解とキー属性の特定が正規化の鍵となり、実務でもデータベース設計の基礎として必須の知識です。

FAQ

Q: 第3正規形とボイスコッド正規形(BCNF)の違いは何ですか?
A: 第3正規形は「非キー属性が他の非キー属性に関数従属しない」ことを条件とし、BCNFは「すべての関数従属の左辺がスーパーキーである」ことを要求します。BCNFの方が厳密です。
Q: 推移的関数従属とは何ですか?
A: 属性Aが属性Bを決定し、属性Bが属性Cを決定する場合、A→B→Cの関数従属のうち、A→Cが推移的関数従属です。これを解消するのが第3正規形の目的です。

関連キーワード: 関数従属、第3正規形、正規化、推移的関数従属、キー属性、データベース設計
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について