応用情報技術者試験 応用情報技術者試験 平成28年度春期 午前 問27: 関数従属を次のように表記するとき,属性a〜eで構成される関係を第3正規形にしたものはどれか。 〔関数従属〕 (1) 属性Xの値が与えられると,属性Yの値を一意に
関数従属を次のように表記するとき,属性a〜eで構成される関係をにしたものはどれか。
〔関数従属〕
(1) 属性Xの値が与えられると,属性Yの値を一意に決めることができる。
(2) 属性Xと属性Yの二つの値が与えられると,属性Zの値を一意に決めることができる。
〔する関係〕
図に示す関数従属の関係(属性a〜eを含む関係図) 43.44%
問題本文
関数従属を次のように表記するとき,属性a〜eで構成される関係を第3正規形にしたものはどれか。 〔関数従属〕 (1) 属性Xの値が与えられると,属性Yの値を一意に決めることができる。 (2) 属性Xと属性Yの二つの値が与えられると,属性Zの値を一意に決めることができる。 〔正規化する関係〕 図に示す関数従属の関係(属性a〜eを含む関係図)
選択肢
- ア.(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)
正解
エ. (a, b, d) (b, c) (b, d, e)
解説
第3正規形は、候補キーの一部だけで決まる属性(部分関数従属)と、キー以外の属性を経由して間接的に決まる属性(推移的関数従属)を、それぞれ別の関係に分けて取り除いた形である。図の関数従属では候補キーが{a, b}で、b→c(候補キーの一部bからの部分関数従属)、a・b→d、b・d→e という関係になっている。これを、元の主キーを残す関係(a, b, d)、bからcへの従属を分けた関係(b, c)、(b, d)からeへの従属を分けた関係(b, d, e)の3つに分割すると、部分関数従属も推移的関数従属も解消され第3正規形となる。したがって正解はエである。
選択肢ごとの解説
- ア.(a, b, c, d)の中に b→c という候補キーの一部からの部分関数従属が残っており、これは第2正規形に違反するため第3正規形ではなく誤り。
- イ.分割した関係が(b, c)・(b, d, e)と適切でも、(a, b, c, d)に c が残ったままで b→c の部分関数従属が解消されておらず、第3正規形ではないため誤り。
- ウ.(b, d, c, e)の中に b→c という部分関数従属が含まれており、cを分離できておらず第3正規形になっていないため誤り。
- エ.(a, b, d)で主キー{a,b}からの従属、(b, c)でbからの従属、(b, d, e)で(b,d)からの従属に分割しており、部分関数従属・推移的関数従属がともに解消されているため第3正規形として正しい。
応用情報技術者試験 平成28年度春期 午前 の過去問一覧へ戻る・問27