必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成28年度春季問題一覧
  4. 平成28年度春季問題27-解答・解説-分析

平成28年度春季問題

問題27

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

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

解答:エ

<解説>

通常、正規化は第1正規形~第3正規形の3段階で行う。

  • 第1正規化:繰り返し部分を別レコードとして分離し固定長レコードにする。
  • 第2正規化:レコードの主キーに完全従属する属性と、主キーの一部分にのみ部分従属する属性を別のレコードとして分離させる。
  • 第3正規化:主キー以外の属性に従属する属性を別レコードに分割する。

関数従属とは,表内のある項目の値が決定すると別の項目の値もただ一つに決まる関係のことである。問題文の〔正規化する関係〕の図から,「属性X の値が決まると,属性Y,Z,……の値が一意に決まる」という関係(従属関係)を洗い出します。

(1)a が決まると,b,c,d が決まる。

(2)b が決まると,c が決まる。

(3)b とd が決まると,e が決まる。
  (1)~(3)から,適切な関係を考える。

  • (1)について:a は,a ~ d の情報を格納する表(表1 とする)の主キーとなる。c は,(2)の関係から,表1 とは別の表に格納しなければならない。
  • (2)について:第3 正規形では「非キー属性は全て互いに関数従属しない」状態にするため,表1 にa ~ d を全て格納すると,表1 の中の非キー属性bとc の間に関数従属の関係ができてしまい,第3 正規形の条件を満たすことができない。よって,b とc は,表1 とは別に用意した表(表2 とする)に格納する。表1 には,a,b,d の情報を格納する。
  • (3) について:b とd は,b,d,e の情報を格納する表(表3 とする)の主キー となる。

以上より,問題に示された関係は次の3 つの表に分割できます。
表1(a,b,d)
表2(b,c)
表3(b,d,e)
この構造を正しく表すのはエ となる。