基本情報技術者試験 - 令和5年7月修了 - 問19

“従業員” 表を第3正規形にしたものはどれか。ここで,下線部は主キーを表す。

従業員 (従業員番号,従業員氏名,{技能コード,技能名,技能経験年数})
( { } は繰返しを表す)
ア
従業員番号従業員氏名
技能コード技能名技能経験年数
イ
従業員番号従業員氏名技能コード技能経験年数
技能コード技能名
ウ
従業員番号技能コード技能経験年数
従業員番号従業員氏名
技能コード技能名
エ
従業員番号技能コード
従業員番号従業員氏名技能経験年数
技能コード技能名
答え : ウ
分野 : テクノロジ系 › 技術要素 › データベース › データベース設計
解説 :
従業員番号と従業員氏名,そして技能コード,技能名,技能経験年数という繰返し項目を持つ「従業員」表を,第3正規形に正規化する問題です。

まず,繰返し項目(技能コード,技能名,技能経験年数)を含む表は第1正規形ではないため,これらを別の表として切り出す必要があります。切り出した表の主キーは,従業員番号と技能コードの組み合わせになります。

次に,この表の中で,技能名は技能コードだけで決まる(部分関数従属の関係にある)ため,第2正規形にするためには,技能コードと技能名を,さらに別の表として切り出す必要があります。

最終的に,「従業員番号,技能コード,技能経験年数」という表(従業員が持つ技能とその経験年数を表す表),「従業員番号,従業員氏名」という表(従業員の基本情報を表す表),「技能コード,技能名」という表(技能そのものの情報を表す表)という,3つの表に分割することで,第3正規形が得られます。従って,正解は「ウ」です。

「ア」と「イ」は,まだ部分関数従属の関係が解消されておらず,技能名などの情報が適切に分離されていません。「エ」は,従業員氏名と技能経験年数が同じ表にまとめられてしまっており,これも関数従属の関係が正しく整理されていない不適切な分割になっています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる