令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問3
テクノロジ/データベース関係 R (A, B, C) の候補キーが {A, B} と {A, C} であり,{A, B} → C 及び C→B の関数従属性があるとき,関係 R はどこまでの正規形の条件を満足しているか。
出典:令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問3
- ア第 1 正規形
- イ第 2 正規形
- ウ第 3 正規形
- エボイス・コッド正規形
正解:ウ
解説
候補キーが{A,B}と{A,C}であることから,A,B,Cは全ていずれかの候補キーを構成する主属性(prime attribute)であり,非キー属性は存在しません。{A,B}→Cは決定項{A,B}自体が候補キーであるため問題なく成立します。C→Bについては,決定項Cは候補キーではない(スーパーキーでない)ため,全ての決定項が候補キーであることを要求するボイス・コッド正規形(BCNF)の条件には違反します。しかし第3正規形の条件は「決定項が候補キーであるか,又は従属する属性が主属性であること」であり,C→Bは従属先のBが主属性であるためこの条件を満たします。したがって関係Rは第3正規形までの条件を満たし,ボイス・コッド正規形の条件までは満たしません。
選択肢ごとの解説
- ア誤り。第1正規形は属性値が原子値であることを要求するだけの緩い条件であり,Rはそれよりも進んだ第3正規形の条件まで満たしています。
- イ誤り。第2正規形は非キー属性が候補キーに完全従属することを要求する条件ですが,Rには非キー属性が一つも存在しないため,この条件だけではRの正規化の到達点を正しく表せません。Rはさらに進んだ第3正規形の条件まで満たします。
- ウ正しい。RのA,B,Cは全て候補キーを構成する主属性であり,非キー属性は存在しません。C→Bは決定項Cが候補キーでないためBCNFには違反しますが,従属先のBが主属性であるため第3正規形の条件は満たしています。
- エ誤り。C→Bにおいて決定項Cは候補キーではないため,「全ての決定項が候補キーである」というボイス・コッド正規形の条件には違反しており,Rはボイス・コッド正規形の条件までは満たしていません。