平成24年度 秋期 午前 問26
データベース
関数従属性を挙げたもの
六つのタプルから成る関係 R の単一の属性間において成立する全ての関数従属性を挙げたものはどれか。ここで,X→Y は,X が Y を関数的に決定することを表す。
〔関係 R〕
A | B | C
300 | 阿部商店 | 3
300 | 阿部商店 | 3
400 | 鈴木商店 | 2
400 | 鈴木商店 | 2
500 | 鈴木商店 | 1
500 | 鈴木商店 | 1- アA→B
- イA→C,C→A
- ウA→B,A→C,C→A,C→B
- エA→B,A→C,B→C,C→A,C→B
答えと解説を見る
✓ これが正解ウA→B,A→C,C→A,C→B
解説
同じ値の行で行き先が一種類なら成立します。
関数従属が成り立つかどうかは、ひとつの決まった手順で判定できます。ある属性の値が同じ行を集めたとき、もう一方の属性の値が必ず一種類に決まるなら成立、二種類以上に分かれるなら不成立です。この関係 R は六行ありますが、同じ内容の行が二回ずつ並んでいるだけで、中身は三種類しかありません。ですから重複をまとめてから、単一の属性どうしの組合せを六通りすべて表にして当てていきます。設問が全ての関数従属性を挙げよと求めている以上、思いついたものが見つかった時点で打ち切ってはいけません。六通りを当て終えると成立するのは四つで、A から B へ、A から C へ、C から A へ、C から B への四本になります。B を起点にする二本は、同じ値が二行にまたがっていて行き先が一種類に決まらないため成立しません。関数従属には向きがありますから、片方が成り立っても逆向きは別に確かめてください。この判定は正規化の出発点になる作業です。
ほかの選択肢はなぜ違うのか
- アA→B:A から B への一本だけを挙げていますが、設問は成立するものを全て挙げよと求めています。六通りを当てると、ほかにも一種類に決まる組が三つ見つかるので、数が足りません。
- イA→C,C→A:A から C へと C から A への二本だけを挙げています。この二本はどちらも成立しますが、B を行き先にする二本も同じように一種類に決まるため、やはり取りこぼしになります。
- エA→B,A→C,B→C,C→A,C→B:成立する四本に、B を起点として C を行き先にする一本を足しています。B の値が同じ二行を見ると行き先が二種類に分かれるので、この一本だけが成立せず、余分を足した形です。
出典:平成24年度 秋期 応用情報技術者試験 午前 問26(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)