令和元年度 秋期 午前Ⅱ 問21
データベース
完全関数従属性を満たすための条件
関数従属{A,B}→Cが完全関数従属性を満たすための条件はどれか。
- ア{A,B}→B又は{A,B}→Aが成立していること
- イA→B→C又はB→A→Cが成立していること
- ウA→C及びB→Cのいずれも成立しないこと
- エC→{A,B}が成立しないこと
答えと解説を見る
✓ これが正解ウA→C及びB→Cのいずれも成立しないこと
解説
AだけやBだけではCが決まらないとき、完全関数従属です。
完全関数従属とは、属性の組{A,B}でCが決まり、しかもその組の一部、つまりAだけ、あるいはBだけではCが決まらない状態をいいます。組の一部でCが決まってしまう場合は部分関数従属と呼ばれ、第2正規形にするときの分解の対象になります。したがって、{A,B}→Cが完全関数従属であるための条件は、A→CもB→Cも成り立たないことです。ほかの肢は、完全かどうかを分ける、組の一部だけでCが決まるかという点を正しく扱っていません。完全は組の全部が必要、部分は一部で足りる、と対で覚えてください。
ほかの選択肢はなぜ違うのか
- ア{A,B}→B又は{A,B}→Aが成立し…:{A,B}→Bや{A,B}→Aは、属性の組からその組に含まれる属性が決まるという、どんな場合にも成り立つ自明な関係です。Cが組の一部で決まるかどうかとは無関係なので、条件になりません。
- イA→B→C又はB→A→Cが成立しているこ…:A→B→Cが成り立つと、推移的にA→Cも成り立ち、AだけでCが決まってしまいます。B→A→Cの場合も同様にBだけでCが決まるので、これは完全関数従属を崩す側の関係です。
- エC→{A,B}が成立しないこと:C→{A,B}が成り立つかどうかは、Cから組が決まるかという逆向きの関係です。組の一部でCが決まるかという完全関数従属の判定には関わらないので、条件として的外れです。
出典:令和元年度 秋期 システムアーキテクト試験 午前Ⅱ 問21
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)