令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問5
テクノロジ/データベース関数従属に関する記述のうち,適切なものはどれか。ここで,A,B,C はある関係の属性の集合とする。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問5
- アB が A に関数従属し,C が A に関数従属すれば,C は B に関数従属する。
- イB が A の部分集合であり,C が A に関数従属すれば,C は B に関数従属する。
- ウB が A の部分集合であれば,A は B に関数従属する。
- エB と C の和集合が A に関数従属すれば,B と C はそれぞれ A に関数従属する。
正解:エ
解説
関数従属の表記「XはYに関数従属する」は,Yが決定する側でX(Y→X)を意味します。この意味で各選択肢を検討すると,A→(B∪C)が成り立つときA→BとA→Cがそれぞれ成り立つという分解則(decomposition rule)だけが,一般に常に成り立つ性質です。ほかの選択肢は,いずれも反例が存在し常には成立しません。
選択肢ごとの解説
- ア誤り。A→BかつA→Cが成り立っても,B→C(CがBに関数従属する)が常に成り立つとは限りません。BとCがAから独立に決まる属性であれば,B→Cは成立しません。
- イ誤り。B⊆AかつA→Cであっても,B→C(CがBに関数従属する)が常に成り立つとは限りません。属性の一部であるBだけではCの値を決定できない場合があります。
- ウ誤り。B⊆Aであっても,B→A(AがBに関数従属する)が常に成り立つとは限りません。部分集合Bの値だけでは,Aに含まれる残りの属性の値まで一意に決まるとは限りません。
- エ正しい。A→(B∪C)が成り立てば,A→BとA→Cがそれぞれ成り立ちます。これはArmstrongの公理系から導かれる分解則です。