問題

問32 “従業員”表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。

従業員(従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})

({ }は繰返しを表す)

テクノロジ系>技術要素>データベース>データベース設計

解説と解答

 関係データベース(リレーショナルデータベース)では,データの重複を避け,保守・管理を容易にするために,正規化と呼ばれる作業を実施します。正規化の程度を示す正規形は,第1正規形~第5正規形などの種類がありますが,基本情報技術者試験では,第1正規形~第3正規形まで理解していれば十分です。

 第1正規形は,列の値として繰り返し部分がない表のことです。問題の“従業員”表で考えると,以下のようになります。

“従業員”表の第1正規形
 従業員(従業員番号,従業員氏名)
 従業員技能(従業員番号技能コード,技能名,技能経験年数)

 第2正規形は,主キー(表の行を一意に特定できる列または列の組み合わせ)に対して,主キー以外が完全に従属する(一意に定まる)ものです。従業員技能は,従業員番号と技能コードの複合キーであり,いずれか一方の値だけに従属する主キー以外の項目を取り除きます。この場合は,技能名は技能コードだけに従属するので別の表とします。

“従業員”表の第2正規形
 従業員(従業員番号,従業員氏名)
 従業員技能(従業員番号技能コード,技能経験年数)
 技能(技能コード,技能名)

 第3正規形は,第2正規形で主キー以外の項目のうち,主キーとなるものを別の表にしたものです。本問では,先の第2正規形がすでに第3正規形の要件を含んでいます。

 以上より正解は,選択肢ウです。

佐塚 彰夫(さづか あきお)
アイティ・アシスト 代表取締役
ITに関するコンサルティングや教育を実施するアイティ・アシストの代表。新人研修やプロジェクトマネージャ育成研修をはじめ,基本情報技術者試験,応用情報技術者試験,プロジェクトマネージャ試験などの試験対策研修の実績も豊富。著書に「短期完全マスター 基本情報技術者 2009年版」などがある。