データベース設計 (全49問中35問目)
No.35
"従業員"表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。
従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})
({ }は繰返しを表す)
({ }は繰返しを表す)
出典:平成21年春期 問32
- [出題歴]
- 基本情報技術者 H14春期 問67
分類
テクノロジ系 » データベース » データベース設計
正解
ウ
解説
"従業員"表は、従業員の氏名、及び、経験がある技能をデータ化した表です。{技能コード,技能名,技能経験年数}は繰り返し項目であり、従業員1人につき複数の技能経験を有している場合があることを意味しています。
例えばAさんは、切削の経験が2年、組み立ての経験が1年というようなデータを保持する表になります。まず主キーを考えます。"従業員番号"だけでは複数ある技能を一意に決められないので、"従業員番号"と"技能コード"の組合せが主キーということになります。
さらに手順に沿って"従業員"表を正規化していきます。まず第1正規形にするために繰り返し項目の排除を行います。第2正規形は、主キーの一部によって一意に定まる(部分従属関係にある)項目を別の表に分離します。"従業員番号"から"従業員氏名"が一意に決まりますし、"技能コード"がわかれば"技能名"も決定します。したがってこの2つの関係を別表に分離します。第3正規化では、主キー以外の項目について従属関係がある場合に別表に分離しますが、第2正規化の段階で従属関係のある項目は存在しないので、上記の状態は既に第3正規形の条件を満たしています。
したがって「ウ」が正解です。
例えばAさんは、切削の経験が2年、組み立ての経験が1年というようなデータを保持する表になります。まず主キーを考えます。"従業員番号"だけでは複数ある技能を一意に決められないので、"従業員番号"と"技能コード"の組合せが主キーということになります。
さらに手順に沿って"従業員"表を正規化していきます。まず第1正規形にするために繰り返し項目の排除を行います。第2正規形は、主キーの一部によって一意に定まる(部分従属関係にある)項目を別の表に分離します。"従業員番号"から"従業員氏名"が一意に決まりますし、"技能コード"がわかれば"技能名"も決定します。したがってこの2つの関係を別表に分離します。第3正規化では、主キー以外の項目について従属関係がある場合に別表に分離しますが、第2正規化の段階で従属関係のある項目は存在しないので、上記の状態は既に第3正規形の条件を満たしています。
したがって「ウ」が正解です。