在关系型数据库中,键是维持两个表之间关系的最重要元素,也是唯一识别一个表的数据的重要元素。主键是用来唯一地识别数据的,因此两行不能有相同的主键。它不可能是空的。另一方面,外键是用来维护两个表之间的关系。
一个表的主键可以作为另一个表的外键。表中的外键有助于执行参考完整性约束。阅读本教程,了解更多关于主键和外键的信息以及它们之间的区别。
什么是主键
主键是表中的一个列(或一组列),用于唯一地识别表中的每一行。它不能包含空值,并且在表中的所有行中必须是唯一的。一个表中只允许有一个主键。
一个主键基本上是 “UNIQUE “和 “Not Null “约束的组合。因此,它不能是一个NULL值。关于主键需要注意的另一点是,它的值不能从父表中删除。
什么是外键
外键是一个表中的一个列(或一组列),指的是另一个表中的主键。它被用来在两个表之间建立联系,并被用来在数据库中执行参考完整性。外键基本上是一个表中的字段/列,类似于其他表的主键。
与主键不同,一个表可以有一个以上的外键。而且,在关系数据库中,外键可以包含重复值和空值。一个外键的值可以从子表中删除。
数据库中主键和外键的区别
下表强调了主键和外键之间的所有重要区别–
Key | 主键 | 外键 |
---|---|---|
Basic | 它用于唯一地识别表中的数据。 | 它用于维护表之间的关系。 |
Null | 它不可能是NULL。 | 它可以接受NULL值。 |
重复的 | 两条或多条记录不能有相同的主键。 | 它可以为一个外键属性携带重复的值。 |
Index | Primary有聚类索引。 | 默认情况下,它不是聚类索引。 |
Tables | 可以在临时表上定义主键约束。 | 它不能被定义在临时表上。 |
结论
主键和外键是数据库设计中的重要概念,因为它们有助于建立表之间的关系并帮助确保数据的完整性。一个主键可以唯一地识别一个表中的行,而一个外键则是通过引用相关表的主键将两个表联系在一起。这里你应该注意的最重要的区别是,主键不能有NULL值,而外键可以接受NULL值。