候補キー
例えば、市町村(市町村ID, 市町村名, 都道府県名)という関係の場合、市町村ID と {市町村名, 都道府県名} が候補キーである。なお、市町村名には多少の重複があるため(府中市など)、市町村名は単独では候補キーにならない。
NULLを許容する候補キーというものを認めるかについては諸説ある。一部の人々は、主キーには認められないが候補キーには認められると、考えている。別の人々は、主キーには認められないし候補キーにも認められないと、考えている。主キーには認められないが候補キーには認められるという考えについては、候補キーのうちの任意に選ばれた一つが主キーであるとする定義とは矛盾する。
なお、SQLの方言における CREATE UNIQUE INDEX 文で指定される一意性制約は、厳密には候補キーとは別の概念であるから、一意性制約にNULLを許すことができるものがあることは、ここでの議論に必ずしも影響しない。