DBデータベーススペシャリスト試験 午前Ⅱ
令和2年度10月 データベーススペシャリスト 午前Ⅱ 問3
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア{A,C}
- イ{A,C,D}
- ウ{A,D}
- エ{C,D}
解き方のヒントを見る
関数従属を見抜くための観点
関数従属と正規形を整理するときは、属性同士の決まり方に注目し、候補となる識別単位、部分的な依存、推移的な依存を順に切り分けて考えます。表全体の構造を比較することも大切です。
この問題で問われていること
一つの識別単位を基準に、各属性が何によって決まると読めるかを整理することに集中してください。正規形の名称を先に当てはめず、依存関係の構造を図式化して確認します。
視点
表の属性を、識別に関わるものとそれ以外に分けて眺めます。ある属性の値が別の属性の組合せに左右される可能性を洗い出し、依存の向きと範囲を比較すると、正規化を検討する出発点を作れます。
確認ポイント
- 識別に使う属性の組合せを、候補ごとに整理できているか
- 非識別属性が、識別単位の一部だけに依存していないか
- 属性間の依存が、別の属性を経由して重なっていないか
正解と解説を見る
正解
ウ
解説
関数従属A→{B,C}によりAからBとCを得られる。さらにAとDを持つ集合ではCとDがそろうため、{C,D}→EによってEも決定できる。したがって{A,D}はRの全属性を決定し、どちらか一方を除くと全属性を決定できない候補キーです。
理由
{A,D}からは、A→{B,C}によってBとCが得られる。もともとのDと合わせて{C,D}が成立するため、{C,D}→EによってEも得られる。よって{A,D}の閉包はA,B,C,D,Eとなり、Rの全属性を決定できる。
比較
Aを除くとDだけでは他属性を決定できず、Dを除くとAからBとCは得られても、Eを決定するためのDが不足する。このため{A,D}は全属性を決定できる極小の属性集合であり、候補キーとなる。
選択肢ア
これは不正解だよ。{A,C}ではAからBとCを得られるが、Eを決定する関数従属{C,D}→Eを使うためのDが含まれていない。そのため、{A,C}からRの全属性を決定できず、候補キーにはならない。
選択肢イ
これは不正解だよ。{A,C,D}はAからBとCを得られ、CとDからEも決定できるため全属性を決定できる。しかし、Cを除いた{A,D}でも同じ性質を持つので、属性が極小ではなく候補キーではない。
選択肢ウ(正解)
これは正解だよ。AからBとCを決定でき、Dと得られたCによって{C,D}→Eを適用できる。したがって{A,D}は全属性を決定できる。またAまたはDを除くと全属性を決定できないため、極小性も満たす。
選択肢エ
これは不正解だよ。{C,D}からは関数従属{C,D}→EによってEを決定できるが、Aを決定する関数従属は与えられていない。したがってBやAを含む全属性を決定できず、候補キーにはならない。
学習のポイント
属性集合の閉包と、候補キーに必要な極小性を確認する。
出典:独立行政法人 情報処理推進機構(IPA)令和2年度10月 データベーススペシャリスト試験 午前Ⅱ 問3(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針