主キー・外部キー・候補キーとは?
主キー・外部キー・候補キーとは、主キーは表の各行を一意に識別するための項目(重複・NULL不可)。候補キーは主キーになり得る項目(複数存在しうる)。外部キーは、別の表の主キーを参照して表同士の関連付けを行う項目。
基本情報技術者試験の過去問では6回出題されています(2016年度〜2026年度)。
しゅきー・がいぶきー・こうほきー
主キー・外部キー・候補キーの意味
主キーは表の各行を一意に識別するための項目(重複・NULL不可)。候補キーは主キーになり得る項目(複数存在しうる)。外部キーは、別の表の主キーを参照して表同士の関連付けを行う項目。
主キー・外部キー・候補キーの具体例
「社員表」の社員番号は主キー、「部署表」の部署コードを社員表に持たせて所属部署を表す場合、その部署コードは社員表における外部キーにあたる。
主キー・外部キー・候補キーは試験でどう引っ掛けられる?
外部キー制約により、参照先の表に存在しない値を外部キーとして登録することはできない(参照整合性の維持)点が問われやすい。
主キー・外部キー・候補キーと関連する用語
主キー・外部キー・候補キーが出た過去問
関係データベースにおいて,外部キーを定義する目的として,適切なものはどれか。
正解:関係する相互のテーブルにおいて,レコード間の参照一貫性が維持される制約をもたせる。
要点:外部キーはテーブル間の参照一貫性を守るための制約
外部キーは、あるテーブルの列が別のテーブルの主キーを参照していることを宣言するものである。これを定義すると、参照先に存在しない値を登録できない、参照されている行を勝手に削除できないといった制約がDBMSによって課される。すなわち目的はテーブル間の参照整合性(参照一貫性)を保つことにある。
出典:平成28年度 春期 基本情報技術者試験 午前 問29(IPA)SQL文においてFOREIGN KEYとREFERENCESを用いて指定する制約はどれか。
正解:参照制約
要点:FOREIGN KEY~REFERENCESは参照整合性を保つ参照制約
FOREIGN KEY句とREFERENCES句は、ある表の列の値が参照先の表の主キーなどに必ず存在することを保証する参照制約(参照整合性制約)を定義する。これにより存在しない部門コードを持つ社員行を作るといった矛盾を防げる。削除・更新時の動作をCASCADEなどで指定できる点も併せて押さえたい。
出典:平成29年度 秋期 基本情報技術者試験 午前 問27(IPA)属性aの値が決まれば属性bの値が一意に定まることを,a→bで表す。例えば,社員番号が決まれば社員名が一意に定まるということの表現は,社員番号→社員名である。この…
正解:テーブル1(a,b,c,d,e)/テーブル2(b,f,g,h)/テーブル3(e,i,j)
要点:関数従属の起点属性を主キーにして表を分割する
関数従属の起点になっている属性が、それぞれの表の主キーになります。aからb,c,d,eが決まるのでaを主キーとする表にb,c,d,eを、bからf,g,hが決まるのでbを主キーとする表にf,g,hを、eからi,jが決まるのでeを主キーとする表にi,jを置きます。b・eは元の表では外部キーとして残るため、テーブル1にb,eが含まれる組合せが適切です。
出典:平成29年度 春期 基本情報技術者試験 午前 問25(IPA)“得点”表から、学生ごとに全科目の点数の平均を算出し、平均が80点以上の学生の学生番号とその平均点を求める。aに入れる適切な字句はどれか。ここで、実線の下線は主…
正解:学生番号 HAVING AVG(点数) >= 80
要点:集約結果での絞り込みはWHEREでなくHAVINGを使う
学生ごとの平均を出すには、集計の単位となる学生番号でGROUP BYする必要がある。さらに「平均が80点以上」という条件は集約関数の結果に対する絞り込みなので、行単位で働くWHEREではなくグループ単位で働くHAVINGを使う。よって学生番号でグループ化し、HAVINGで平均点を判定する形になる。
出典:令和1年度 秋期 基本情報技術者試験 午前 問26(IPA)次の関数従属を満足するとき,成立する推移的関数従属はどれか。ここで,“A→B”はBがAに関数従属していることを表し,“A→{B, C}”は,“A→B”かつ“A→…
正解:注文コード → 顧客コード → 顧客住所
要点:推移的関数従属はA→B→Cと2段でCが決まる関係
推移的関数従属は、A→B かつ B→C が成り立ち、Bが候補キーでないために A→C が間接的に導かれる関係をいう。ここでは注文コードから顧客コードが決まり、顧客コードから顧客住所が決まるので、注文コードを起点とした推移的関数従属が成立する。正規化ではこの連鎖を切り離して別表にすることが第3正規形の目的となる。
出典:令和5年度 (公開問題) 基本情報技術者試験 kamokuA 問6(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。