データベーススペシャリスト試験 2009年 午前202


関係Rの関係スキーマがR(A, B, C, D, E)であり, 関数従属A→BC, CD→Eが成立する。これらの関数従属から決定できるRの候補キーはどれか。ここで、A, B, C, D, Eは属性集合であり、XYはXとYの和集合を表す。
AC
ACD
AD(正解)
CD

解説

関係Rの候補キー判定問題【午前2 解説】

要点まとめ

  • 結論:関数従属A→BCとCD→Eから、候補キーはADである。
  • 根拠:ADの属性閉包が全属性ABCEDを含み、最小性も満たすため候補キーとなる。
  • 差がつくポイント:属性閉包の計算と最小性の確認を正確に行うことが重要である。

正解の理由

関係スキーマR(A, B, C, D, E)において、関数従属A→BCとCD→Eが成立しています。候補キーは、全属性を決定できる最小の属性集合です。
ADの属性閉包を計算すると、まずA→BCよりBとCが得られ、さらにCD→EよりEも得られます。つまり、AD+ = {A, D, B, C, E} = 全属性集合です。
また、ADは最小性も満たしており、A単独やD単独では全属性を決定できません。よって、候補キーはウ: ADです。

よくある誤解

属性閉包の計算を途中で止めたり、最小性の確認を怠って複数属性の組み合わせを誤って候補キーとすることがあります。

解法ステップ

  1. 関数従属から属性閉包を計算する対象の属性集合を決める。
  2. 各候補の属性集合の属性閉包を計算し、全属性を含むか確認する。
  3. 全属性を含む集合の中で、最小の属性集合(部分集合が候補キーでないもの)を選ぶ。
  4. 最小性を満たす属性集合が候補キーとなる。

選択肢別の誤答解説

  • ア: AC
    AC+を計算すると、A→BCよりBとCは得られるが、DやEは得られず全属性を決定できない。
  • イ: ACD
    ACD+は全属性を含むが、ADだけで全属性を決定できるため最小性を欠く。候補キーではない。
  • ウ: AD
    AD+ = {A, D, B, C, E}で全属性を決定し、最小性も満たすため正解。
  • エ: CD
    CD+はCD→EよりEは得られるが、AやBは得られず全属性を決定できない。

補足コラム

候補キーの判定は関数従属の属性閉包計算が基本です。属性閉包は、与えられた属性集合から関数従属を繰り返し適用し、決定可能な属性を増やしていく手法です。最小性の確認も重要で、候補キーは部分集合に候補キーが存在しない最小の属性集合です。

FAQ

Q: 属性閉包の計算はどのように行いますか?
A: 属性集合に関数従属の左辺が含まれていれば右辺の属性を追加し、これを繰り返して決定可能な属性を増やします。
Q: 候補キーと主キーの違いは何ですか?
A: 候補キーは最小のキー属性集合の候補であり、主キーはその中から選ばれた一つのキーです。

関連キーワード: 関数従属, 属性閉包, 候補キー, 関係スキーマ, 正規化
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ