ある会社の社員の情報処理技術者試験の受験状況の一部を次に示す。この表を関係データベースで管理するために,二つの表に分割する方法として,適切なものはどれか。ここで,この会社には同姓同名の社員がいるものとする。
| 社員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 | 合 |
- ア表1: | 社員ID | 社員名 | 生年月日 | |---|---|---| 表2: | 社員ID | 試験種別 | 試験日 | 合否 | |---|---|---|---|
- イ表1: | 社員ID | 社員名 | 生年月日 | |---|---|---| 表2: | 社員名 | 試験種別 | 試験日 | 合否 | |---|---|---|---|
- ウ表1: | 社員ID | 社員名 | 生年月日 | 試験日 | |---|---|---|---| 表2: | 社員ID | 社員名 | 試験種別 | 合否 | |---|---|---|---|
- エ表1: | 社員ID | 生年月日 | 試験日 | |---|---|---| 表2: | 社員ID | 社員名 | 試験種別 | 合否 | |---|---|---|---|
正解と解説を見る
正解
ア 表1: | 社員ID | 社員名 | 生年月日 | |---|---|---| 表2: | 社員ID | 試験種別 | 試験日 | 合否 | |---|---|---|---|
この会社には同姓同名の社員がいるため,社員名では個人を一意に特定できず,キーとして使うことはできない。したがって,社員ID・社員名・生年月日という社員に固有の情報をまとめた表と,社員ID・試験種別・試験日・合否という受験ごとに繰り返し発生する情報をまとめた表とに分割し,共通の社員IDで関連付けるのが適切であり,これが正解の分割方法である。社員名をキーにする分割案は同姓同名の場合に別人のデータを混同する恐れがある。試験日だけを社員情報側の表に含め,試験種別と合否だけを別表にする分割案は,一つの受験に関する情報(試験種別・試験日・合否)を無理に分断してしまい,データの整合性を保ちにくくなる点で適切ではない。