令和3年度 秋期 午前Ⅱ 問3
データベース設計
候補キーに関する問題
関係 R(A,B,C)の候補キーが{A,B}と{A,C}であり,{A,B}→C 及び C→B の関数従属性があるとき,関係 R はどこまでの正規形の条件を満足しているか。
- ア第 1 正規形
- イ第 2 正規形
- ウ第 3 正規形
- エボイス・コッド正規形
答えと解説を見る
✓ これが正解ウ第 3 正規形
解説
全属性がキー属性で第3正規形、C→B のため BCNF ではありません。
関係 R の候補キーは {A,B} と {A,C} なので、A、B、C の三つの属性はどれもいずれかの候補キーに含まれるキー属性です。非キー属性が一つもないため、非キー属性が候補キーの一部に従属することも、推移的に従属することも起こりようがなく、第2正規形と第3正規形の条件を満たします。一方、ボイス・コッド正規形では、成り立つ自明でない関数従属の左辺が、どれも候補キーを含んでいなければなりません。C→B の左辺 C は単独では候補キーを含まないため、この条件を満たしません。したがって第3正規形までです。まず全ての属性がキー属性かを確かめ、次に関数従属の左辺がキーを含むかで BCNF を判定する二段構えで見分けます。
ほかの選択肢はなぜ違うのか
- ア第 1 正規形:第1正規形は、属性の値が分割できない単一の値であることを求める段階です。R はそれを前提に、さらに部分関数従属を持たない第2正規形や、推移的な従属を持たない第3正規形の条件も満たしているので、第1正規形どまりとするのは低く見積もりすぎです。
- イ第 2 正規形:第2正規形は、非キー属性が候補キーの一部だけに従属しないことを求めます。R には非キー属性が一つもなく、その上の第3正規形の条件まで満たしているので、満たす段階の上限を第2正規形とするのは一段足りません。
- エボイス・コッド正規形:ボイス・コッド正規形では、成り立つ関数従属の左辺がどれも候補キーを含む必要があります。C→B の左辺 C は候補キー {A,C} の一部にすぎず、単独ではキーにならないので、この段階の条件を満たしていません。
出典:令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問3
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)