it-kakomon › ITパスポート › 令和8年度 › 問57

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

出典:令和8年度 ITパスポート試験 公開問題 問57(独立行政法人情報処理推進機構(IPA))

関係データベースで管理している“学生”表,“科目”表,“成績”表がある。1人の学生は複数の科目を履修するものとし,“学生”表に登録されていない学生や,“科目”表に登録されていない科目は“成績”表に登録できないものとするとき,外部キーとして設定するのが適切なものはどれか。ここで,表中の下線は主キーを表す。
  1. ア“学生”表の学生番号,“成績”表の学生番号
  2. イ“学生”表の学生名,“科目”表の科目名
  3. ウ“成績”表の学生番号と科目コード
  4. エ“成績”表の成績
正解と解説を見る

正解:ウ

【主キーと外部キー】

・主キー:表の中で1行(1件のデータ)を一意に特定するための項目です。問題の表では下線の項目です。

・外部キー:ほかの表の行を一意に特定できる項目(主キーなど)を参照する項目です。参照先の表にない値は登録できないようにする(参照制約)ことで、データの矛盾を防ぎます。

【表の構成】

・学生表:学生番号(主キー)、学生名

・科目表:科目コード(主キー)、科目名

・成績表:学生番号と科目コードの組(主キー)、成績

【外部キーを設定する項目】

「学生表に登録されていない学生」を成績表に登録できないようにするには、成績表の学生番号が学生表の学生番号を参照するようにします。同じく「科目表に登録されていない科目」を登録できないようにするには、成績表の科目コードが科目表の科目コードを参照するようにします。したがって、成績表の学生番号と科目コードを、それぞれ外部キーに設定します。

【選択肢の検討】

ア:学生表の学生番号は主キーで、参照される側です。また、成績表の学生番号だけでは、科目についての制約を設定できません。

イ:学生名と科目名は、学生表・科目表の中の項目で、ほかの表を参照する項目ではありません。この問題で参照先になるのは学生表の学生番号と科目表の科目コードで、外部キーはそれらを参照する成績表の側に設定します。

ウ:成績表の学生番号と科目コードを外部キーにするので、適切です。

エ:成績は、ほかの表を参照する項目ではありません。

よって、正解は選択肢ウです。

この回の100問を通しで解く(無料)