応用情報技術者 2014年 秋期 午前2 問26
問題文
関係R(A, B, C, D, E, F)において、関数従属 A→B, C→D, C→E, {A,C} →Fが成立するとき、関係Rの候補キーはどれか。
選択肢
ア:A
イ:C
ウ:{A, C}(正解)
エ:{A, C, E}
関係Rの候補キー判定【午前2 解説】
要点まとめ
- 結論:候補キーは{A, C}である。
- 根拠:関数従属から{A, C}で全属性を決定できるため、最小のキーとなる。
- 差がつくポイント:単一属性では全属性を決定できず、冗長な属性を含むキーは候補キーにならない点を理解すること。
正解の理由
関数従属から、A→B、C→D、C→E、{A,C}→Fが成立しています。
このとき、{A, C}を使うと、AからB、CからDとEが決まり、さらに{A,C}からFも決まるため、全属性A,B,C,D,E,Fを決定できます。
単独のAやCでは全属性を決定できず、{A,C,E}は{A,C}のスーパーセットであり最小性を欠くため、候補キーは{A, C}です。
このとき、{A, C}を使うと、AからB、CからDとEが決まり、さらに{A,C}からFも決まるため、全属性A,B,C,D,E,Fを決定できます。
単独のAやCでは全属性を決定できず、{A,C,E}は{A,C}のスーパーセットであり最小性を欠くため、候補キーは{A, C}です。
よくある誤解
単一属性のAやCが候補キーと誤解しやすいですが、全属性を決定できないため不正解です。
また、属性を余分に含む{A,C,E}は最小性を満たさず候補キーにはなりません。
また、属性を余分に含む{A,C,E}は最小性を満たさず候補キーにはなりません。
解法ステップ
- 関数従属を整理し、決定できる属性を確認する。
- 単一属性で全属性が決定できるか検証する。
- 複数属性の組み合わせで全属性が決定できる最小の集合を探す。
- 最小性を満たす集合を候補キーとして選ぶ。
選択肢別の誤答解説
- ア: A
A→Bは成立するが、C,D,E,Fを決定できないため候補キーではない。 - イ: C
C→D,Eは成立するが、A,B,Fを決定できないため不正解。 - ウ: {A, C}
AとCの組み合わせで全属性を決定でき、最小性も満たすため正解。 - エ: {A, C, E}
{A, C}で十分全属性を決定できるため、Eは冗長で最小性を欠く。
補足コラム
候補キーとは、関係のすべての属性を関数従属で決定できる最小の属性集合です。
最小性を満たすことが重要で、スーパーキーの中でも余分な属性を含まないものを指します。
関数従属の理解と属性閉包の計算が候補キー判定の基本です。
最小性を満たすことが重要で、スーパーキーの中でも余分な属性を含まないものを指します。
関数従属の理解と属性閉包の計算が候補キー判定の基本です。
FAQ
Q: 候補キーとスーパーキーの違いは何ですか?
A: スーパーキーは全属性を決定できる属性集合の総称で、候補キーはその中で最小のものです。
A: スーパーキーは全属性を決定できる属性集合の総称で、候補キーはその中で最小のものです。
Q: 属性閉包とは何ですか?
A: ある属性集合から関数従属を使って決定できるすべての属性の集合を指します。候補キー判定に使います。
A: ある属性集合から関数従属を使って決定できるすべての属性の集合を指します。候補キー判定に使います。
関連キーワード: 関数従属、候補キー、属性閉包、最小性、スーパーキー

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

