ITパスポート 令和8年度公開問題科目A問57

科目A問57

関係データベースで管理している"学生"表,"科目"表,"成績"表がある。1人の学生は複数の科目を履修するものとし,"学生"表に登録されていない学生や,"科目"表に登録されていない科目は"成績"表に登録できないものとするとき,外部キーとして設定するのが適切なものはどれか。ここで,表中の下線は主キーを表す。
"学生"表の学生番号,"成績"表の学生番号
"学生"表の学生名,"科目"表の科目名
"成績"表の学生番号と科目コード
"成績"表の成績
『情報処理過去問.com』からiPhoneアプリがリリースされました!!

正解

解説

外部キーは、ある表の列が別表の主キーを参照して2つの表を関連付ける仕組みです。設定すると、①参照先に存在しない値の登録を拒否、②誤った値への更新を抑止、③参照先の削除・更新時の扱いを制御できます。画像の表では、下線付きの学生番号(「学生」表)と科目コード(「科目」表)が主キーです。「学生」表や「科目」表にない値を「成績」表へ登録できないようにするには、参照する側である「成績表」の学生番号を「学生」表の学生番号に、科目コードを「科目」表の科目コードにそれぞれ参照させる必要があります。したがって、外部キーとして設定すべきは「成績表の学生番号と科目コード」であり、正解はウです。
ア."学生"表の学生番号,"成績"表の学生番号
外部キーは参照する側に置きます。「学生」表の学生番号は参照される側の主キーであり、外部キーの設定対象ではありません。
イ."学生"表の学生名,"科目"表の科目名
学生名科目名は主キーではありません。外部キーは他表の主キーを参照する列に設定するため不適切です。
ウ."成績"表の学生番号と科目コード
成績表の学生番号」は「学生」表の主キー(学生番号)を参照し、「成績表の科目コード」は「科目」表の主キー(科目コード)を参照します。未登録の学生・科目の成績行を登録できないようにでき、要件を満たします。
エ."成績"表の成績
成績」列は他表の主キーを参照しておらず、外部キーの対象ではありません。
スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする