主键和唯一键都是用来唯一地识别表中的记录。这些键也被用来创建表之间的关系。一个表只能有一个主键,而一个表或关系中可以有多个唯一键。
阅读本教程,了解更多关于主键和唯一键的信息,以及它们之间的区别。
什么是主键
主键是一个列或一组列,用于唯一地识别表中的每一行。它必须在表中的所有行中是唯一的。一个主键被用来强制执行表中数据的完整性,并确保没有两行是相同的。
主键基本上是一个约束条件,有助于在关系数据库中唯一地识别一条记录。主键的独特属性是,在一个表中只允许有一个主键。
主键是 “UNIQUE “和 “Not Null “约束的组合。因此,关系数据库中被选为主键的列不能是一个NULL值。正因为如此,它是关系型数据库中表的最重要部分之一。
一个主键从根本上说是一个候选键。一个主键的值不能从父表中删除。
什么是唯一密钥
在数据库中,唯一键(就像主键一样)是一个列或一组列,唯一地识别表中的每一行。然而,在一个表中可以有多个唯一键存在。
唯一键的另一个重要特征是它允许NULL值。这意味着可以有多条在唯一键列中为空值的记录,只要所有其他记录在该列中都有唯一值。唯一键也可以作为另一个表的外键使用。
唯一键被用来强制执行一列或一组列中数据的唯一性,但它们不像主键那样被严格执行。
主键和唯一键之间的区别
下表强调了主键和唯一键之间的所有重要区别:
Key | 主键 | 独特的钥匙 |
---|---|---|
定义 | 主键是用来唯一地识别一个关系中的所有记录。 | 唯一键也被用来唯一地识别一条记录。 |
NULL | 主键不能有空值。 | 唯一键可以接受一个空值。 |
睿智伯爵 | 每个表只能有一个主键。 | 在一个表中可以有多个唯一键。 |
Index | 主键创建聚类索引。 | 唯一键创建非群集索引。 |
结论
这里你应该注意的最重要的区别是,主键和唯一键是主键不能包含空值,而唯一键可以。