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

平成27年度春期 データベーススペシャリスト 午前Ⅱ 問3

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

問題

関係Rは属性{A,B,C,D,E}から成り,関数従属 A→{B,C},{C,D}→E が成立する。これらの関数従属から決定できるRの候補キーはどれか。

選択肢

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

関数従属を見極める整理の視点

関数従属と正規形を整理するときは、属性同士の決まり方だけでなく、どの属性の組合せが識別に関わるか、依存関係がどの範囲に及ぶかを順序立てて確認する。そのうえで、表の構造を段階的に見直す。

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

焦点は、与えられた属性間の依存関係を、識別に使うまとまりとの関係で整理することです。各依存がどの属性集合を前提にし、他の属性へどのように影響するかを言葉で確認し、正規形の名称だけで判断しないようにします。

視点

属性間の依存関係を、識別に必要なまとまり、依存の広がり、表の構造という三つの観点に分けて整理します。個々の用語の暗記だけでなく、依存関係同士のつながりを確認することが大切です。

確認ポイント

  • 識別に関わる属性のまとまりを確認する
  • 各属性間の依存関係を一つずつ整理する
  • 依存関係と表の構造を対応づけて見直す
正解と解説を見る

正解

ウ

解説

候補キーは、属性集合の閉包が関係Rの全属性を含み、かつ一部の属性を除くとその性質を失う最小の集合です。AとDから、AによってBとCが得られ、CとDによってEも得られるため、全属性を決定できます。

理由

{A,D}から始めると、A→{B,C}によりBとCが得られます。その結果、CとDがそろうので{C,D}→Eを適用でき、A,B,C,D,Eの全属性を決定できます。AまたはDを除くと、この関数従属の連鎖による全属性の決定ができないため、最小性も満たします。

比較

候補キーは、単に多くの属性を含む集合ではなく、全属性を決定できることと、不要な属性を含まないことの両方が必要です。したがって、各選択肢について属性閉包が全属性になるか、さらに構成要素を削除できないかを確認します。

選択肢ア

これは不正解だよ。{A,C}ではAからBとCを得られますが、Dを含んでいないため、{C,D}→Eを適用できません。そのためEを決定できず、関係Rの全属性を決定する集合になりません。

選択肢イ

これは不正解だよ。{A,C,D}からはAによりBを得られ、CとDによりEも得られるので全属性を決定できます。しかし、CはA→{B,C}によって得られるため、Cを除いても全属性を決定でき、最小性を満たしません。

選択肢ウ(正解)

これは正解だよ。{A,D}では、A→{B,C}によりBとCを得た後、CとDを使ってEを決定できます。したがって全属性を決定でき、AまたはDを除くとその連鎖が成立しないため、最小の決定集合です。

選択肢エ

これは不正解だよ。{C,D}からは{C,D}→EによりEを得られますが、Aを決定する関数従属は与えられていません。したがってAとBを決定できず、Cは最初から含まれているものの、全属性を決定する候補キーにはなりません。

学習のポイント

属性閉包を使った候補キー判定と、候補キーの最小性の確認方法を学びます。

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

関連する過去問一覧

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