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

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

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

問題

関係R(A,B,C,D,E)において,関数従属 {A,B}→C,{B,C}→D,D→{A,E} が成立する。これらから決定できるRの候補キーを全て挙げたものはどれか。

選択肢

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

関数従属を整理する一つの視点

属性どうしの依存関係を読むときは、個々の用語を暗記するより、どの情報が別の情報を決める関係として表されているかを丁寧に切り分け、段階ごとの条件を照合することに集中しましょう。

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

確認する観点は、与えられた依存関係が識別に関わる属性や各属性の役割とどう結び付くかです。関係を図式化し、重複や分解後の対応関係を順に見比べてください。

視点

関数従属と正規形を整理するときは、属性間の依存を主語と決定先に分けて書き出し、識別に関わる属性、繰り返し現れる情報、分解した場合に保つべき対応関係を別々に観察します。名称の暗記だけで判断せず、条件のまとまりを一つずつ照合するのが有効です。

確認ポイント

  • 依存関係の左側と右側に置かれた属性の役割を区別できているか確認する
  • 識別に関わる属性と、それ以外の属性の結び付き方を整理する
  • 分解や統合を考えたとき、情報の重複と対応関係の保持を観察する
正解と解説を見る

正解

ウ

解説

候補キーは、関係Rの全属性を関数従属によって決定でき、かつ属性を一つでも除くとその性質を失う最小の属性集合です。各候補の属性閉包と最小性を調べると、該当する候補キーを判定できます。

理由

{A,B}から{A,B}→CによってCを得られます。するとBとCから{B,C}→Dを適用でき、さらにD→{A,E}によってEも得られます。このため{A,B}の属性閉包はRの全属性になり、AまたはBを除くと全属性を決定できないため最小です。

比較

同様に{B,C}からD、A、Eを得られ、BまたはCを除くと全属性を決定できません。また{B,D}からAとEを得た後、AとBからCを得られます。これらは全属性を決定し、各属性を除くと決定能力を失います。

選択肢ア

これは不正解だよ。{A,B,C}は、{A,B}からCを決定できるため、Cを加えなくても全属性を決定できる{A,B}を含んでいます。したがって全属性を決定できても、候補キーに必要な最小性を満たしません。

選択肢イ

これは不正解だよ。{A,B}と{B,C}はそれぞれ候補キーですが、この選択肢は{B,D}を挙げていません。DからAとEを得た後、AとBからCを得られるため、{B,D}も候補キーとして含める必要があります。

選択肢ウ(正解)

これは正解だよ。{A,B}からC、続いてD、A、Eを決定でき、{B,C}からもD、A、Eを決定できます。さらに{B,D}からAとEを得て、AとBからCを得られます。いずれも属性を除くと全属性を決定できない最小集合です。

選択肢エ

これは不正解だよ。{B,C}は全属性を決定できますが、{C,D}については、与えられた関数従属からBを決定する規則がありません。したがってRの全属性を決定できず、候補キーにはなりません。

学習のポイント

関数従属を順に適用する属性閉包と、余分な属性を含まない最小性の確認を学びます。

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

関連する過去問一覧

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