ITパスポート試験 ITパスポート 2017年 (平成29年 春期) 問69: ある会社の社員の情報処理技術者試験の受験状況の一部を次に示す。この表を関係データベースで管理するために,二つの表に分割する方法として,適切なものはどれか。ここで
ある会社の社員の情報処理技術者試験の受験状況の一部を次に示す。この表を関係データベースで管理するために,二つの表に分割する方法として,適切なものはどれか。ここで,この会社には同姓同名の社員がいるものとする。
| 社員ID | 社員名 | 生年月日 | 試験種別 | 試験日 | 合否 |
|---|
| 0001 | 佐藤 花子 | 1985/4/29 | ITパスポート | 2013/4/21 | 合 |
| 0002 | 鈴木 一郎 | 1990/11/3 | 基本情報技術者 | 2013/4/21 | 否 |
| 0003 | 高橋 二郎 | 1992/2/11 | ITパスポート | 2013/4/21 | 否 |
| 0001 | 佐藤 花子 | 1985/4/29 | 基本情報技術者 | 2013/10/20 | 合 |
| 0003 | 高橋 二郎 | 1992/2/11 | ITパスポート | 2013/10/20 | 合 |
61.09%
ITパスポート 2017年 (平成29年 春期) 問69「ある会社の社員の情報処理技術者試験の受験状況の一部を次に示す。この表を関係データ…」の正解と解説です。ITパスポート試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約61%です。
正解
ア. [社員ID, 社員名, 生年月日] と [社員ID, 試験種別, 試験日, 合否]
正答率 61.1%(843人中 515人が正解)
問題の解説
関係データベースの正規化では、重複データをなくすためにデータを分割して管理する。社員の基本情報(社員ID・社員名・生年月日)と受験履歴(社員ID・試験種別・試験日・合否)に分割し、共通の主キー「社員ID」で結合する設計が適切。同姓同名の社員がいるため社員名では一意に識別できず、社員IDを結合キーとしなければならない。試験日を社員側に含めると社員の試験受験ごとに行が重複し非正規。
選択肢ごとの解説
- 正しい。[社員ID・社員名・生年月日]は社員固有情報の表、[社員ID・試験種別・試験日・合否]は受験履歴の表に分割。社員IDを外部キーとして結合でき、同姓同名でも一意に識別可能。重複データのない正規化された設計。
- 誤り。受験履歴表の結合キーに社員名を使うと、同姓同名の社員を区別できない。「佐藤花子」が複数いる場合に正しい社員の受験履歴を特定できなくなる。社員IDを使わない設計では同姓同名問題を解決できない。
- 誤り。社員側の表に試験日を含めると、1人の社員が複数の試験を受けた場合に社員基本情報(ID・名前・生年月日)が繰り返し登録されてしまう。これは非正規化であり、データの重複と更新異常が発生する。
- 誤り。社員名が社員情報表と受験履歴表の両方に分散されると、社員名の変更時に両表の更新が必要になり更新異常が発生する。また社員IDのない設計では一意識別ができず、同姓同名問題も解決されない。
ITパスポート 2017年 (平成29年 春期) の過去問一覧に戻る・問69
ITパスポート試験 の iOS アプリ版
アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。
