平成27年度 春期 午前Ⅱ 問3
データベース設計
関数従属に関する問題
関係Rは属性{A,B,C,D,E}から成り,関数従属A→{B,C},{C,D}→Eが成立する。これらの関数従属から決定できるRの候補キーはどれか。
- ア{A,C}
- イ{A,C,D}
- ウ{A,D}
- エ{C,D}
答えと解説を見る
✓ これが正解ウ{A,D}
解説
{A,D}から全属性が決まり、どちらを欠いても決まりません。
候補キーは、その属性の組から関係のすべての属性が決まり、しかも一つでも欠けると決まらなくなる最小の組です。属性の組から関数従属をたどり、決まる属性を順に集めると確かめられます。{A,D}から始めると、A→{B,C}でBとCが加わり、次にCとDがそろうので{C,D}→EでEが加わります。これでA、B、C、D、Eの全属性がそろいます。Aを外すとDだけが残り、Dだけを左辺にもつ関数従属はないので何も増えません。Dを外すとA、B、Cまでしか届きません。どちらも欠かせないので、{A,D}は最小の組であり候補キーです。どの関数従属の右辺にも現れない属性は必ずキーに含まれる、という点から入ると探しやすくなります。
ほかの選択肢はなぜ違うのか
- ア{A,C}:{A,C}から関数従属をたどってもA、B、Cまでで、Dはどの関数従属の右辺にも現れないため加わりません。Dが決まらない以上、{C,D}→Eも使えず、全属性はそろいません。
- イ{A,C,D}:{A,C,D}からは全属性が決まりますが、CはAから導けるので、外しても{A,D}で足ります。余分な属性を含んでいるため最小の組とは言えず、候補キーにはなりません。
- エ{C,D}:{C,D}からはEが加わるだけで、AとBには届きません。Aを右辺にもつ関数従属がない以上、Aを含まない組からは関係のすべての属性を決めることができません。
出典:平成27年度 春期 データベーススペシャリスト試験 午前Ⅱ 問3
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)