本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度 データベーススペシャリスト試験 午前Ⅱ 問1 関数従属性と候補キー
関係データベースにおける関数従属性から候補キーを導出する問題であり、キーの定義と属性の閉包を正しく理解することが解法の核です。
【問題】
関係 $R(A, B, C, D, E, F)$ において、次の関数従属性が成り立っている。この関係 $R$ の候補キーはどれか。
【関数従属性】 – ${A, B} \rightarrow {C}$ – ${C} \rightarrow {D}$ – ${D} \rightarrow {E}$ – ${D} \rightarrow {F}$
ア ${A, B}$ イ ${A, B, C}$ ウ ${A, B, D}$ エ ${A, B, E, F}$
【解説】
候補キーとは、関係 $R$ のすべての属性を一意に識別(関数決定)できる最小の属性集合です。これを判定するために、各属性集合の閉包(その集合から関数従属性を辿って導出できるすべての属性の集合)を求めます。
まず、集合 ${A, B}$ の閉包 ${A, B}^+$ を求めます。
$$ {A, B}^+ = {A, B} $$
${A, B} \rightarrow {C}$ より、$C$ が加わります。 $$ {A, B}^+ = {A, B, C} $$
${C} \rightarrow {D}$ より、$D$ が加わります。 $$ {A, B}^+ = {A, B, C, D} $$
${D} \rightarrow {E}$ および ${D} \rightarrow {F}$ より、$E$ と $F$ が加わります。 $$ {A, B}^+ = {A, B, C, D, E, F} $$
すべての属性 ${A, B, C, D, E, F}$ が導出されたため、${A, B}$ は関係 $R$ のすべての属性を一意に決定できます。また、${A}$ 単体や ${B}$ 単体ではすべての属性を決定できないため、${A, B}$ は極小性(最小限の構成であること)を満たしており、候補キーとなります。
graph LR
A --> AB["A, B"]
B --> AB
AB --> C
C --> D
D --> E
D --> F
【選択肢の吟味】
| 選択肢 | 判定 | 解説 |
|---|---|---|
| ア | 正解 | ${A, B}$ の閉包は全属性を含み、かつその真部分集合は全属性を決定できないため、極小性を満たす候補キーです。 |
| イ | 不正解 | ${A, B, C}$ は全属性を決定できますが、部分集合 ${A, B}$ も全属性を決定できるため、極小性を満たさず候補キーにはなりません(超キーに該当)。 |
| ウ | 不正解 | ${A, B, D}$ も同様に、不要な属性 $D$ が含まれており、極小性を満たさないため候補キーではありません。 |
| エ | 不正解 | ${A, B, E, F}$ も同様に、部分集合 ${A, B}$ だけで全属性を決定できるため、極小性を満たさず候補キーではありません。 |
【ポイント】
候補キーの2条件:全属性を一意に決定できる「一意性」と、それ以上属性を減らせない「極小性」を同時に満たす必要がある。
閉包の順次計算:与えられた関数従属性を矢印に沿って順番に適用し、属性を拡張していく。
超キーとの区別:一意性のみを満たし極小性を満たさないものは「超キー(スーパーキー)」であり、候補キーとは異なる。

