IPA過去問ドリル

平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2

テクノロジ/データベース

関数従属に関する記述のうち,適切なものはどれか。ここで,A,B,Cはある関係の属性の集合とする。

出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2

正解:エ

解説

関数従属の公理系(アームストロングの公理)には,反射律・増加律・推移律のほか,そこから導かれる分解則(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がそれぞれ成り立つ。
データベーススペシャリストの過去問を演習モードで解く