関係データベースを使い“社員”表と“部署”表を作成して社員情報を管理する。“社員”表と“部署”表に,必要に応じて設定する主キーと外部キーの適切な組合せはどれか。ここで,社員は必ず“部署”表に存在する部署に所属するものとし,社員データの追加や更新をするときには,参照制約を利用して整合性を確保するものとする。 社員
| 社員コード | 社員名 | 入社年 | 生年月日 | 部署コード |
部署
| 部署コード | 部署名 |
- ア| 主キー | 外部キー | |---|---| | “社員”表の社員コード,“部署”表の部署コード | なし |
- イ| 主キー | 外部キー | |---|---| | “社員”表の社員コード,“部署”表の部署コード | “社員”表の部署コード |
- ウ| 主キー | 外部キー | |---|---| | “部署”表の部署コード | “社員”表の社員コード,“社員”表の部署コード |
- エ| 主キー | 外部キー | |---|---| | “社員”表の部署コード | “社員”表の社員コード,“部署”表の部署コード |
正解と解説を見る
正解
イ | 主キー | 外部キー | |---|---| | “社員”表の社員コード,“部署”表の部署コード | “社員”表の部署コード |
各表は自身の主キーを持つのが基本であり,“社員”表では社員コード,“部署”表では部署コードがそれぞれ主キーになります。さらに,社員は必ずいずれかの部署に所属し,参照制約で整合性を確保する必要があるため,“社員”表に部署コードを外部キーとして持たせ,“部署”表の部署コード(主キー)を参照させる選択肢2が正解です。選択肢1は外部キーを設定しておらず参照制約を利用できず,選択肢3・4は主キー・外部キーの割り当てが表の役割と逆転しており,正しい参照関係になっていません。