令和7年度 秋期 午前Ⅱ 問5
データベース設計
関数従属に関する記述
関数従属に関する記述のうち,適切なものはどれか。ここで,A,B,Cはある関係の属性の集合とする。
- アBがAに関数従属し,CがAに関数従属すれば,CはBに関数従属する。
- イBがAの部分集合であり,CがAに関数従属すれば,CはBに関数従属する。
- ウBがAの部分集合であれば,AはBに関数従属する。
- エBとCの和集合がAに関数従属すれば,BとCはそれぞれがAに関数従属する。
答えと解説を見る
✓ これが正解エBとCの和集合がAに関数従属すれば,BとCはそれぞれがAに関数従属する。
解説
BとCの和集合がAに関数従属すれば、BとCもそれぞれAに従属します。
属性の集合 A の値が決まると B∪C の値が決まるなら、B∪C の一部である B の値も、C の値も、当然 A によって決まります。これは関数従属の推論規則の一つで、分解の規則と呼ばれます。逆に、B と C がそれぞれ A に関数従属すれば B∪C も A に関数従属するという合併の規則もあり、二つは対になっています。見分ける軸は、どちらがどちらを決めるかという向きです。B が A に関数従属するとは、A の値が決まれば B の値が一つに決まる、つまり A→B のことです。選択肢を記号の矢印に書き直してから確かめると、向きを取り違えた記述を外せます。
ほかの選択肢はなぜ違うのか
- アBがAに関数従属し,CがAに関数従属すれ…:A→B と A→C が成り立っても、B と C の間に従属があるとは限りません。たとえば A が社員番号、B が氏名、C が部署なら、どちらも社員番号で決まりますが、氏名から部署が決まるとは言えません。
- イBがAの部分集合であり,CがAに関数従属…:B が A の部分集合で A→C が成り立っても、A の一部である B だけで C が決まるとは限りません。たとえば受注番号と商品コードの組で受注数が決まっても、受注番号だけでは受注数は決まりません。
- ウBがAの部分集合であれば,AはBに関数従…:B が A の部分集合であれば、A の値が決まれば B の値も決まるので、成り立つのは A→B、つまり B が A に関数従属することです。A が B に関数従属するという記述は、向きが逆になっています。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問5
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)