使用关系

创建一对一关系

您的浏览器不支持视频。 安装 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

一对一关系是什么?

一对一关系常用于指示关键关系,可用于获取运营业务所需的数据。

一对一关系是两个表中信息之间的链接,其中每个表中每条记录只出现一次。例如,员工及其驾驶的车辆可能存在一对一关系。“员工”表中每个员工只出现一次,“公司汽车”表中每辆汽车也只出现一次。

如果你拥有包含一列项的表,但你要捕获的关于这些项目的特定信息因类型而异,可以使用一对一关系。例如,你可能有一个“联系人”表,其中有人是员工、有人是分包商。对于员工,你希望了解其工号、扩展名以及其他关键信息。对于分包商,你希望了解其公司名称、电话号码、费率以及其他信息。这种情况下,你可以创建“联系人”、“员工”和“分包商”三个独立的表,然后分别在“联系人”和“员工”表之间以及“联系人”和“分包商”表之间创建一对一关系。

创建一对一关系概述

可通过将一个表中的索引(通常是主键)与另一个表中共享相同值的索引进行链接,从而创建一对一关系。例如:

显示两个表共享一个 ID 的屏幕截图
在两个表中都显示“汽车 ID”,但在每个表中仅列出一次。

通常情况下,创建此关系的最佳方法是让第二个表查阅第一个表中的值。例如,将“员工”表中的“汽车 ID”字段作为查阅字段,使其查找“公司汽车”表的“汽车 ID”索引中的值。这样就绝对不会意外添加实际并不存在的汽车 ID。

重要: 创建一对一关系时,请慎重决定是否对此关系实施引用数据完整性

引用数据完整性可删除相关记录,从而帮助 Access 保持数据整洁。例如,如果你从“员工”表中删除一名员工,则也将从“福利”表中删除该员工的福利记录。但在某些关系中(例如在本例中),引用完整性并无意义:删除某位员工时,我们并不希望从“公司汽车”表中删除相应的汽车,因为该汽车仍然属于公司,将分配给其他员工。

创建一对一关系的步骤

向表添加查阅字段以创建一对一关系。(若要了解如何操作,请参阅构建表和设置数据类型。)例如,若要指示已分配给特定员工的汽车,可将“汽车 ID”添加到“员工”表中。然后,使用查阅向导创建这两个字段之间的关系:

  1. 打开一个表。

  2. 在“设计视图”中,添加新字段,选择“数据类型”值,然后选择“查阅向导”。

  3. 在向导中,默认设置为查阅另一个表中的值,因此请选择“下一步”。

  4. 选择包含所需键(通常是主键)的表,然后选择“下一步”。在本示例中,应选择“公司汽车”表。

  5. 在“选定字段”列表中,添加包含要使用的键的字段。选择“下一步”。

    查阅向导的屏幕截图
  6. 设置排序顺序,也可根据个人喜好更改字段宽度。

  7. 在最后的屏幕上,清除“启用数据完整性”复选框,然后选择“完成”。

希望获得更多信息?

表关系入门

创建关系

删除关系

Excel 培训

Outlook 培训

在关系数据库中,当一个表中的单个记录仅与另一个表中的单个记录时相关时,存在一对一关系。

尽管此类关系不如一对多或多对多关系常用,但了解如何操作仍是有益的。

因此我们将引导你完成创建此关系的步骤。

在此示例中,我们有一个关于公司汽车车队的数据表,还有一个关于驾驶这些车辆的员工的表。

可以看到该公司使用同一类型的汽车,所以,想要识别谁驾驶哪辆车就需要使用“许可证编号”字段。

在此演示中,假设为每个员工分配一辆汽车。但在开始之前,让我们讨论一个新术语:“索引”。

Access 为数据库中的字段编制索引,可以像使用书籍索引一样使用它们来快速查找信息。

默认情况下,索引处于启用状态,但你可以更改其行为,或将其关闭。

这非常重要,因为要创建一对一关系,首先要创建一对多关系,然后更改两个表中键字段的索引。

我们首先使用“查阅向导”来创建关系。

我们从另一个表中获取值:“公司汽车”表。

我们想要使用“许可证编号”字段,但我们不会受到排序顺序的干扰,因为我们要处理的值很少。

隐藏键列,然后将该字段命名为“公司汽车”。

在此例中,我们不启用“引用完整性”,这可能是我们唯一一次这样做。这样,即使我们删除了某位员工,也不会意外删除汽车。

选择“完成”。现在,我们有了一个外键和一个选择许可证编号的简单方法。

接下来,请确保你选择了字段。然后依次选择“字段”、“已索引”和“唯一”。

现在转到“公司汽车”表,并确保已选择主键。可看到此表也是“已索引”和“唯一”的,因为它是一个“自动编号”字段,这样就完成了。

如果在“设计视图”中,则可以在“字段属性”窗格中看到索引属性。

如果打开属性列表,可看到三个值。一对一关系中可使用以下两个值之一:“”或“是(无重复)”。

现在,你已在数据库中创建了一对一关系。

如果我们查看“关系”窗格,可以看到关系仅显示为一条直线,而没有表示一对多或多对多关系的 1 或无穷符号。

你现在可以看到该数据库现在包含所有三种类型的关系。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×