【解説】正解は選択肢【ウ】です。候補キーとは、関係のすべての属性を一意に決定できる極小な属性の集合です。{A, D}の閉包を求めると、Aから{B, C}が決まり、{C, D}からEが決まるため、全属性{A, B, C, D, E}が一意に定まります。
【詳細解説】■ 本問の核心・解法のポイント
候補キーを求めるには、各属性集合の「閉包(関数従属をたどって導出できるすべての属性の集合)」を計算し、全属性 {A, B, C, D, E} を過不足なく(極小性を満たして)導出できるものを特定します。
与えられた関数従属:
1. A → {B, C}
2. {C, D} → E
また、関数従属の右辺に一度も現れない属性(決定される側にない属性)は、必ず候補キーに含まれなければなりません。
右辺に現れる属性は B, C, E です。したがって、A と D は他のどの属性からも決定されないため、候補キーには必ず {A, D} が含まれる必要があります。
・各選択肢の徹底解説:
・ア:{A, C}+ を求めると、A → {B, C} より {A, B, C} となり、D や E を導出できません。
・イ:{A, C, D}+ は全属性を導出できますが、部分集合である {A, D} だけで全属性を導出できるため、極小性を満たさず候補キー(スーパーキーではある)にはなりません。
・ウ:【選択肢ウ★】{A, D}+ を計算します。
- 初期状態:{A, D}
- A → {B, C} より:{A, B, C, D}
- {C, D} → E より:{A, B, C, D, E}(全属性)
真部分集合 {A}+ = {A, B, C}、{D}+ = {D} では全属性を導出できないため極小性も満たし、正しく候補キーとなります。
・エ:{C, D}+ を求めると、{C, D} → E より {C, D, E} となり、A や B を導出できません。
よって正解はウです。