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

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

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

問題

関係R(A,B,C,D,E)に対し,関数従属の集合W={A→{B,C},{A,D}→E,{A,C,D}→E,B→C,C→B}がある。関数従属の集合X,Y,Zのうち,Wから冗長な関数従属をなくしたものはどれか。 X={A→B,B→C,C→B,{A,D}→E} Y={A→C,B→C,C→B,{A,D}→E} Z={A→B,C→B,{A,C,D}→E}

選択肢

  1. ア
    Xだけ
  2. イ
    XとY
  3. ウ
    YとZ
  4. エ
    Zだけ
解き方のヒントを見る

関数従属と正規形の確認視点

関数従属と正規形を整理するときは、属性間の決まり方と候補キー・主キーとの関係を切り分け、各正規形の条件を順番に照合しましょう。部分的な依存と推移的な依存も区別して考えます。

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

各関数従属の左辺が候補キーとどう関係するかを一つの軸にして、非キー属性への依存がどの範囲に及ぶのかを段階的に見直してください。

視点

まず候補キーを整理し、各属性がどの属性の組合せによって決まると考えられるかを書き出します。そのうえで、依存の直接性や経路、キー全体との関係を分けて確認します。

確認ポイント

  • 候補キーと非キー属性を区別して整理できているか
  • 各関数従属の左辺がキー全体か一部かを確認したか
  • 非キー属性どうしの依存経路を別に点検したか
正解と解説を見る

正解

イ

解説

A→{B、C}を単一属性への従属に分解すると、A→BとA→Cになる。また、{A、C、D}→Eは{A、D}→Eから導けるため冗長です。さらにA→BとB→CからA→Cを、A→CとC→BからA→Bを導けるため、XとYはいずれもWと同値です。

理由

A→{B、C}はA→BとA→Cに分けて扱える。{A、C、D}→Eは、より少ない属性を左辺にもつ{A、D}→Eから導けるため、Wでは冗長です。残った従属集合がWの従属を相互に導けるかを確認する。

比較

XではA→BとB→CからA→Cを導けるため、WのA→{B、C}を保てる。YではA→CとC→BからA→Bを導けるため、同じくA→{B、C}を表せる。どちらもB→C、C→B、{A、D}→Eを含むので、Wと同値です。Zは左辺や従属関係が異なり、Wと同じ集合を表せない。

選択肢ア

これは不正解だよ。XはWと同値な簡約集合だが、同じ条件を満たす集合がXだけとは限らない。YでもA→CとC→BからA→Bを導けるため、A→{B,C}に相当する関係を保てる。したがって「Xだけ」は不適切である。

選択肢イ(正解)

これは正解だよ。XはA→BとB→CからA→Cを導け、YはA→CとC→BからA→Bを導ける。両方ともB→C、C→B、{A,D}→Eを保持し、冗長な{A,C,D}→Eを除いてもWと同値になる。

選択肢ウ

これは不正解だよ。YはWと同値な簡約集合だが、Zは同じ関係を表さない。ZにはB→Cがなく、A→BだけからB→Cを導くことはできない。また、{A,C,D}→Eを残しており、冗長性の除去という点でもWの構成と一致しない。

選択肢エ

これは不正解だよ。ZではA→BとC→Bを含むが、WにあるB→Cを導出できないため、A→{B,C}と同じ関係を保てない。さらに{A,D}→Eを除いて{A,C,D}→Eを残しているので、冗長な従属を除いた集合とはいえない。

学習のポイント

関数従属の分解、推移的導出、冗長性除去後の同値性判定を学ぶ。

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

関連する過去問一覧

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