DBデータベーススペシャリスト試験 午前Ⅱ

令和4年度秋期 データベーススペシャリスト 午前Ⅱ 問3

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

関係R(A,B,C,D,E)において,関数従属性A→B,A→C,{C,D}→Eが成立する。最初に属性集合{A,B}に対して,これらの関数従属性によって関数的に決定される属性をこの属性集合に加える。この操作を繰り返して得られる属性集合(属性集合の閉包)はどれか。

選択肢

  1. ア
    {A,B,C}
  2. イ
    {A,B,C,D}
  3. ウ
    {A,B,C,D,E}
  4. エ
    {A,B,E}
解き方のヒントを見る

関数従属性の閉包を考える視点

与えられた属性集合から、従属性を手掛かりに追加可能な属性を段階的に検討する問題です。出発点と追加の連鎖に注目し、途中の変化も記録して整理しましょう。

この問題で問われていること

確認の中心は、現在の属性集合が各従属性の左辺を満たすかを順に見て、追加候補がなくなるまでの依存関係を整理することです。初期集合と各段階を区別して考えます。

視点

属性集合の閉包では、最初に与えられた属性を起点として、利用できる関数従属性を段階的に確認します。一度加わった属性が後続の判定に影響する点を意識しましょう。

確認ポイント

  • 最初に与えられた属性集合を明確にする
  • 各従属性を適用できる条件を確認する
  • 新たな属性が増えなくなるまでの変化を整理する
正解と解説を見る

正解

ア

解説

属性集合の閉包は、初期集合に対して適用可能な関数従属性の右辺を追加し、これ以上追加できなくなるまで繰り返して求める。

理由

初期集合は{A,B}です。A→BとA→Cでは左辺のAが初期集合に含まれるため、Cを追加できる。追加後は{A,B,C}となる。

比較

{C,D}→Eを適用するにはCとDの両方が必要です。しかし、Dを導く関数従属性は示されていないため、DやEを追加することはできない。

選択肢ア(正解)

これは正解だよ。初期集合{A,B}では、Aを左辺に持つA→Cを適用できるためCを追加できる。その後の集合は{A,B,C}となるが、{C,D}→EにはDも必要であり、Dは導出できないため、これ以上属性は増えない。

選択肢イ

これは不正解だよ。{A,B,C,D}とするには、初期集合からDを導出できなければならない。しかし、示された関数従属性の右辺にDはなく、A→BやA→CからDを得ることもできないため、Dを含める根拠がない。

選択肢ウ

これは不正解だよ。Eを導出する関数従属性は{C,D}→Eであるため、CだけでなくDも集合に含まれていなければならない。ところがDを導出する規則はなく、Eを追加する前提が成立しないため、この集合にはならない。

選択肢エ

これは不正解だよ。A→Cが成立するので、初期集合{A,B}からCは追加できる。一方、Eを得るにはCとDが必要であり、Dがない状態では{C,D}→Eを適用できないため、{A,B,E}という集合にはならない。

学習のポイント

関数従属性の左辺と右辺を区別し、適用条件を確認する。

出典:独立行政法人 情報処理推進機構(IPA)令和4年度秋期 データベーススペシャリスト試験 午前Ⅱ 問3(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針