主キー
主キー(しゅキー、英語: primary key)とは、関係データベースにおいて、組(レコード)の識別子として利用するのにもっとも好ましいものとして、関係(テーブル)毎にただ一つ設計者により選択・定義された候補キーをいう。つまり、関係に格納されたレコードを一意に識別するための属性(列、アトリビュート)またはその集合のうち、そのために通常利用されるべき特定の一つをいう。
関係データベース管理システム(RDBMS)やミドルウェア、アプリケーションなどでレコードの識別子が必要な場合、主キーがそのために使われることが多い。ただ、そうしなければならない必然性はなく、他の候補キーを使っても良い。したがって、主キーの理論上の意義は大きくないが、実務上は、そのわかりやすさなどから広く使われている概念である。 ただし、主キーにはNULLの存在が許されないが、候補キーには許されるという差があるとする立場もある(レコードの追加、更新時の制約として主キーを考える場合、一意性制約にNOT NULL制約を加えたものが主キー制約であると考えることができる)。
関係に存在する候補キーが一つであるときは、その候補キーが当然に主キーとなる。
なお、主キーでない候補キーは代理キー(alternate key)という。