修了試験 2016-12-11実施分 基本情報技術者試験 問28
"従業員"表を第3正規形にしたものはどれか。 ここで,下線部は主キーを表す。 従業員(従業員番号,従業員氏名,{技能コード,技能名,技能経験年数}) ({ }は繰返しを表す) 選択肢は図を参照。

正答3
解説
正解は3です。 繰返し項目を含む"従業員"表を、第3正規形まで分解した結果を選ぶ問題です。 各選択肢は図に示された表の組で、下線は主キーです。 まず、項目どうしの関数従属を整理します。 従業員氏名は従業員番号だけで決まります。 技能名は技能コードだけで決まります。 技能経験年数は、どの従業員がどの技能を何年経験したかなので、従業員番号と技能コードの組で決まります。 【選択肢別解説】 1:× 選択肢1(図のア)は、従業員表(主キー従業員番号)と、技能コードを主キーとする技能コード・技能名・技能経験年数の表に分けています。 技能経験年数は技能コードだけでは決まらず、どの従業員がどの技能をもつかという対応も失われます。 2:× 選択肢2(図のイ)は、1表目の主キーが従業員番号と技能コードの組で、そこに従業員氏名を含めています。 従業員氏名は主キーの一部である従業員番号だけで決まる部分関数従属なので、第2正規形にもなっていません。 3:○ 選択肢3(図のウ)は、従業員番号と技能コードの組を主キーとして技能経験年数をもつ表、従業員番号で従業員氏名を決める表、技能コードで技能名を決める表の3表です。 部分関数従属も推移的関数従属もなく、第3正規形です。 4:× 選択肢4(図のエ)は、従業員番号を主キーとする表に技能経験年数を入れています。 1人の従業員は複数の技能をもち、技能ごとに経験年数が異なるので、従業員番号だけでは技能経験年数が決まりません。 【ポイント】 第1正規形は繰返しの排除、第2正規形は部分関数従属の排除、第3正規形は推移的関数従属の排除です。 「その項目は何によって一意に決まるか」を考えると正解に近づけます。まとめて解く
修了試験 2016-12-11実施分を通しで解く(80問)→