DBデータベーススペシャリスト試験 午前Ⅱ
平成28年度春期 データベーススペシャリスト 午前Ⅱ 問3
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア{A,B,C}→{A,B}
- イ{A,C}→{A,B}
- ウ{A,C}→{A,B,C}
- エ{B,C}→{A,C}
解き方のヒントを見る
関数従属を段階的に見直す視点
属性どうしの依存関係を整理し、どの属性の組合せが他の属性に影響するかを確認しながら、正規化の段階を順に検討する。
この問題で問われていること
一つの属性または属性集合から別の属性が決まる関係に注目し、その関係がキーとの結び付きや重複の生じ方にどう関係するかを整理する。
視点
まず属性間の依存関係を書き出し、決定する側と決定される側を区別する。その後、キーとの関係、依存の経路、同じ情報の繰り返しに注目して整理する。
確認ポイント
- 決定する属性と決定される属性を区別できているか
- キー全体との関係と一部との関係を分けて見ているか
- 別の属性を経由した依存や情報の重複に気付けるか
正解と解説を見る
正解
エ
解説
関数従属A→B、B→Cから、左辺にAを含む関数従属は増加律や推移律などで導出できる。一方、BとCだけからAを導く根拠は与えられていないため、導けないのはエです。
理由
A→B、B→Cが成立している。左辺に含まれる属性は反射律で導出でき、Aを含む左辺にはA→Bを増加律で適用できる。そのため、Aを含む選択肢では必要な属性を導出できる。
比較
{B,C}からは、反射律によってBとCは扱えるが、与えられた従属はAからB、BからCへ向かう関係であり、Aへ戻る規則はない。したがって、{B,C}→{A,C}は導出できない。
選択肢ア
これは不正解だよ。左辺の{A,B,C}には右辺のAとBがともに含まれているため、反射律によって{A,B,C}→{A,B}が導ける。与えられた関数従属を使わなくても成立する。
選択肢イ
これは不正解だよ。左辺の{A,C}にはAが含まれるので、反射律でAを扱える。また、A→BをCについて増加すると{A,C}→{B,C}が得られ、右辺のBも導出できるため、{A,C}→{A,B}は成立する。
選択肢ウ
これは不正解だよ。左辺の{A,C}に含まれるAとCは反射律で導出でき、A→BをCについて増加すればBも導出できる。したがって、左辺からA、B、Cのすべてを導ける。
選択肢エ(正解)
これは正解だよ。{B,C}からは反射律でBとCを扱えるが、Aを導く関数従属は与えられていない。B→CやA→Bの向きからAを逆算することはできないため、{B,C}→{A,C}は導出できない。
学習のポイント
関数従属の閉包を求め、反射律・増加律・推移律を使って導出可能性を判断する。
出典:独立行政法人 情報処理推進機構(IPA)平成28年度春期 データベーススペシャリスト試験 午前Ⅱ 問3(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針