候補キー・主キー・外部キーとは?こうほきー・しゅきー・がいぶきー
候補キー・主キー・外部キーとは、行を特定するための属性集合に関する3つの役割。一意性と極小性(どの属性を落としても一意でなくなる)をともに満たす集合が候補キーで、その中から1つ選んだものが主キー、残りは代替キーと呼ぶ。外部キーは他表の候補キーに存在する値しか取れないという制約で、参照整合性をDBMSに保証させる仕組みである。
最終更新:2026-10-06
この語が出る過去問を解く →背景
同じ実体が二重に登録されたり、参照先の消えた行が残ったりすると、画面も集計も静かに誤った値を出し続ける。キーはこれを人手の運用手順ではなく、DBMSの制約として機械に守らせるための仕掛けである。システムアーキテクトでは正規化の前提であると同時に、主キーに業務上の自然キーを使うか、意味を持たない代理キー(サロゲートキー)を置くかという論理設計の判断に直結する。
具体例
社員表で社員番号とメールアドレスがともに一意なら候補キーは2つあり、変更され得るメールアドレスを避けて社員番号を主キーに選ぶ。ただし組織再編で社員番号すら振り直される運用があるため、実務では意味を持たない連番を代理キーに立て、社員番号には一意制約だけを付ける設計も多い。
試験での引っ掛け
候補キーは複数存在し得る。極小である条件を落とすと、候補キーに余分な属性を足したもの(スーパーキー)まで候補キーに数えてしまう。主キーはNULLを許さないが、外部キーは関連が未確定の状態を表すためにNULLを許す場合がある点も取り違えやすい。
関連用語
出た過去問
出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問21(IPA)
UMLを用いて表した図のデータモデルを基にして設計したテーブルのうち、適切なものはどれか。ここで、"担当委員会ID"と"所属委員会ID"は"委員会ID"を参照す…
正解:委員会(委員会ID[実線], 委員会名)、所属関連(所属委員会ID[実線], 委員ID[実線])、生徒(生徒ID[実線], 氏名, 担当委員会ID[破線])
要点:多対多は連関テーブル、1対多は多側に外部キーを置く
「担当する」関連は生徒から見て担当委員会が0..1なので、生徒テーブルに担当委員会IDを外部キーとして持たせれば表現できる。一方「所属する」関連は委員会0..*対生徒1..*の多対多なので、両者のIDを主キーとする連関テーブルが必要になる。この二つの条件を同時に満たす構成はアである。
出典:平成30年度 秋期 システムアーキテクト試験 午前Ⅱ 問21(IPA)
関係モデルの候補キーの説明のうち、適切なものはどれか。
正解:候補キーの取る値はタプルごとに異なる。
要点:候補キーは極小の一意識別子で、値はタプルごとに異なる
候補キーは、タプルを一意に識別できる属性(または属性の組)のうち、余分な属性を含まない極小のものである。一意に識別できるという性質から、その値はタプルごとに必ず異なる。候補キーは複数存在してよく、その中から一つを選んだものが主キー、残りが代替キーとなる。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの3 技術要素 > 2. データベース設計 > (2) データベースの設計に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。