DBデータベーススペシャリスト試験 午前Ⅱ
平成24年度春期 データベーススペシャリスト 午前Ⅱ 問5
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア{A,B,C}
- イ{A,B,C,D}
- ウ{A,B,C,D,E}
- エ{A,B,E}
解き方のヒントを見る
関数従属と正規形の確認視点
関数従属と正規形を検討するときは、属性間の依存関係を整理し、どの決定項が何を左右するかを確認します。定義を機械的に当てはめず、前提と例外、属性の役割も意識しましょう。
この問題で問われていること
一つの観点として、各属性の値が他の属性を決める関係を、表全体の意味と照らし合わせて整理してください。候補ごとの条件を急いで結論づけず、依存関係の境界に注目します。
視点
属性同士の依存関係を、候補キーや属性の役割と切り分けて整理します。表の意味を保ちながら、依存がどの範囲に及ぶかを確認しましょう。
確認ポイント
- 決定項と従属する属性を区別して整理する
- 属性が表す対象や役割を確認する
- 依存関係が表全体のどの範囲に及ぶかを見る
正解と解説を見る
正解
ア
解説
属性閉包は、開始属性集合から関数従属性を繰り返し適用し、これ以上追加できる属性がなくなるまで求めます。今回はAからCを導出できますが、Dが開始集合にも導出結果にもないため、CとDを左辺とする従属性は適用できません。
理由
開始集合は{A,B}です。A→BはBがすでに含まれており、A→CによってCを追加できます。その後の集合は{A,B,C}となりますが、{C,D}→EにはDが必要です。Dは導出できないため、Eは追加されません。
比較
したがって閉包にはA、B、Cが含まれ、DとEは含まれません。Dを含む選択肢は、開始集合または関数従属性からDが得られるという条件を満たしていません。また、Eだけを加える選択肢も、Eの導出に必要なDが不足しています。
選択肢ア(正解)
これは正解だよ。開始集合{A,B}では、関数従属性A→Cを適用してCを追加できます。A→Bによる新しい追加はなく、{C,D}→EにはDが必要ですがDは得られないため、最終的な閉包は{A,B,C}です。
選択肢イ
これは不正解だよ。{A,B,C,D}とするにはDが開始集合に含まれるか、何らかの関数従属性から導出される必要があります。しかし、示された関数従属性の右辺にDはなく、Dを追加する根拠がありません。
選択肢ウ
これは不正解だよ。Eを導出する関数従属性は{C,D}→Eですが、適用にはCとDの両方が必要です。CはA→Cで得られる一方、Dは得られないため、この条件ではEを追加できません。
選択肢エ
これは不正解だよ。AとBに加えてEを含めるには、Eを導出する{C,D}→Eを適用する必要があります。しかし、その前提となるCとDのうちDが不足しているため、Eだけを追加することはできません。
学習のポイント
関数従属性の左辺が閉包に含まれるかを確認し、追加後に再計算する手順を学びます。
出典:独立行政法人 情報処理推進機構(IPA)平成24年度春期 データベーススペシャリスト試験 午前Ⅱ 問5(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針