平成25年度 春期 午前Ⅱ 問2
データベース設計
関数従属に関する記述
関数従属に関する記述のうち,適切なものはどれか。ここで,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 に関数従属するなら、A の値を一つ決めると、B と C を合わせた値の組が一つに決まります。その組の中から B の部分だけを取り出しても、C の部分だけを取り出しても、やはり一つに決まります。したがって B は A に関数従属し、C も A に関数従属します。これは関数従属の推論規則の一つにあたる形です。矢印の向きを取り違えた記述が並ぶので、決める側と決まる側を最初に書き出してから読むと迷いません。
ほかの選択肢はなぜ違うのか
- アB が A に関数従属し,C が A に…:A が B も C も決めるとしても、B の値から C の値が決まるとは限りません。例えば社員番号が氏名と部署を決めても、同じ氏名の人が別の部署にいれば、氏名から部署は一つに決まりません。
- イB が A の部分集合であり,C が A…:B が A の一部で、A が C を決めていても、A の残りの属性がないと C が決まらない場合があります。受注番号と明細番号の組が数量を決めても、受注番号だけでは数量が決まらないのがその例です。
- ウB が A の部分集合であれば,A は …:B が A の部分集合なら、成り立つのは逆向きの、B が A に関数従属するという関係です。全体の A が決まればその一部の B も決まりますが、一部の B から全体の A が決まるとは限りません。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)