令和8年度 問57|データベースの基本と設計(RDBMS・主キー・正規化)
関係データベースで管理している“学生”表,“科目”表,“成績”表がある。1人の学生は複数の科目を履修するものとし,“学生”表に登録されていない学生や,“科目”表に登録されていない科目は“成績”表に登録できないものとするとき,外部キーとして設定するのが適切なものはどれか。ここで,表中の下線は主キーを表す。
| 学生番号 | 学生名 |
|---|---|
| G001 | 鈴木 次郎 |
| G002 | 山田 春子 |
| 科目コード | 科目名 |
|---|---|
| K001 | データベース |
| K002 | コンピュータ |
| K003 | ネットワーク |
| 学生番号 | 科目コード | 成績 |
|---|---|---|
| G001 | K001 | 優 |
| G001 | K002 | 可 |
| G002 | K002 | 良 |
| G002 | K003 | 優 |
正解:ウ “成績”表の学生番号と科目コード
ポイント
表どうしを結び付けるために、外部キーとして設定する項目を問う問題です。
考え方と解き方
主キーとして設定する項目と、外部キーとして設定する項目を同じ物と考えるのが、アを選ぶ原因になります。
- 成績表の学生番号は、学生表の主キー(学生番号)を参照する項目なので、外部キーです。
- 成績表の科目コードは、科目表の主キー(科目コード)を参照する項目なので、外部キーです。
- したがって、適切なのは ウ です。
ほかの選択肢
- ア 学生表の学生番号は、学生表の主キーで、外部キーではありません。
- イ 学生名と科目名は、ほかの表の主キーを参照する項目ではありません。
- エ 成績は、ほかの表の主キーを参照する項目ではありません。
覚えておくこと
- 外部キー:ほかの表の主キーを参照する項目。表どうしを結び付ける
- 複合キー:複数の項目の組を、主キーとして使うもの
(テーマ・覚えること)
出典:令和8年度 ITパスポート試験 公開問題 問57