DBデータベーススペシャリスト試験 午前Ⅱ
令和4年度秋期 データベーススペシャリスト 午前Ⅱ 問3
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア{A,B,C}
- イ{A,B,C,D}
- ウ{A,B,C,D,E}
- エ{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による補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針