主キー
生徒名簿(生徒番号, 生徒名, クラス)という関係の場合、生徒番号が主キーになり得る。同姓同名を考慮すると、生徒番号は唯一の候補キーであるから、代理キーはない。
町村(町村ID, 町村名, 郡名, 都道府県名)という関係の場合、町村ID と {都道府県名, 郡名, 町村名} が候補キーであり、いずれかが主キーになり得る。例えば、町村ID を主キーにした場合、{都道府県名, 郡名, 町村名} は代理キーとなる。
連番(順序・シーケンスとも呼ばれる)のように、一意性を確保するためだけにシステム内部で生成され、利用者が関知しない情報を格納する属性からなる主キーを人工キー、人為キー (artificial key) ないし別名キー (alias key)、代替キー (surrogate key) などといい、逆に、システム外部から格納すべきものとして与えられる情報を格納する属性からなる主キーを自然キー (natural key) ということがある。
利用者が関知しないという点について、エドガー・F・コッドによる定義では、人工キーの値が、利用者に提示されたり、利用者の発行する問い合わせのキーとなったりしないことが要求されている。しかし一般には、単に利用者の意向と無関係にシステムが生成するものを広く人工キーと呼ぶことも多い。
設計された関係の属性に候補キーがない場合には、人工キーを付け加えざるを得ないが(前述の生徒名簿関係に生徒番号がなかった場合を考えよ)、そうでない場合にも人工キーを付け加えるべきか、そのようなことは避けて自然キーを使うべきかについては議論がある。自然キーには、関係に余計な属性を付け加える必要がないという利点があるが、複合キーになりがちであるし、外部の状況が変化すれば変更も必要となるから、前述の指針からみると望ましくない選択となることがありうる。人工キーの利点・欠点はその逆である。実際には、これらの得失のバランスは、場合により異なるから、ケース・バイ・ケースで判断すべきであろう。