ITパスポート 過去問
令和8年度
問57 (テクノロジ系 問3)

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。

問題

ITパスポート試験 令和8年度 問57(テクノロジ系 問3) (訂正依頼・報告はこちら)

関係データベースで管理している「学生」表、「科目」表、「成績」表がある。1人の学生は複数の科目を履修するものとし、「学生」表に登録されていない学生や、「科目」表に登録されていない科目は「成績」表に登録できないものとするとき、外部キーとして設定するのが適切なものはどれか。ここで、表中の下線は主キーを表す。
問題文の画像
  • 「学生」表の学生番号、「成績」表の学生番号
  • 「学生」表の学生名、「科目」表の科目名
  • 「成績」表の学生番号と科目コード
  • 「成績」表の成績

正解!素晴らしいです

残念...

この過去問の解説 (3件)

01

外部キーは、別の表の主キーを参照し、表同士の関係性を保つための列です。「成績」表は、どの学生がどの科目を履修したかを表すため、「学生」表と「科目」表の両方を参照します。

選択肢1. 「学生」表の学生番号、「成績」表の学生番号

「学生」表の学生番号は同表の主キーであり、外部キーではありません。「成績」表の学生番号だけでは科目との関係も表せません。

選択肢2. 「学生」表の学生名、「科目」表の科目名

学生名や科目名は重複や変更があり得るため、表を安定して参照するキーには適しません。参照先の主キーである学生番号と科目コードを使います。

選択肢3. 「成績」表の学生番号と科目コード

正しいです。「成績」表の学生番号は「学生」表の学生番号を、科目コードは「科目」表の科目コードを参照する外部キーです。これにより、未登録の学生や科目の成績を登録できないようにできます。

選択肢4. 「成績」表の成績

成績は評価値であり、他の表の行を識別して参照する列ではないため、外部キーにはなりません。

まとめ

子側に当たる「成績」表へ、親側の主キーを参照する学生番号と科目コードを外部キーとして設定します。

参考になった数4

02

外部キーとは、あるテーブルの項目から別のテーブルの項目を参照するための

キーのことです。

 

設問より、「成績」表に登録するには、「学生」表への登録が必要、

かつ「科目」表への登録も必要になっています。

そのため、「成績」表の「学生番号」は「学生」表に存在している必要があります。

同様に「成績」表の「科目コード」は「科目」表に存在している必要があります。

選択肢1. 「学生」表の学生番号、「成績」表の学生番号

不正解です。

選択肢2. 「学生」表の学生名、「科目」表の科目名

不正解です。

選択肢3. 「成績」表の学生番号と科目コード

正解です。

選択肢4. 「成績」表の成績

不正解です。

参考になった数2

03

本問では外部キーに対する理解が問われています。

外部キーとは、別の表のキーを参照し、表同士の整合性を保つためのキーのことです。

本問で使用されている表は「学生」表、「科目」表、「成績」表の3つがあります。

 

・「学生」表は学生番号(主キー)と学生名(属性)を持つ表

・「科目」表は科目コード(主キー)と科目名(属性)を持つ表

となっており、

「成績」表は学生番号と科目コード、成績を記した表、言い換えれば別の表のキーである「学生」表の学生番号と「科目」表の科目コードを参照し成績(属性)を持つ表です。

「成績」表は「学生」表と「科目」表をそれぞれ参照しているため、「成績」表の学生番号と科目コードを外部キーとして設定する必要があります。

参考になった数1