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

令和3年度秋期 データベーススペシャリスト 午前Ⅱ 問3

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

問題

関係R(A,B,C)の候補キーが{A,B}と{A,C}であり,{A,B}→C及びC→Bの関数従属性があるとき,関係Rはどこまでの正規形の条件を満足しているか。

選択肢

  1. ア
    第1正規形
  2. イ
    第2正規形
  3. ウ
    第3正規形
  4. エ
    ボイス・コッド正規形
解き方のヒントを見る

関数従属を見抜くための確認視点

属性どうしの依存関係を整理するときは、値の組合せが別の属性をどの範囲で決めると読めるかに注目し、候補となる決定側と従属側を混同しないように確認します。また、関係全体との対応も一貫して見ます。

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

一つの関数従属を、決定に使う属性の組と決定される属性の組に分けて読み、その関係が候補キーや属性の重複にどう関係しそうかを、定義に照らして整理することに集中してください。

視点

関数従属と正規形を考える際は、属性集合間の決定関係を一つずつ整理し、キーとの関係や依存の重なりを定義に沿って確認します。

確認ポイント

  • 左辺と右辺の役割を入れ替えず、どの属性集合が判断材料として扱われているか確認する
  • 依存関係を一つずつ書き出し、部分的な依存や推移的な依存を混同しないよう整理する
  • キー候補との関係では、全属性を覆うことと不要な属性がないことを別々に確認する
正解と解説を見る

正解

ウ

解説

候補キーが複数ある場合でも、関数従属性ごとに正規形の条件を確認します。すべての属性が候補キーに含まれる点と、決定項がスーパーキーかどうかを区別すると、第3正規形まで満たし、さらに上位の条件には届かないことが分かります。

理由

候補キーは{A,B}と{A,C}です。したがってA、B、Cはいずれも候補キーに含まれる素属性です。{A,B}→Cでは左辺が候補キーであり、C→Bでは左辺Cはスーパーキーではないものの、右辺Bが素属性なので、第3正規形の条件を満たします。

比較

一方、ボイス・コッド正規形では、すべての自明でない関数従属性について左辺がスーパーキーである必要があります。C→BではCがスーパーキーではないため、この条件を満たしません。よって、満たす範囲は第3正規形です。

選択肢ア

これは不正解だよ。第1正規形は、属性値が原子的であることなどを満たす段階です。この関係では、候補キーと関数従属性を用いて、さらに第2正規形や第3正規形の条件まで判定できます。そのため、第1正規形だけを満たすという説明は不十分です。

選択肢イ

これは不正解だよ。第2正規形では、候補キーの一部だけに非キー属性が関数従属する部分関数従属性を排除します。この関係ではA、B、Cがすべて候補キーに含まれる素属性なので、非キー属性への部分関数従属を問題にする状況ではなく、第3正規形まで確認できます。

選択肢ウ(正解)

これは正解だよ。{A,B}→Cでは左辺が候補キーです。C→BではCはスーパーキーではありませんが、Bは候補キー{A,B}に含まれる素属性です。したがって第3正規形の条件を満たします。一方、BCNFではCがスーパーキーである必要があるため、そこまでは満たしません。

選択肢エ

これは不正解だよ。ボイス・コッド正規形では、すべての自明でない関数従属性の決定項がスーパーキーでなければなりません。C→BにおいてCは候補キーでもスーパーキーでもないため、この条件に反します。ただしBは素属性なので、第3正規形の条件は保たれます。

学習のポイント

候補キー、素属性、スーパーキーを区別して、3NFとBCNFの判定基準を比較する。

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

関連する過去問一覧

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