Candidate key(候选键)是数据库关系模型中的一个概念,指能够唯一标识表中每一行记录的最小属性集合。一个表可以有多个候选键,其中被选定为主要标识的那个称为主键(primary key)。
/ˈkæn.dɪ.dət kiː/
Every candidate key in this table can uniquely identify a row.
这个表中的每个候选键都能唯一标识一行记录。
When designing a relational database, it is important to identify all candidate keys before choosing a primary key, as the wrong choice may lead to redundancy and update anomalies.
在设计关系数据库时,选定主键之前应先识别所有候选键,因为错误的选择可能导致数据冗余和更新异常。
Candidate 源自拉丁语 candidatus,原意为"穿白袍的人",在古罗马指竞选公职的候选人,后来泛指"备选者"。Key 源自古英语 cǣg,意为"钥匙",在数据库领域引申为"用于标识和访问数据的关键属性"。两词组合成 candidate key,意为"候选的关键属性"——即有资格被选为主键的属性集合。该术语由英国计算机科学家 E.F. Codd 在 1970 年提出关系模型时引入。