主键和外键

Anonim

键是关系数据库的基本元素,因为它们在一对表之间建立关系,并确保表中的每个记录都是唯一标识的。密钥比建立关系更具有特殊意义;它们还有助于参考完整性,它们是表级完整性的主要组成部分。表存储了大量数据,这些数据通常扩展到数千条记录,所有记录都是未分类和杂乱无章的。从那些大量记录中获取特定数据有时是困难的,有时甚至是不可能的。这是Keys开始拍照的地方。在这里,我们将研究关系数据库模式的两个非常重要的关键点以及它们之间的区别:主键和外键。

什么是主键?

主键是唯一标识表中每条记录的特殊键。在关系数据库中,在表的每一行中都有一个唯一的标识符是非常重要的,而主键只是在表中唯一标识元组所需要的。元组表示关系数据库中的一组值属性。主键可以引用关系数据库表中的一列或一组列,用于隐式标识表中的所有记录。每个记录的主键必须是唯一的,因为它充当唯一标识符,并且不应包含Null值。每个数据库必须只有一个主键。

什么是外键?

外键是指数据库记录中的字段或字段集合,用于唯一标识某个其他表中另一个数据库记录的键字段。简单来说,它在数据库中两个不同表中的记录之间建立链接。它可以是表中指向主键列的列,这意味着表中定义的外键是指某个其他表的主键。在关系数据库中,引用对于在记录之间建立链接至关重要,这对于分类数据库至关重要。外键在关系数据库规范化中起着重要作用,尤其是当表需要访问其他表时。

主键和外键之间的区别

主键与外键的基础知识

主键是关系数据库中的特殊键,它充当每个记录的唯一标识符,这意味着它唯一地标识表中的每一行/记录,并且其值对于表的每一行应该是唯一的。另一方面,外键是一个表中将两个表链接在一起的字段。它指的是唯一标识另一个表或同一个表的行的列或一组列。

主键与外键的关系

主键唯一地标识关系数据库表中的记录,而外键是指表中的字段,该表是另一个表的主键。主键必须是唯一的,并且在必须定义的表中只允许一个主键,而表中允许多个外键。

主键与外键的重复值

主键是UNIQUE和Not Null约束的组合,因此不允许在关系数据库表的主键字段中具有重复值。不允许两行携带主键属性的重复值。与主键不同,外键可以包含重复值,关系数据库中的表可以包含多个外键。

主键与外键的NULL

两者之间的主要区别之一是,与主键不同,外键也可以包含NULL值。关系数据库中的表只能有一个不允许NULL值的主键。

主键与外键的临时表

可以在临时表及其变量上隐式定义主键约束,而不能在本地或全局临时表上强制实施外键约束。

删除主键与外键

无法从父表中删除主键值,父表在子表中称为外键。在删除父表之前,必须先删除子表。相反,即使该值被引用到父表的主键,也可以从子表中删除外键值。

主键与外键:比较图表

主键经文外键概述

密钥在数据库模式的存在中起着至关重要的作用,以在表之间和表内建立链接。密钥建立关系并强制执行不同类型的完整性,尤其是表级和关系级完整性。首先,它们确保表包含唯一记录,并且用于建立表之间关系的字段必须包含匹配值。主键和外键是关系数据库中使用的两种最重要和最常用的键。主键是用于唯一标识表中记录的特殊键,而外键用于建立两个表之间的关系。两者在结构上是相同的,但在关系数据库模式中扮演不同的角色。