修了試験 2024-06-09実施分 基本情報技術者試験 問19
“従業員”表を第3正規形にしたものはどれか。 ここで,下線部は主キーを表す。 従業員(従業員番号,従業員氏名,{技能コード,技能名,技能経験年数}) ({ } は繰返しを表す)

正答3
解説
正解は3です。 繰返し項目を含む表を、第3正規形まで正規化する問題です。 元の表は、従業員ごとに{技能コード、技能名、技能経験年数}が繰り返される非正規形です。 関数従属は、従業員番号で従業員氏名が決まり、技能コードで技能名が決まります。 技能経験年数は、従業員番号と技能コードの組で初めて決まります。 【選択肢別解説】 1:× 選択肢1(図のア)は、従業員(従業員番号、従業員氏名)と技能(技能コード、技能名、技能経験年数)の2表です。 技能経験年数は従業員と技能の組で決まる値なのに、技能コードだけの表に置いています。 どの従業員の経験年数かを表せず、正しく分解できていません。 2:× 選択肢2(図のイ)の1つ目の表は、主キーが従業員番号と技能コードの組です。 しかし従業員氏名は従業員番号だけで決まる部分関数従属なので、第2正規形を満たしません。 3:○ 選択肢3(図のウ)は、(従業員番号、技能コード、技能経験年数)、(従業員番号、従業員氏名)、(技能コード、技能名)の3表です。 どの表でも、主キー以外の列は主キー全体だけに従属しています。 部分関数従属も推移的関数従属もないので、第3正規形です。 4:× 選択肢4(図のエ)は、技能経験年数を主キーが従業員番号だけの表に置いています。 技能経験年数は技能ごとに異なる値なので、従業員番号だけでは決まりません。 【ポイント】 第1正規形で繰返しを除き、第2正規形で部分関数従属を、第3正規形で推移的関数従属を除きます。 各列が「何によって決まるか」を書き出してから、表を分けると判断しやすくなります。まとめて解く
修了試験 2024-06-09実施分を通しで解く(60問)→