候補キーとは?
候補キーとは、行を一意に識別でき、かつ余分な列を含まない(どの列を除いても一意性が失われる)列の組。1つの表に複数存在しうる。そこから選ばれた1つが主キーで、選ばれなかったものを代替キーと呼ぶ。
高度試験・午前I(全区分共通)の過去問では3回出題されています(2016年度〜2025年度)。
こうほきー
候補キーの意味
行を一意に識別でき、かつ余分な列を含まない(どの列を除いても一意性が失われる)列の組。1つの表に複数存在しうる。そこから選ばれた1つが主キーで、選ばれなかったものを代替キーと呼ぶ。
候補キーの具体例
社員表に社員番号とマイナンバーの両方があれば、どちらも単独で行を特定できるので候補キーは2つ。社員番号を主キーにすれば、マイナンバーは代替キーとなり、一意性制約だけを付けて重複を防ぐ。
候補キーは試験でどう引っ掛けられる?
「一意に識別できる列の組」であれば何でも候補キーというわけではなく、極小性(余分な列を含まない)が条件。社員番号だけで一意なら、「社員番号+氏名」は一意でも候補キーではない点が頻出。
候補キーと関連する用語
候補キーが出た過去問
B+木インデックスが定義されている候補キーを利用して、1件のデータを検索するとき、データ総件数Xに対するB+木インデックスを格納するノードへのアクセス回数のオー…
正解:logX
要点:B+木の検索は木の高さ、すなわちO(log X)
B+木は全ての葉が同じ深さになる平衡木で、1ノードに多数のキーを収めて木の高さを抑える構造である。1件の検索は根から葉までを1回ずつたどるのでアクセス回数は木の高さに等しく、データ総件数Xに対してO(log X)のオーダとなる。
出典:平成28年度 秋期 高度共通_午前I試験 am1 問9(IPA)UMLを用いて表した図のデータモデルから、“部品”表、“納入”表及び“メーカ”表を関係データベース上に定義するときの解釈のうち、適切なものはどれか。
正解:部品番号とメーカ番号の組みを“納入”表の候補キーの一部にできる。
要点:多対多を表す関連クラスは両側の主キーを外部キーとして持つ
“納入”は“部品”と“メーカ”の両方に多対1で結び付く関連クラスなので、“納入”表は部品番号とメーカ番号の双方を外部キーとして持つ。同じ部品を同じメーカから複数回納入しうるので、部品番号とメーカ番号だけでは行を一意に識別できないが、納入日などと組み合わせれば候補キーになる。つまり部品番号とメーカ番号の組みは候補キーの一部として使える。
出典:令和2年度 10月 高度共通_午前I試験 am1 問9(IPA)関係を第2正規形から第3正規形に変換する手順はどれか。
正解:候補キー以外の属性間に関数従属性がある場合、その関係を分解する。
要点:第3正規形化は非キー属性間の推移的関数従属を除く
第3正規形への変換は、推移的関数従属の除去である。候補キー以外の非キー属性間に関数従属がある(候補キー→A→Bのような連鎖がある)場合、その従属関係を別の関係に切り出して分解する。
出典:令和7年度 春期 高度共通_午前I試験 am1 問9(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。