問題
問32 “従業員”表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。
従業員(従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})
解説と解答
関係データベース(リレーショナルデータベース)では,データの重複を避け,保守・管理を容易にするために,正規化と呼ばれる作業を実施します。正規化の程度を示す正規形は,第1正規形~第5正規形などの種類がありますが,基本情報技術者試験では,第1正規形~第3正規形まで理解していれば十分です。第1正規形は,列の値として繰り返し部分がない表のことです。問題の“従業員”表で考えると,以下のようになります。
“従業員”表の第1正規形
従業員(従業員番号,従業員氏名)
従業員技能(従業員番号,技能コード,技能名,技能経験年数)
第2正規形は,主キー(表の行を一意に特定できる列または列の組み合わせ)に対して,主キー以外が完全に従属する(一意に定まる)ものです。従業員技能は,従業員番号と技能コードの複合キーであり,いずれか一方の値だけに従属する主キー以外の項目を取り除きます。この場合は,技能名は技能コードだけに従属するので別の表とします。
“従業員”表の第2正規形
従業員(従業員番号,従業員氏名)
従業員技能(従業員番号,技能コード,技能経験年数)
技能(技能コード,技能名)
第3正規形は,第2正規形で主キー以外の項目のうち,主キーとなるものを別の表にしたものです。本問では,先の第2正規形がすでに第3正規形の要件を含んでいます。
以上より正解は,選択肢ウです。
アイティ・アシスト 代表取締役