主キー
候補キーが複数あるとき、組を識別するという機能においてそれらの間に差異はないから、主キーにどれを選んでも論理的には問題がない。しかし実用上は、以下のような指針に従って選択するのがよい。
主キーは検索のキーとして利用されたり、他の関係に参照のために格納されたりする確率が高いため、できる限りデータ量の小さい方がよい。よって、複合キーはあまり適さない。データ量が多いキーしかない場合は、人工キー(後述)を設けることがある。
主キーは検索のキーとして利用されるほか、電話や書面で伝達されることも多いので、簡潔に間違いなく伝達できる形式であるのが望ましい。一定の桁数のアルファベットや数字からなる主キーは、この点でも優れている。
主キーはその関係の外部(他の関係や、外部システム、ユーザなど)で識別子として利用される確率が高いため、不変 (immutable) であるべきである。つまり、更新がかからない項目がよい。例えば、他の関係で主キーを使用していた場合、主キーを更新すると他の関係の値(外部キー)も同時に更新しなければならなくなる。また、外部システムなどに所在するデータについては、このような更新が不可能なことがありうる。なお、人工キーは通常、それ自体に意味を持たないため、不変であるから、この問題も避けることができる。