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

平成28年度 春期 午前 問27

データベース

関数従属に関する問題

関数従属を次のように表記するとき,属性 a 〜 e で構成される関係を第 3 正規形にしたものはどれか。

〔関数従属〕(枠と矢印の図)
(1) 属性 X の値が与えられると,属性 Y の値を一意に決めることができる。
    図 … X|Y|Z の 3 枠の上に,X から出て Y に向かう矢印が 1 本。
(2) 属性 X と属性 Y の二つの値が与えられると,属性 Z の値を一意に決めることができる。
    図 … X|Y|Z の 3 枠の上に,X と Y の 2 か所から出た線が合流して Z に向かう矢印が 1 本。

〔正規化する関係〕a|b|c|d|e の 5 枠
  枠の上の矢印 3 本 … いずれも a から出る ⇒ a→b / a→c / a→d
  枠の下の矢印 2 本 … b から出て c へ 1 本 ⇒ b→c
                  b と d から出た線が合流して e へ 1 本 ⇒ b と d の組→e

〔選択肢の 4 つ〕(原典は属性名を並べた枠。ここでは 1 つの関係を { } で囲んで写した)
 ア {a,b,c,d}  {b,d,e}
 イ {a,b,c,d}  {b,c}  {b,d,e}
 ウ {a,b,d}    {b,d,c,e}
 エ {a,b,d}    {b,c}  {b,d,e}
答えと解説を見る

✓ これが正解エ3 つの関係(a・b・d / b・c / b・d・e)

解説

経由して決まる組を外に出した、三つの関係になります。

図のままでは矢印の合流を見落とすので、まず矢印の一覧に書き直します。a から b へ、a から c へ、a から d へ、b から c へ、そして b と d の二つがそろって初めて e が決まる、の五本です。次に主キーを決めます。a だけで b と c と d が決まり、b と d から e も決まるので、主キーは a 一つです。主キーが単一の属性なので、その一部で決まるという状態は起こりえず、この関係はすでに第二正規形を満たしています。あとは推移関数従属、つまり主キー以外の属性を経由して決まるものを外へ出すだけです。c は b を経由して決まるので b と c の関係に切り出します。e は b と d を経由して決まるので b と d と e の関係に切り出します。元の関係には a と、a が直接決める b と d が残ります。よって a・b・d と、b・c と、b・d・e の三つに分かれた形が答えです。この正規化は毎回同じ手順で進みます。

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

出典:平成28年度 春期 応用情報技術者試験 午前 問27(改変:原典の図表をテキストに書き起こした)

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