平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2
テクノロジ/データベース関数従属に関する記述のうち,適切なものはどれか。ここで,A,B,Cはある関係の属性の集合とする。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2
- アBがAに関数従属し,CがAに関数従属すれば,CはBに関数従属する。
- イBがAの部分集合であり,CがAに関数従属すれば,CはBに関数従属する。
- ウBがAの部分集合であれば,AはBに関数従属する。
- エBとCの和集合がAに関数従属すれば,BとCはそれぞれがAに関数従属する。
正解:エ
解説
関数従属の公理系(アームストロングの公理)には,反射律・増加律・推移律のほか,そこから導かれる分解則(decomposition rule)や合併則(union rule)がある。分解則は,属性集合Aが属性集合B∪Cに関数従属していれば,AはBに関数従属し,かつAはCに関数従属する,という規則である。設問エはこの分解則そのものであり,常に成り立つ。一方,他の選択肢はいずれも一般には成り立たない誤った推論であり,反例を挙げることができる。
選択肢ごとの解説
- ア誤り。BとCがともにAに関数従属していても,CとBの間に関数従属関係があるとは限らない。BとCはAから並列に決定される別々の属性集合にすぎず,一方が他方を一意に決定する保証はない。
- イ誤り。BがAの部分集合であるという事実と,CがAに関数従属するという事実からは,CがBに関数従属するとは一般にいえない。BはAの一部の属性にすぎず,Cの値を一意に決定できるとは限らない。
- ウ誤り。BがAの部分集合であることは,自明な関数従属としてA→B(AがBを決定する)が成り立つことを意味するにすぎず,逆方向のB→A(AがBに関数従属する)が成り立つとは一般にいえない。
- エ正しい。関数従属の公理系における分解則により,A→(BとCの和集合)が成り立てば,A→BとA→Cがそれぞれ成り立つ。