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

外键和主键之间的键区别在于,外键是一列或一组列,它们引用另一个表的主键或候选键,而主键是一列或一组列,可用于唯一标识表中的行。...

外键和主键之间的键区别在于,外键是一列或一组列,它们引用另一个表的主键或候选键,而主键是一列或一组列,可用于唯一标识表中的行。

可以用来标识或访问数据库中一行或一组行的列或一组列称为键。关系数据库中的主键是表中唯一标识表中一行的列的组合。关系数据库中的外键是表中与另一个表的主键相匹配的字段。外键用于交叉引用表。

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

目录

1. 概述和主要区别
2. 什么是外键
3. 什么是主键
4. 外键并列对照表
5. 摘要

什么是外键(foreign key)?

外键是两个表之间的引用约束。它标识一个表(称为引用表)中的一列或一组列,该表引用另一个表(称为被引用表)中的一组列。引用表中的外键或列必须是被引用表中的主键或候选键(可以用作主键的键)。此外,外键允许跨多个表链接数据。因此,外键不能包含未出现在它所引用的表中的值。然后外键提供的引用有助于将多个表中的信息链接起来,这对于规范化数据库来说是必不可少的。引用表中的多行可以引用被引用表中的一行。

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

图01:外键映射

在ansisql标准中,外键约束定义外键。此外,还可以在创建表本身时定义外键。一个表可以有多个外键,它们可以引用不同的表。

什么是主键(primary key)?

主键是唯一定义关系数据库表中一行的列或列的组合。一个表最多只能有一个主键。主键强制隐式NOT NULL约束。因此,具有主键的列不能包含空值。主键可以是表中保证唯一的常规属性,如社会保险号,也可以是数据库管理系统生成的唯一值,例如Microsoft SQL Server中的全局唯一标识符(GUID)。

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

图02:主键

此外,ansisql标准中的主键约束定义了主键。也可以在创建表时定义主键。除此之外,SQL允许主键由一个或多个列组成,并且包含在主键中的每个列都被隐式定义为NOT NULL。但是一些数据库管理系统要求主键列显式地不为空。

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

外键与主键
外键是关系数据库表中的一列或一组列,它提供两个表中数据之间的关联。 主键是一个特殊的关系数据库表列或允许唯一标识所有表记录的多个列的组合。
无效的
外键接受空值。 主键值不能为空。
钥匙数量
表可以有多个外键。 表只能有一个主键。
复制
元组对于外键属性可以有重复的值。 关系中的两个元组不能具有主键属性的重复值。

总结 - 外键(foreign key) vs. 主键(primary key)

外键和主键的区别在于,外键是一列或一组列,它们引用另一个表的主键或候选键,而主键是一列或一组列,可用于唯一标识表中的行。

引用

1.“外键。”维基百科,维基媒体基金会,2018年5月12日。可在此处查阅2.“主密钥”。维基百科,维基媒体基金会,2018年4月3日。此处提供
2.“主键”,维基百科,维基媒体基金会,2018年4月3日。

  • 发表于 2020-10-26 12:19
  • 阅读 ( 2075 )
  • 分类:IT

你可能感兴趣的文章

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

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

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

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

...T NOT NULL,amount DECIMAL(8,2) NOT NULL,product_name VARCHAR(200) NOT NULL,FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE) engine=InnoDB; ...

  • 发布于 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: Relati***h...

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

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

...dent表的主键可以是Student\u id和name的组合。 什么是外键(a foreign key)? 外键用于引用其他表。它也称为引用键。它是与不同表中的主键匹配的列或列的组合。换句话说,表中的外键是其他表的主键。 Figure 1: Primary and Foreign Key 例如...

  • 发布于 2021-07-01 02:29
  • 阅读 ( 930 )

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

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

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

候选密钥(candidate key)和复合键(composite key)的区别

...的差异-密钥差异的比较 关键术语 候选密钥、复合密钥、主键、超级密钥 什么是候选密钥(candidate key)? 超级键是一组一个或多个属性,可以唯一地标识表中的记录。候选密钥是从超级密钥集中选择的密钥。此外,候选密钥不应...

  • 发布于 2021-07-02 00:17
  • 阅读 ( 2149 )
spontlist
spontlist

0 篇文章

相关推荐