令和5年度 データベーススペシャリスト試験 午前Ⅱ 問1 関数従属性と候補キー

Tech

本記事は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} $$

  1. ${A, B} \rightarrow {C}$ より、$C$ が加わります。 $$ {A, B}^+ = {A, B, C} $$

  2. ${C} \rightarrow {D}$ より、$D$ が加わります。 $$ {A, B}^+ = {A, B, C, D} $$

  3. ${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条件:全属性を一意に決定できる「一意性」と、それ以上属性を減らせない「極小性」を同時に満たす必要がある。

  • 閉包の順次計算:与えられた関数従属性を矢印に沿って順番に適用し、属性を拡張していく。

  • 超キーとの区別:一意性のみを満たし極小性を満たさないものは「超キー(スーパーキー)」であり、候補キーとは異なる。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました