応用情報技術者 2012年 秋期 午前2 問26
問題文
六つのタプルから成る関係Rの単一の属性間において成立する全ての関数従属性を挙げたものはどれか。ここで、X→Y は、XがY を関数的に決定することを表す。

選択肢
ア:A→B
イ:A→C, CA
ウ:A→B, AC, C→A, C→B(正解)
エ:A→B, A→C, B→C, C→A, C→B
六つのタプルから成る関係Rの単一の属性間において成立する全ての関数従属性【午前2 解説】
要点まとめ
- 結論:関係Rの関数従属性は、ウ: A→B, AC, C→A, C→Bが正しいです。
- 根拠:同じAの値に対してBの値が一意に決まることや、Cの値からAやBが一意に決まることをデータから確認できます。
- 差がつくポイント:関数従属性の判定は、同じ決定属性の値に対して従属属性が一意かどうかを正確に見極めることが重要です。
正解の理由
選択肢ウは、関係Rのデータを基に以下の関数従属性が成立していることを示しています。
- A→B:Aの値300,400,500に対してBはそれぞれ「阿部商店」「鈴木商店」で一意に決まる。
- AC:AとCの組み合わせは全て異なり、複合キーとして機能する。
- C→A:Cの値3,2,1に対してAはそれぞれ300,400,500で一意に決まる。
- C→B:Cの値によりBも一意に決まる(3→阿部商店、2→鈴木商店、1→鈴木商店)。
これらはデータの重複や矛盾がなく、関数従属性として成立します。
よくある誤解
関数従属性は「同じ値があれば必ず同じ値が決まる」ことですが、単に値が同じだからといって従属属性も同じとは限りません。
また、複合属性の関数従属性を見落としやすい点も注意が必要です。
また、複合属性の関数従属性を見落としやすい点も注意が必要です。
解法ステップ
- 各属性の値の重複を確認し、同じ決定属性の値に対して従属属性が一意か調べる。
- A→Bを検証:A=300の行でBは「阿部商店」で一致するか確認。
- C→A, C→Bを検証:Cの値ごとにAとBが一意か確認。
- 複合属性ACの役割を確認し、重複がないかチェック。
- 以上の検証結果を基に、成立する関数従属性を選択肢と照合する。
選択肢別の誤答解説
- ア: A→Bのみで、C→AやC→Bを見落としているため不完全。
- イ: A→Cのみで、実際にはA→Bも成立しているため誤り。
- ウ: 正解。関係Rの全ての関数従属性を正しく挙げている。
- エ: B→Cが含まれているが、Bの値「阿部商店」「鈴木商店」ではCが一意に決まらず誤り。
補足コラム
関数従属性はリレーショナルデータベース設計の基礎であり、正規化の判断材料となります。
特に、単一属性だけでなく複合属性の関数従属性も見逃さずに把握することが重要です。
また、関数従属性の理解はデータの整合性維持や効率的なクエリ設計にも役立ちます。
特に、単一属性だけでなく複合属性の関数従属性も見逃さずに把握することが重要です。
また、関数従属性の理解はデータの整合性維持や効率的なクエリ設計にも役立ちます。
FAQ
Q: 関数従属性とは何ですか?
A: ある属性Xの値が決まれば、別の属性Yの値が一意に決まる関係のことです。X→Yと表記します。
A: ある属性Xの値が決まれば、別の属性Yの値が一意に決まる関係のことです。X→Yと表記します。
Q: 複合属性の関数従属性はどう判断しますか?
A: 複数の属性の組み合わせで値が一意に決まるかを確認し、重複がなければ成立します。
A: 複数の属性の組み合わせで値が一意に決まるかを確認し、重複がなければ成立します。
Q: なぜB→Cは成立しないのですか?
A: Bの値「鈴木商店」に対してCが2と1の2種類あるため、一意に決まらず成立しません。
A: Bの値「鈴木商店」に対してCが2と1の2種類あるため、一意に決まらず成立しません。
関連キーワード: 関数従属性、正規化、リレーショナルデータベース、属性間依存、データ整合性

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

