建立表之间的关系良好的数据库设计目标之一就是消除数据冗余, 要实现这一目标, 可以将数据拆分为多个基于主题的表, 尽量使每条数据只出现一次, 然后在相关表中放置公共字段, 并建立各表之间的关系, 从而将拆分的数据组合到一起, 这也是关系型数据库的运行原理。 在 Access 2016 中, 表的关系类型总共有 3 种关系,分别是一对一、 一对多和多对多关系。
- 一对一关系
两个表之间, 主键与主键创建关系就称为一对一关系。
在一对一关系中, 表 A 中的每条记录在表 B 中只有一个匹配记录,且表 B 中的每条记录在表 A 中也只有一个匹配记录。
这种关系并不常见, 因为多数以此方式相关的信息都存储在一个表中。 可以使用一对一关系将一个表分成许多字段, 或者出于安全原因隔离表中的部分数据, 或者存储仅应用于主表的子集的信息。标志此类关系时,这两个表必须共享一个公共字段。
- 一对多关系
两个表之间主键与外键建立关系就称为一对多关系。
一对多关系是最常见的类型关系。 在这种关系中, 表 A 中的一行可以匹配表 B 中的多行, 但表 B 中的一行只能匹配表 A 中的一行。
要在数据库设计中表示一对多关系, 应将关系"一"方的主键作为额外字段添加到关系"多"方的表中。
例如, 表"出版社"和"书"之间就有一对多关系: 每家出版社都出版许多书, 但是每种书只会出自一家出版社。 这里就应将表"书"中的"书刊号"作为主键, 而在表"出版社"中将"书刊号"作为非主键。
- 多对多关系
多个表之间有两个及两个以上的一对多关系称为多对多关系。
在多对多关系中, 表 A 中的一行可以匹配表 B中的多行, 反之亦然。
要创建这种关系, 需要定义第三个表,称为连接表, 它的主键由表 A 和表B 两个表中的外键组成。 因此, 第三个表记录关系的每个匹配项或实例。
例如,"订单"表和"产品"表有一种多对多的关系, 这种关系是通过与 "订单明细"表建立两个一对多关系来定义的。一个订单可以有多个产品,每个产品可以出现在多个订单中。
1.创建一对一表关系
在创建一对一的关系时, 两个表之间必须共享一个公共字段, 并且该公共字段必须具有唯一索引。 创建一对一关系的具体操作步骤如下。
Step 01 打开"供货商信息管理 .accdb", 打开【供货商信息表】, 进入设计视图, 单击【表格工具 / 设计】 选项卡【关系】 组中的【关系】 按钮, 如下图所示。
<