過去問解きまくり研究所 ホーム

令和4年度 秋期 午前Ⅱ 問4

データベース設計

冗長な関数従属をなくしたもの

関係 R(A,B,C,D,E)に対し,関数従属の集合 W={A→{B,C},{A,D}→E,{A,C,D}→E,B→C,C→B}がある。関数従属の集合 X,Y,Z のうち,W から冗長な関数従属をなくしたものはどれか。

X={A→B,B→C,C→B,{A,D}→E}

Y={A→C,B→C,C→B,{A,D}→E}

Z={A→B,C→B,{A,C,D}→E}

答えと解説を見る

✓ これが正解イX と Y

解説

X と Y は W と同値で無駄が無く、Z は B→C を導けません。

W から冗長な関数従属をなくした集合は、W と同じ関数従属を全て導けて、しかもどれを外しても導けなくなるものです。W では B→C と C→B があるので、A→B と A→C は一方から他方を導けます。A→{B,C} があれば {A,C,D}→E は {A,D}→E から導けます。X は A→B と B→C から A→C も得られ、W の全てを導けます。Y は A→C と C→B から A→B が得られ、やはり W と同じです。X、Y とも、どれか一つを外すと導けない関数従属が出ます。Z には B→C が無く、B から C を導けないので W と等しくありません。W と同値かどうかと、無駄が残っていないかの二点を確かめるのが手順です。

ほかの選択肢はなぜ違うのか

出典:令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問4

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)