データベース

ITパスポート試験データベース設計」の問題

テクノロジ系データベース難易度:normal
関係データベースで管理している"学生"表,"科目"表,"成績"表がある。1人の学生は複数の科目を履修するものとし,"学生"表に登録されていない学生や,"科目"表に登録されていない科目は"成績"表に登録できないものとするとき,外部キーとして設定するのが適切なものはどれか。ここで,表中の下線は主キーを表す。 ■学生(主キー:学生番号) | 学生番号 | 学生名 | |---|---| | G001 | 鈴木 次郎 | | G002 | 山田 春子 | ■科目(主キー:科目コード) | 科目コード | 科目名 | |---|---| | K001 | データベース | | K002 | コンピュータ | | K003 | ネットワーク | ■成績(主キー:学生番号+科目コード) | 学生番号 | 科目コード | 成績 | |---|---|---| | G001 | K001 | 優 | | G001 | K002 | 可 | | G002 | K002 | 良 | | G002 | K003 | 優 |
"学生"表の学生番号,"成績"表の学生番号
"学生"表の学生名,"科目"表の科目名
"成績"表の学生番号と科目コード
"成績"表の成績
正解
"成績"表の学生番号と科目コード

外部キーは,他の表の主キーを参照し,参照先に存在する値しか登録できないよう制約(参照整合性)を課す列である。"成績"表の学生番号は"学生"表の主キー(学生番号)を,科目コードは"科目"表の主キー(科目コード)を参照する。これにより未登録の学生・科目は成績表に登録できず,問題の条件を満たす。よって『"成績"表の学生番号と科目コード』を外部キーとするウが正解である。

?選択肢ごとの解説

ア ×"成績"表の学生番号は外部キーとして妥当だが,"学生"表の学生番号はその表自身の主キーであり,他表を参照する外部キーではない。主キーと外部キーを混同しており不適…
イ ×"学生"表の学生名や"科目"表の科目名は主キーでも参照される列でもない。これらを外部キーに設定しても,未登録の学生・科目を防ぐ参照整合性は確保できない。
ウ ○外部キーは,他の表の主キーを参照し,参照先に存在する値しか登録できないよう制約(参照整合性)を課す列である。"成績"表の学生番号は"学生"表の主キー(学生番号)を,科目コードは"科目"表の主キー(科目コード)を参照する。これにより未登録の学生・科目は成績表に登録できず,問題の条件を満たす。よって『"成績"表の学生番号と科目コード』を外部キーとするウが正解である。
エ ×"成績"表の成績(優・良・可)は評価値そのものであり,他表の主キーを参照する列ではない。外部キーには成り得ない。
この問題の「深掘り・誤答の完全解説・試験のコツ・覚え方」はアプリで。

ITパスポート試験の全問を、一問ごとにAIの8-ways解説つきで。SRS暗記カード・全真模試・弱点診断まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · ITパスポート試験 · itpass-r8k-q57

【ITパスポート試験】データベース設計の問題と解答・解説|ukamiru 過去問