平成25年度 春期 ITパスポート試験 問55
テクノロジ/データベース関係データベースを使い“社員”表と“部署”表を作成して社員情報を管理する。“社員”表と“部署”表に,必要に応じて設定する主キーと外部キーの適切な組合せはどれか。ここで,社員は必ず“部署”表に存在する部署に所属するものとし,社員データの追加や更新をするときには,参照制約を利用して整合性を確保するものとする。 社員(社員コード,社員名,入社年,生年月日,部署コード) 部署(部署コード,部署名) (選択肢は,主キーと外部キーの組合せを示す) (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成25年度 春期 ITパスポート試験 問55
- ア主キー:“社員”表の社員コード,“部署”表の部署コード/外部キー:なし
- イ主キー:“社員”表の社員コード,“部署”表の部署コード/外部キー:“社員”表の部署コード
- ウ主キー:“部署”表の部署コード/外部キー:“社員”表の社員コード,“社員”表の部署コード
- エ主キー:“社員”表の部署コード/外部キー:“社員”表の社員コード,“部署”表の部署コード
正解:イ
解説
“部署”表は部署コードで部署を一意に識別できるので,部署コードが主キーです。“社員”表は社員コードが主キーです。社員が必ず“部署”表に存在する部署に所属するという整合性(参照制約)を保つには,“社員”表の部署コードを“部署”表の部署コードを参照する外部キーにします。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- ア誤り。“社員”表の部署コードを外部キーとして設定しないと,存在しない部署の社員が登録できてしまい,参照制約で整合性を確保できません。
- イ正しい。主キーは社員表の社員コードと部署表の部署コードで,社員表の部署コードを外部キーにすることで,参照制約により存在しない部署への所属を防げます。
- ウ誤り。“社員”表の社員コードは主キーであり外部キーではありません。また社員コードを外部キーにする必要もありません。
- エ誤り。“社員”表の部署コードは主キーではなく外部キーで,“部署”表の部署コードは主キーです。主キーと外部キーが逆になっています。