DBデータベーススペシャリスト試験 午前Ⅱ
平成21年度春期 データベーススペシャリスト 午前Ⅱ 問2
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アAC
- イACD
- ウAD
- エCD
解き方のヒントを見る
関数従属を整理する一つの視点
正規形を検討するときは、属性同士の関係をいきなり分類せず、まず与えられた関数従属がどの属性集合からどの属性を決めるものか、問題文の表記と照らして丁寧に整理することが大切です。
この問題で問われていること
一つの観点として、候補となる属性集合と、それによって決まる属性の対応関係に注目してください。全属性を一度に判断せず、従属の左側・右側を区別して、どの関係を確認中かを明確にします。
視点
関数従属は、属性間の決定関係を読み取るための手掛かりです。正規形の名称を先に当てはめるのではなく、対象となる関係ごとに、どの属性の組合せが他の属性と結び付いているかを表に沿って確認すると、判断の根拠を整理しやすくなります。
確認ポイント
- 従属の左側と右側を取り違えていないか
- 単一属性の場合と複数属性の場合を区別して読めているか
- 正規形の名称ではなく、問題文に示された関係だけを根拠にしているか
正解と解説を見る
正解
ウ
解説
候補キーは、関係Rの全属性A・B・C・D・Eを関数従属から決定できる属性集合のうち、どの属性も取り除けない最小のものです。ADから始めるとA→BCによりBとCが得られ、CとDがそろうためCD→Eも適用できます。したがって全属性を決定でき、AまたはDを除くと全属性には届かないため最小性も満たします。
理由
ADの属性閉包を求めると、まずA→BCからBとCを得ます。その結果、CとDがそろうのでCD→Eを適用でき、A・B・C・D・Eの全属性を決定できます。さらにAを除くとDだけではAやBを得られず、Dを除くとAからA・B・Cまでは得られてもDやEを得られないため、ADは最小です。
比較
候補キーであるには、全属性を決定できることに加えて、余分な属性を含まないことが必要です。ACはDを決定できず、CDはAとBを決定できません。ACDは全属性を決定できますが、Cを除いたADだけでも全属性を決定できるため、最小性を満たしません。
選択肢ア
これは不正解だよ。ACからはA→BCによってBとCを得られますが、Dを決定する関数従属は与えられていません。そのためCD→Eの左辺をそろえられず、DとEを含むRの全属性を決定できません。したがって候補キーにはなりません。
選択肢イ
これは不正解だよ。ACDからはA→BCとCD→Eを適用できるので、Rの全属性を決定できます。しかしCを取り除いたADだけでもA→BCでCを得た後、CD→Eを適用して全属性を決定できます。余分な属性を含むため、最小性を満たしません。
選択肢ウ(正解)
これは正解だよ。ADからA→BCを適用するとBとCが得られ、もともとのDと合わせてCD→Eも適用できます。これによりA・B・C・D・Eの全属性を決定できます。AまたはDのどちらかを除くと全属性を決定できないため、ADは最小の候補キーです。
選択肢エ
これは不正解だよ。CDからはCD→EによってEを得られますが、A→BCを適用するために必要なAは決定できません。その結果、AとBを含む全属性には到達できないため、CDはRの候補キーにはなりません。
学習のポイント
属性閉包を求めた後、全属性を得られることと最小性を別々に確認する。
出典:独立行政法人 情報処理推進機構(IPA)平成21年度春期 データベーススペシャリスト試験 午前Ⅱ 問2(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針