主键(primary key)和外键(foreign key)的区别

数据库管理系统(DBMS)在商业、银行、航空、电信和大学等领域具有重要意义,因为它是一种高效、可靠的数据库数据创建、存储和管理方法。关系数据库管理系统(RDBMS)是DMBS的高级形式,它是专门为关系数据库构建的。这些数据库将数据保存在表中,这些表包含分别表示条目和属性的行和列。...

数据库管理系统(DBMS)在商业、银行、航空、电信和大学等领域具有重要意义,因为它是一种高效、可靠的数据库数据创建、存储和管理方法。关系数据库管理系统(RDBMS)是DMBS的高级形式,它是专门为关系数据库构建的。这些数据库将数据保存在表中,这些表包含分别表示条目和属性的行和列。

键是关系数据库模式的重要组件,因为它们在两个不同的表之间建立链接,并确保唯一地标识表中的任何数据行。但是,密钥比维护链接更为重要。

它有助于从大量的行中收集特定的数据,如果没有键的话,这些数据有时会很复杂甚至不可能。帮助有效地建立和识别关系数据库之间的链接的两个基本键,它们是主键和外键。

主键(primary key) vs. 外键(foreign key)

主键和外键的区别在于,主键使用表中一列或多列中包含的数据唯一地标识每一行,而外键是数据库中的一列或多列,指向其他表中数据库记录的主键。

主键(primary key)和外键(foreign key)的区别

没有主键,表就不能算作关系数据库表。因为主键用于唯一标识特定的数据行,所以两行或更多行不能有相似的主键。相反,外键用于在两个不同表的记录之间建立关系。然而,与主键不同的是,我们可以在一个数据库中有许多外键。

Parameter of comparison Primary key Foreign key
重复值 主键不允许两行具有相同的值。 外键允许两行具有相同的值。
** 在主键中,即使外键没有值,也可以**值。 在外键中,如果主键中不存在值,则无法**值。
射程 关系数据库表中的每一行只能有一个主键。 关系数据库表可以有许多外键。
**索引 默认情况下,主键具有**索引。 外键没有**索引。
删除 当要删除某个值时,应该使该值仍然不在外键引用表中。 当一个值被删除时,可以很容易地从外键中删除它。
临时表 可以在临时表上定义主键。 不能在临时表上定义外键。

主键与外键对照表(表格形式)

什么是主键(primary key)?

主键是指唯一确定表中行集的特定列选择。主键是具有唯一ID的单个属性,也被视为候选键。主键有两种类型,即简单主键和复合主键。简单主键是只包含一列的数据库表,而复合主键是包含多个列的数据库表。

主键的值不应波动或更改,因为主键表示数据库中的重要性。所以通过改变值会导致很多混乱。主键的开头不应包含空值,这样就没有人可以识别该表中的值。另外,没有两行具有相同的主键,因为这不会导致数据库是唯一的。因此,表中的每一行数据只能有一个主键。

主键是集群索引,这意味着表中的所有行都被排序。主键主要在临时表上定义。从表中删除行时,必须小心,外键列中不存在已删除的值。

什么是外键(foreign key)?

外键是指数据库表中提供两个表之间链接的列。当表1具有表2的主键时,则该属性是外键。具有外键的表1称为引用键,表2的主键称为引用关系。

与主键不同,外键可以包含空值,因为它无助于识别关系中的差异,因为主键已经完成了这部分工作。外键也可以接受与主键不同的重复值,并且可以在数据库中具有多个或多个外键,因为外键可以具有不同的属性。但是,外键不能有**索引。

不能在临时表上定义外键。在外键列中添加值时,必须确保该值存在于主键中,并且从外键中删除值时没有约束。外部表有助于维护数据库中表的完整性。数据库管理系统可以防止意外删除任何值。

主键和外键的主要区别

  • 主键不允许数据库表中的两行有重复的值。外键允许数据库表中的两行具有重复的值。
  • 在主键的属性中,可以在表中**值,即使外键的列中没有该值。在“外键”属性中,如果主键数据库中不存在值,则不能在表中**值。
  • 主键属性在其表中只能有一个主键范围。外键属性的表中可以有大量外键。
  • 主键有一个**索引,这意味着数据库关系中的所有行都被排序。外键没有自动**索引,但可以手动进行。
  • 在主键下,通过确保外键引用表中不存在值,可以从引用表中删除该值。在外键下,可以删除值而不会出现任何问题,因为值是否仍存在于主键引用表中并不重要。
  • 主键可以在临时表上确定。不能在临时表上确定或强制外键。

结论

在数据库管理系统中,键在建立表内关系和表间关系方面起着重要作用。但要做到这一点,我们必须确保用于维护不同表之间关系的区域必须具有可比较的值,并且表必须由唯一的行组成。

本文讨论两个最基本和最常用的键,它们在表之间创建链接并帮助关系数据库管理系统高效地工作。对主键和外键进行了详细的描述和区分,以帮助个人清楚地了解它们之间的区别,因为尽管这些术语在设计上可能相似,但它们执行不同的角色。

主键使用一列或多列中的数据唯一地标识关系数据库表中的所有行,以避免**重复的数据行,而外键用于在数据库中的两个表之间建立链接。

参考文献

  • https://dl.acm.org/doi/abs/10.14778/1920841.1920944?casa_token=hgkahpnya9oaaaaa:_nypws4jzn-bi4lt9bwa73eptvobtyxjzxb7rpkvxgvzrc0htxpsv742iqmgssjiua1f\u e\u 80个英寸
  • https://ieeexplore.ieee.org/abstract/document/994756/

  • 发表于 2021-07-09 18:39
  • 阅读 ( 171 )
  • 分类:IT

你可能感兴趣的文章

符合逻辑的(logical)和物理数据模型(physical data model)的区别

...系以及每个实体的属性。 逻辑数据模型包括每个实体的主键和外键。创建逻辑数据模型时,首先用键标识实体及其关系。然后识别每个实体的属性。之后,多对多的关系被解决并完成规范化。逻辑数据模型独立于数据库管理系...

  • 发布于 2020-10-27 04:55
  • 阅读 ( 612 )

外键(foreign key)和主键(primary key)的区别

外键和主键之间的键区别在于,外键是一列或一组列,它们引用另一个表的主键或候选键,而主键是一列或一组列,可用于唯一标识表中的行。 可以用来标识或访问数据库中一行或一组行的列或一组列称为键。关系数据库中...

  • 发布于 2020-10-26 12:19
  • 阅读 ( 2075 )

主键(primary key)和候选关键字(candidate key)的区别

主键与候选键 虽然主键是从候选键中选择出来的,但是主键与其他候选键之间存在一些差异,本文将对此进行详细讨论。数据库设计是维护和存储数据时最重要的活动之一。在这个设计过程中,必须创建具有许多关系的不同...

  • 发布于 2020-10-29 02:12
  • 阅读 ( 1302 )

mysql数据库模式编写入门指南

在开发一个软件项目时,最重要的、基本的和内在的方面之一是一个结构合理的数据库模式。这相当于建造一所需要确保地基适当铺设的房子,否则建造优质房屋的机会大大减少。 ...

  • 发布于 2021-03-26 19:24
  • 阅读 ( 213 )

尺寸表(dimension table)和事实表(fact table)的区别

...事实表主要由业务事实和外键组成,外键引用维度表中的主键。维度表主要由作为文本字段的描述性属性组成。 维度表为事实表的度量提供描述性或上下文信息。另一方面,事实表提供企业的度量,维度表包含一个代理键、自...

  • 发布于 2021-06-23 19:44
  • 阅读 ( 600 )

层次数据库(hierarchical database)和关系数据库(relational database)的区别

...段是隐式链接的。但是在关系数据库中,我们应该借助“主键”和“外键”显式地链接表。 键的使用:关系数据库通常由称为主键的唯一键和其他表中称为外键的键组成。这些外键是其他表中的主键,在从该表访问其他表时引...

  • 发布于 2021-06-25 00:33
  • 阅读 ( 391 )

主键(primary key)和唯一键(unique key)的区别

主键和唯一键都是关系数据库中的唯一键,它们保证一列或一组列上的值的唯一性。主键约束中已存在预定义的唯一键约束。主键特别用于标识表中的每条记录,而唯一键则用于防止列中的重复条目(空条目除外)。但是,这...

  • 发布于 2021-06-25 02:25
  • 阅读 ( 455 )

主键(primary key)和唯一键(unique key)的区别

主键和唯一键的主要区别在于,一个表中只能有一个主键,不能有任何空值,因为它的功能是标识表中的每个记录,而一个表中可以有多个唯一键,因为它们的功能是确保一个列只具有唯一值,这样就不会有空值任何重复的数据...

  • 发布于 2021-06-30 17:00
  • 阅读 ( 337 )

关系(relation)和数据库管理系统中的关系(relationship in dbms)的区别

...系描述两个表或实体如何相互连接。这些表可以使用诸如主键和外键之类的约束相互关联。主键是表的主键。它有助于唯一地标识表中的每条记录。当一个表中的主键添加到另一个表中时,该主键将成为新表中的外键。 Figure 2: R...

  • 发布于 2021-07-01 01:38
  • 阅读 ( 935 )

主键(primary key)和候选密钥(candidate key)的区别

主键和候选键之间的主要区别在于,主键是表中有助于唯一标识每一行的最小属性集,而候选键是没有冗余属性的超级键。 通常,RDBMS的数据库由多个表组成。因此,键有助于建立表之间的关系。此外,一个键可以由一个属性或...

  • 发布于 2021-07-02 00:17
  • 阅读 ( 400 )
八卦布尼草
八卦布尼草

0 篇文章

相关推荐