东流西上
故在柳溪,水东有柳

ACCESS表的关系

阿里云主机

表关系的类型

ACCESS中表的关系有三种类型,他们是一对一、一对多、多对多。

一对一关系

一对一关系,在第一个表中的每个记录可以仅有一个匹配记录的第二个表中,,然后在第二个表中的每条记录可以仅有一个匹配记录的第一个表。 此类型的关系不常见,因为在大多数情况下,将以这种方式相关的信息存储在同一个表。 您可以使用一对一关系将分成许多字段,或隔离出于安全考虑,表的一部分或存储信息仅适用于主表的子集的表。 当执行识别这种关系时,请两个表必须共享公共字段。

一对多关系

请考虑订单跟踪数据库,包括客户表和订单表。 客户可以将添加任意数量的订单。 是这样,任何客户表中表示的客户,可以有多个订单表中表示的订单。 客户表和订单表之间的关系,因此,是一个一对多关系。

表示一对多关系数据库设计中,执行关系的”一”方的主键和将其作为其他字段或域添加到关系的”多”方表中。 在此例中,例如,添加新字段-客户表中的 ID 字段 — 到订单表并将其命名客户 id。 Access 可以再使用的客户 ID 号订单表中以找到正确的每个订单的客户。

多对多关系

请考虑产品表和订单表之间的关系。 单个订单可以包含多个产品。 另一方面,单个产品可以出现在多个订单。 因此,订单表中的每条记录,可以有许多记录在产品表中。 此外,在产品表中每条记录,可以有许多记录中订单表。 这种关系称为多对多关系,因为任何产品,可以有多个订单,然后按任何顺序,对于可能有许多产品。 请注意,检查表之间的现有多对多关系,务必要考虑的关系的两面。

要表示多对多关系,您必须创建第三个表,该表通常称为联接表,它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中。因此,第三个表记录关系的每个匹配项或实例。例如,“订单”表和“产品”表有一种多对多的关系,这种关系是通过与“订单明细”表建立两个一对多关系来定义的。一个订单可以有多个产品,每个产品可以出现在多个订单中。

创建多对多关系

在多对多关系中,两个表的每条记录可以与另一个表中的零条、一条或多条记录相关。多对多关系理解起来比较困难,创建多对多关系与创建一对一或一对多关系的方法不同。要创建后两种这些关系,只需用线条连接相应的字段即可。而创建多对多关系,则需要创建一个新表以连接其他两个表。此新表称为中间(有时称为链接联接表)。

在上文所述的情景中,你创建了“订单明细”表,对于任意给定订单中的每一项,该表中的记录包含其在“订单”表中 ID 和“产品”表中 ID。使用两表的组合键为该表创建主键。

在我们的案例中,Elizabeth Andersen 的订单编号 1012 包含产品 12、15 和 30。这意味着订单明细条目如下所示:

订单 ID

产品 ID

1012 12
1012 15
1012 30

Elizabeth 订购了一个产品 12、一个产品 15 和五个产品 30。我们不能在另一行中添加 1012 和 30,因为订单 ID 和产品 ID 共同构成了我们的主键,主键必须是唯一的。作为替代,我们将“数量”字段添加到“订单明细”表。

订单 ID 产品 ID 数量
1012 12 1
1012 15 1
1012 30 5

创建中间表

  1. 选择“创建”>“”。
  2. 选择“保存” 保存 。
  3. 对于“表单名称”,输入描述性标题。为指示其用途,可在表单名称中包含联接中间

在中间表中创建字段

Access 将自动添加 ID 字段作为表中第一列。更改该字段以匹配多对多关系中的第一个表的 ID。例如,如果第一个表是名为“订单 ID”的“订单”表,并且其主键是数字,请将新表中“ID”字段的名称更改为“订单 ID”,并使用数字作为数据类型。

  1. 在“数据表视图”中,选择“ID”列标题,然后键入该字段的新名称。
  2. 选择刚刚重命名的字段。
  3. 在“字段”选项卡上的“数据类型”下,选择与原始表中的字段匹配的数据类型,如数字短文本
  4. 选择“单击以添加”,然后选择与第二个表中主键相匹配的数据类型。在已选中的列标题中,键入第二个表中的主键字段的名称,如“产品 ID”。
  5. 若要跟踪有关这些记录的任何其他信息(如项数),请创建更多字段。

组合主 ID 字段

创建包含要连接的两个表中 ID 的字段后,请根据这些 ID 在中间表中创建主键。

  1. 在“设计视图”中,打开中间表。
  2. 选择包含 ID 的两行。(如果你按照前述过程操作,则为前两行。)
  3. 选择“设计”>“主键”。
    两个 ID 字段旁边将显示“键”图标。

    表中主键的屏幕截图

连接三个表以创建多对多关系

在每个表的主键字段和中间表的匹配字段之间创建一对多关系,以完成多对多关系。有关如何执行此操作的详细信息,请参阅表关系入门。

完成后,关系应如下所示:

三个数据库表之间连接的屏幕截图

 

赞(0) 打赏
转载请注明出处:水东柳博客 » ACCESS表的关系
分享到: 更多 (0)

评论 抢沙发

6 + 3 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏