基本情報技術者試験 - 令和5年7月修了 - 問19
| ア |
| |||||||
|---|---|---|---|---|---|---|---|---|
| イ |
| |||||||
| ウ |
| |||||||
| エ |
|
答え : ウ
分野 : テクノロジ系 › 技術要素 › データベース › データベース設計
解説 :
従業員番号と従業員氏名,そして技能コード,技能名,技能経験年数という繰返し項目を持つ「従業員」表を,第3正規形に正規化する問題です。
まず,繰返し項目(技能コード,技能名,技能経験年数)を含む表は第1正規形ではないため,これらを別の表として切り出す必要があります。切り出した表の主キーは,従業員番号と技能コードの組み合わせになります。
次に,この表の中で,技能名は技能コードだけで決まる(部分関数従属の関係にある)ため,第2正規形にするためには,技能コードと技能名を,さらに別の表として切り出す必要があります。
最終的に,「従業員番号,技能コード,技能経験年数」という表(従業員が持つ技能とその経験年数を表す表),「従業員番号,従業員氏名」という表(従業員の基本情報を表す表),「技能コード,技能名」という表(技能そのものの情報を表す表)という,3つの表に分割することで,第3正規形が得られます。従って,正解は「ウ」です。
「ア」と「イ」は,まだ部分関数従属の関係が解消されておらず,技能名などの情報が適切に分離されていません。「エ」は,従業員氏名と技能経験年数が同じ表にまとめられてしまっており,これも関数従属の関係が正しく整理されていない不適切な分割になっています。
分野 : テクノロジ系 › 技術要素 › データベース › データベース設計
解説 :
従業員番号と従業員氏名,そして技能コード,技能名,技能経験年数という繰返し項目を持つ「従業員」表を,第3正規形に正規化する問題です。
まず,繰返し項目(技能コード,技能名,技能経験年数)を含む表は第1正規形ではないため,これらを別の表として切り出す必要があります。切り出した表の主キーは,従業員番号と技能コードの組み合わせになります。
次に,この表の中で,技能名は技能コードだけで決まる(部分関数従属の関係にある)ため,第2正規形にするためには,技能コードと技能名を,さらに別の表として切り出す必要があります。
最終的に,「従業員番号,技能コード,技能経験年数」という表(従業員が持つ技能とその経験年数を表す表),「従業員番号,従業員氏名」という表(従業員の基本情報を表す表),「技能コード,技能名」という表(技能そのものの情報を表す表)という,3つの表に分割することで,第3正規形が得られます。従って,正解は「ウ」です。
「ア」と「イ」は,まだ部分関数従属の関係が解消されておらず,技能名などの情報が適切に分離されていません。「エ」は,従業員氏名と技能経験年数が同じ表にまとめられてしまっており,これも関数従属の関係が正しく整理されていない不適切な分割になっています。