• 沒有找到結果。

创建表之间的关系

在文檔中 第 3 章 数据表 (頁 25-29)

创建或修改完数据库中的表后,有时还需要将各个不同表中的信息联系在一起,因此,

Access 引入了表关系这个概念。所谓表关系,就是在两个表的公共列之间建立的联系,联系 的字段不一定要有相同的名称,但必须有相同的字段类型,除主关键字字段的数据类型是“自 动编号”外。用户可以通过表关系在创建查询、窗体以及报表时,同时显示多个表中的信息。

Access 数据库内包含了 3 种关系方式,即一对一、一对多和多对多。

(1)若只有一个相关字段是主关键字或唯一的索引,则需创建一对多关系。

(2)若一个表中的每一个记录仅能与另一个表中的一个记录匹配,并且另一个表中的每 一个记录仅能与这一个表中的一个记录匹配,则需创建一对一关系。

(3)若某两个表与第三个表有两个一对多关系,并且第三个表的主关键字包含两个字段,

分别是前两个表的外键,则创建多对多关系。

注意:在创建所有表关系之前,必须将所有打开的表关闭,不能在已打开的表之间创建 或修改表关系。

3.6.1 一对一关系

由于大多数相关的信息都在一个表内,因此该关系不常用。

【例 3-5】在学生基本信息表与学生家庭信息表之间建立关系。

在“学生管理系统”数据库中,学生基本信息表中的每一个学号所对应的学生也相应的 在学生家庭信息表中存在一个记录,两个表之间是一对一的关系,其中学号是确定关系的关键 字段,具体操作步骤如下:

(1)打开“数据库”窗口,或直接按 F11 键将其切换到“数据库”窗口。单击 Access 工具栏中的“关系”按钮 ,也可以从“工具”菜单中选择“关系”命令,或者右击,在弹 出的快捷菜单中选择“关系”命令。如果用户是第一次定义关系,将弹出“显示表”对话框,

如图 3-37 所示。

(2)在“表”选项卡中选中要作为相关表的名称,可以按住 Shift 键或 Ctrl 键选择多个 表。这里选择“学生基本信息表”和“学生家庭信息表”然后单击“添加”按钮,再单击“关 闭”按钮,结果如图 3-38 所示。

图 3-37 “显示表”对话框 图 3-38 “关系”窗口

(3)从某个表中将所要的相关字段拖到其他表中。如果要拖动多个字段,按住 Ctrl 键并 拖动这些字段到其他表中,这里我们拖动任一表中的学号字段到另一个表中的学号字段,此时 将弹出“编辑关系”对话框,如图 3-39 所示。

图 3-39 “编辑关系”对话框

(4)选中“实施参照完整性”复选框,则表示用户需要确认数据的完整性。若要重新设 置两个表的联接类型,单击“联接类型”按钮,将弹出“联接属性”对话框,如图 3-40 所示。

(5)用户可根据需要在“联接属性”对话框中进行相应的设置。

①选择 1,表示定义一个内部联接。所谓内部联接,是指只有当联接字段中的值符合指定 条件时,两个表的记录才会组合在一个查询结果中。

②选择 2,表示定义一个左外部联接。所谓左外部联接,是指在右边表的联接字段中没有 匹配值,所有来自查询的 SQL 语句中 LEFT JOIN 操作左侧的记录也都将添加到查询的结果中。

③选择 3,表示定义一个右外部联接。所谓右外部联接,是指在左边表的联接字段中没有 匹配值,所有来自查询的 SQL 语句中 RIGHT JOIN 操作右侧的记录也都将添加到查询的结果 中。设置完成后,单击“确定”按钮即可。

(6)若用户需要新建一种表关系,则可直接单击“新建”按钮,此时弹出“新建”对话 框。在“新建”对话框中的“左表名称”下拉列表框中选择一个表,在“右表名称”下拉列表 框中选择另一个表,在“左列名称”下拉列表框中选择一个字段名称,在“右列名称”下拉列 表框中选择一个字段名称,然后单击“确定”按钮关闭此对话框,如图 3-41 所示。

图 3-40 “联接属性”对话框 图 3-41 “新建”对话框

(7)所有设置完成之后单击“编辑关系”对话框中的“创建”按钮即可。

3.6.2 一对多关系

如果一个表中的一个记录能与另一个表中的许多记录匹配,但另一个表中的一个记录仅 能与这个表中的一个记录匹配,则需要选此种表关系。一对多关系是关系中最常用的类型。为 了定义一对多关系,用户必须确定多个表在“关系”窗口中是可见的,若没有显示多个表,则 打开“显示表”对话框,选择第一个表后,单击“添加”按钮,然后重复此步骤,直到所有的 表都显示在“关系”窗口中,然后单击“关闭”按钮。在第一个表中单击需要创建关系的字段,

并且将其拖到第二个表的匹配字段中,此时将会弹出“编辑关系”对话框,在“编辑关系”对 话框中进行相应的参数设置,最后单击“关闭”按钮,关闭“关系”窗口并且保存创建的布局。

3.6.3 多对多关系

如果一个表中的记录能与另一个表中的许多记录匹配,并且另一个表中的记录也能与这 个表中的许多记录匹配,则选择多对多关系。多对多关系实际上是由许多一对多的关系组成的,

有一个中间表(有时称为连接表)将结果连接到一起。这种关系仅能通过定义第三个表来表达,

其中包含两个主关键字段,即来源于第一个和第二个表的外键。要创建多对多关系,具体操作 步骤如下:

(1)在设计视图中打开表,并选择要定义为主键的一个或多个字段。

(2)在工具栏上单击“主键”按钮 ,创建多个主键字段。

参照完整性是一个规则系统,Access 使用这个系统来确保相关表中记录之间关系的有效 性,并且不会意外地删除或更改相关数据。

②如果在相关表中存在匹配的记录,则不能从主表中删除这个记录。例如,如果在“订 单”表中有订单分配给某一雇员,就不能在“雇员”表中删除此雇员的记录。

③如果某个记录有相关的记录,则不能在主表中更改主键值。例如,如果在“订单”表 中有订单分配给某个雇员时,不能在“雇员”表中更改这位雇员的雇员 ID。

在文檔中 第 3 章 数据表 (頁 25-29)

相關文件