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

情報処理技術者試験

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

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

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

文書情報

記事タイトル
令和5年度 データベーススペシャリスト試験 午前Ⅱ 問1 関数従属性と候補キー
作成日
更新日
Source URL
https://papanda925.com/?p=7430

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

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