データベース
基本情報技術者試験 科目A免除 修了試験 20230723 実施分 問19
“従業員”表を第 3 正規形にしたものはどれか。ここで,下線部は主キーを表す。
従業員(従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})
({ } は繰返しを表す)
各選択肢は複数の表の組。属性名の並びで,下線のある属性が主キー。
ア: 表1 (従業員番号, 従業員氏名) 下線=従業員番号 / 表2 (技能コード, 技能名, 技能経験年数) 下線=技能コード
イ: 表1 (従業員番号, 従業員氏名, 技能コード, 技能経験年数) 下線=従業員番号,技能コード / 表2 (技能コード, 技能名) 下線=技能コード
ウ: 表1 (従業員番号, 技能コード, 技能経験年数) 下線=従業員番号,技能コード / 表2 (従業員番号, 従業員氏名) 下線=従業員番号 / 表3 (技能コード, 技能名) 下線=技能コード
エ: 表1 (従業員番号, 技能コード) 下線=従業員番号,技能コード / 表2 (従業員番号, 従業員氏名, 技能経験年数) 下線=従業員番号 / 表3 (技能コード, 技能名) 下線=技能コード
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20230723 実施分 問19(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:ウ
覚える知識
関数従属性に基づく第3正規形への分解
第3正規形は、第2正規形で部分関数従属を除き、さらに推移的関数従属も除いた状態である。
この問題で必要なこと
繰返し項目を分離し、部分関数従属(従業員番号→氏名、技能コード→技能名)も分離して、従業員・技能・従業員技能の3表に分解する。
ひっかけ
技能経験年数や技能名を主キーの一部にしか従属しない表に残してしまう選択肢で、部分関数従属の見落としを誘う。
この知識の出題:本試験系 6 回・免除試験 32 回(公開問題での観測値)