SkillStack
テクノロジ系57 / 100問

ITパスポート試験 令和8年度 公開問題 問57

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

ITパスポート試験 令和8年度 公開問題 問57の図表

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

外部キーは、ある表の列に入る値を、別の表の主キーなどに存在する値に制限するための仕組みです。この問題では、成績表に登録できるのは、学生表に存在する学生と、科目表に存在する科目だけです。したがって、成績表の学生番号は学生表の学生番号を参照し、成績表の科目コードは科目表の科目コードを参照する必要があります。つまり、成績表の学生番号と科目コードを外部キーとして設定するのが適切です。成績表ではこの二つの組が主キーにもなっていますが、同時に他表を参照する外部キーにもなります。

アの「学生表の学生番号、成績表の学生番号」は誤りです。学生表の学生番号は参照される側の主キーであり、外部キーとして設定するのは成績表側の学生番号です。また、科目コードへの参照が不足しています。 イの学生名や科目名は誤りです。これは名称を表す属性であり、通常は一意に識別するキーとして使いません。 エの成績は誤りです。これは評価結果であり、学生表や科目表を参照するための列ではありません。

【ポイント】 外部キーは「入力できる値を、参照先表に存在する値に限定する列」です。 履修や成績のような関連表では、親表の主キーを参照する列が外部キーになります。

出典:令和8年度 ITパスポート試験 公開問題 問57
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の100問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める