令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問3
テクノロジ/データベース関係Rは属性A,B,C,D,Eから成り,関数従属A→{B,C},{C,D}→Eが成立するとき,Rの候補キーはどれか。
出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問3
- ア{A,C}
- イ{A,C,D}
- ウ{A,D}
- エ{C,D}
正解:ウ
解説
候補キーとは,関係の全属性を関数従属によって一意に決定できる,極小な(それ以上小さくできない)属性の集合です。与えられた関数従属はA→{B,C}と{C,D}→Eです。{A,D}の閉包を計算すると,まずA→{B,C}によりB,Cが加わり{A,B,C,D}となり,さらに{C,D}→Eにより{A,B,C,D,E},すなわち全属性に到達します。真部分集合である{A}単独ではB,Cのみ,{D}単独では何も追加されず全属性には届かないため,{A,D}は極小性を満たし候補キーとなります。一方,{A,C}の閉包は{A,B,C}にとどまりD,Eを導けず候補キーではありません。{A,C,D}の閉包は全属性に到達しますが,真部分集合の{A,D}だけで既に全属性を導けるため極小ではなく,候補キーではありません。{C,D}の閉包は{C,D,E}にとどまりA,Bを導けず候補キーではありません。したがって,Rの候補キーは{A,D}(ウ)です。
選択肢ごとの解説
- ア誤り。{A,C}の閉包はA→{B,C}によって{A,B,C}となりますが,DやEを導く関数従属がないため全属性に到達せず,候補キーではありません。
- イ誤り。{A,C,D}の閉包は{A,B,C,D,E}となり全属性に到達しますが,真部分集合の{A,D}だけでも同じく全属性を導けるため極小性を満たさず,候補キーの条件(極小性)に反します。
- ウ正しい。{A,D}の閉包はA→{B,C}でB,Cが加わり{A,B,C,D},さらに{C,D}→EによってEが加わり{A,B,C,D,E}という全属性に到達します。真部分集合の{A}や{D}単独では全属性を導けないため極小性を満たし,候補キーとなります。
- エ誤り。{C,D}の閉包は{C,D}→Eによって{C,D,E}となりますが,AやBを導く関数従属がないため全属性に到達せず,候補キーではありません。