数据库中主键和外键的区别
在关系数据库中,键是维护两个表之间关系或唯一标识表中数据的最重要元素。 主键 用于唯一标识数据,因此两行不能具有相同的主键。它不能为null。另一方面, 外键 用于维护两个表之间的关系。
表中的主键充当另一个表中的外键。表中的外键有助于强制执行引用完整性约束。阅读本教程,了解主键和外键之间的更多信息以及它们之间的区别。
主键是什么
主键是表中唯一标识每行的列(或列集合)。它不能包含null值,并且在表中的所有行中必须是唯一的。一个表中只允许一个主键。
主键基本上是’UNIQUE’和’Not Null’约束的组合。因此,它不能是NULL值。关于主键还需要注意的一点是,其值不能从父表中删除。
外键是什么
外键是表中引用另一个表的主键的列(或列集合)。它用于建立两个表之间的链接,并用于在数据库中强制执行引用完整性。外键基本上是表中与其他表的主键类似的字段/列。
与主键不同,一个表可以有多个外键。此外键可以在关系数据库中包含重复和空值。外键的值可以从子表中删除。
数据库中主键和外键的区别
下表突出显示了主键和外键之间的所有重要差异−
键 | 主键 | 外键 |
---|---|---|
基本 | 用于在表中唯一标识数据。 | 用于维护表之间的关系。 |
空值 | 不能为空。 | 可以接受空值。 |
重复 | 两个或更多行的主键不能相同。 | 外键属性可以包含重复值。 |
索引 | 主键有聚集索引。 | 默认情况下,它不是聚集索引。 |
表 | 可以在临时表上定义主键约束。 | 不能在临时表上定义主键约束。 |
结论
主键和外键是数据库设计中的重要概念,它们有助于建立表之间的关系并确保数据完整性。主键唯一标识表中的一行记录,而外键用于通过引用相关表的主键来链接两个表。在这里您应该注意到的最重要的区别是,主键不能为NULL值,而外键可以接受NULL值。