応用情報技術者 2015年 秋期 午前2 問28
問題文
関係R (A, B, C, D, E, F) において、次の関数従属が成立するとき、候補キーとなるのはどれか。
〔関数従属〕
A→B, A→F, B→C, C→D, {B,C} →E, {C,F} →A
選択肢
ア:B
イ:{B, C}
ウ:{B, F}(正解)
エ:{B, D, E}
関係Rの候補キー判定【午前2 解説】
要点まとめ
- 結論:候補キーは{B, F}である。
- 根拠:関数従属から全属性を決定できる最小の属性集合が候補キーとなるため。
- 差がつくポイント:関数従属の伝播を正確に追い、最小性を見極める力が問われる。
正解の理由
{B, F}は関数従属の連鎖を利用して全属性A, B, C, D, E, Fを決定できる。
具体的には、B→C、C→D、{B,C}→E、{C,F}→A、A→Fの関係から、{B, F}で全属性をカバーできるため候補キーとなる。
具体的には、B→C、C→D、{B,C}→E、{C,F}→A、A→Fの関係から、{B, F}で全属性をカバーできるため候補キーとなる。
よくある誤解
B単独や{B, C}は全属性を決定できないため候補キーにならない。
また、{B, D, E}は冗長で最小性を満たさない。
また、{B, D, E}は冗長で最小性を満たさない。
解法ステップ
- 関数従属を整理し、属性の決定範囲を把握する。
- 各選択肢の属性集合から決定可能な属性を推移的に求める。
- 全属性(A, B, C, D, E, F)を決定できるか確認する。
- 最小性を検証し、余分な属性がないかをチェックする。
- 候補キーとなる属性集合を特定する。
選択肢別の誤答解説
- ア: B
B単独ではC, Dは決定できるがAやE、Fを決定できず不十分。 - イ: {B, C}
{B, C}でEは決定できるがFが決定できず、全属性をカバーできない。 - ウ: {B, F}
B→C→D、{B,C}→E、{C,F}→A、A→Fの連鎖で全属性を決定可能。 - エ: {B, D, E}
DとEは他の属性を決定できず、冗長で最小性を満たさない。
補足コラム
候補キーとは、関係のすべての属性を決定できる最小の属性集合です。
関数従属の推移律を活用し、決定可能な属性を拡張していくことが重要です。
また、候補キーは複数存在する場合もありますが、問題文の関数従属からは{B, F}が最小集合となります。
関数従属の推移律を活用し、決定可能な属性を拡張していくことが重要です。
また、候補キーは複数存在する場合もありますが、問題文の関数従属からは{B, F}が最小集合となります。
FAQ
Q: 候補キーと主キーの違いは何ですか?
A: 候補キーは全属性を決定できる最小の属性集合で、主キーはその中から選ばれた一つのキーです。
A: 候補キーは全属性を決定できる最小の属性集合で、主キーはその中から選ばれた一つのキーです。
Q: なぜ{B, C}ではなく{B, F}が候補キーになるのですか?
A: {B, C}ではFを決定できず全属性をカバーできないため、Fを含む{B, F}が必要です。
A: {B, C}ではFを決定できず全属性をカバーできないため、Fを含む{B, F}が必要です。
関連キーワード: 関数従属、候補キー、関係データベース、正規化、属性決定

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

