• 沒有找到結果。

2.6.1 表关系的概念

关系数据库的主要特点是数据库内或数据库间的数据表之间可以建立关系。通过关系将 数据表整合成一个整体,实现数据表间数据的组合、共享,满足用户各种各样的要求。同时还

能通过参照完整性设置,防止错误数据的输入。

一个表中的字段与另一个表中字段有对应关系,如“学生基本信息”和“学生成绩”两 表中的“学号”字段有对应关系,则两个表就可以建立表间关系,对应字段称为“相关”字段,

两个表称为“相关表”。数据表间的关系包括一对一、一对多和多对多三种类型。一对一(one to one)关系,是指一个表中的一条记录在相关表中有唯一的匹配记录,反之亦然;一对多(one to many)关系,是指一个表中的每条记录在相关表中存在一个或多个匹配记录;多对多(many to many)关系可以通过第三表转化成一对一和一对多关系,不单独讲解。

在一个典型关系(实施了参照完整性)中,两表中有一个表的相关字段应有唯一型索引

(为主关键字),该表一般称为原表;另一个表中的相关字段分两种情况:如是唯一型索引(主 关键字),则为一对一关系,如不是,则为一对多关系。关系表中的相关字段,应有相同的数 据类型(名字可以不同),否则不可实施参照完整性。

2.6.2 创建表关系

下面以“基础练习”数据库中的表为例,介绍建立表间关系的过程。

(1)打开数据库“基础练习”,但所有表应处于关闭状态。

(2)单击工具栏上的“关系”按钮 (或选择“工具”→“关系”命令),如果数据库 中尚未定义任何关系,则会自动显示“显示表”对话框,如图 2-34 所示。如果需要添加相关 联的表,而“显示表”对话框未显示,请单击工具栏上的“显示表”按钮 。

图 2-34 显示表对话框

(3)逐个双击要作为相关表的名称(或选择相关表后,单击“添加”按钮),然后单击

“关闭”按钮,关闭“显示表“对话框。

(4)从“学生基本信息”表(表中“学号”字段为主关键字)中的“学号”字段上按住 鼠标左键,拖到“学生家庭关系”表中的“学号”字段上。多数情况下是将表中的主键字段(以 粗体文本显示)拖到其他表中的相关字段上。在此操作过程中,“学生基本信息”表称为原表。

(5)系统弹出“编辑关系”对话框。检查显示在两个列中的字段名称以确保正确性。必 要情况下可以进行更改,根据需要设置关系选项,如图 2-35 所示。各复选项的含义如下:

 实施参照完整性:如果建立关系的两表同属一个数据库,相关字段格式相同,且是原 表的主键,那么该关系可以实施参照完整性。参照完整性保证在相关表中的相关字段 上输入的值,与原表相关主键列中的现有值相匹配(有相同值),否则出现错误信息。

如:“学生家庭关系”表中的每一条记录应与“学生基本信息”表中的记录相对应。

关系之间实施参照完整性后,一对多关系线两端会出现符号“1”和“∞”,一对一关 系线两端出现符号“1”和“1”,如图 2-36 所示。“学生成绩”表中的“学号”字段 也为主关键字,而“学生家庭关系”表中的“学号”字段则不是,因此出现了“一对 一”和“一对多”两种类型的关系。

图 2-35 “编辑关系”对话框

图 2-36 基础练习中的表关系

 级联更新相关字段:选择“实施参照完整性”后,可选择该项。该功能保证原表中的主 键值改变时,相关表中的对应值也自动跟随更新。如“学生基本信息”表中的“学号”

字段的某值发生变化时,则“学生家庭关系”表中对应记录的“学号”也同步变化。

 级联删除相关记录:选择“实施参照完整性”后,可选择该项。该功能的作用是当删 除原表中记录时,相关表中的对应记录自动删除。

(6)单击“创建”按钮,完成关系创建。

(7)按照以上步骤建立所有表间的关系,关系窗口如图 2-36 所示。

关闭“关系”窗口时,Microsoft Access 将询问是否保存该布局。不论是否保存该配置,

所创建的关系都已保存在此数据库中。

2.6.3 查看、编辑表关系

如果要查看或修改已创建的表关系,打开相关数据库,单击工具栏上的“关系”按钮 或 选择“工具”→“关系”命令,弹出“关系”对话框。选择关系线,在其上右击,弹出快捷菜 单,如图 2-37 所示。

图 2-37 编辑关系快捷菜单

 选择“编辑关系”项,弹出“编辑关系”对话框,可查看、编辑选中关系。

 选择“删除”项,可删除选中关系(也可以选中关系线后,直接按 Del 键,删除关系)。

在“编辑关系”对话框的右侧有一个“联接类型”按钮,单击该按钮将弹出“联接属性”

对话框,如图 2-38 所示。根据实际需要选择联接属性。

图 2-38 设置联接属性

2.6.4 使用子数据表

数据表之间建立关系是为了整合数据,方便操作表间数据。在查询、窗体中可以很方便 地通过表关系,实现表间数据的重新组合,这部分内容后面章节将详细讲述。下面以“基础练 习”数据库中的三个表为例,介绍在数据表视图中,查看关系表中的相关记录的方法。

数据库中的三个表之间建立了如图 2-37 所示的关系。当打开“学生基本信息”表时,在 数据表的左侧会出现一列“+”号,意味着该表已与其他表建立了关系。此时,称“学生基本 信息”表为主数据表,其他相关表为子数据表。

单击记录左侧“+”号,则显示出子数据表(相关表)中的对应记录数据,如图 2-39 所示。

图 2-39 查看关系表数据

“学生基本信息”表与其他两个表均建立了关系,单击“+”号后,应显示哪个表中的 相关记录呢?子表的选择操作如下:

(1)打开主数据表:学生基本信息。

(2)选择“插入”→“子数据表”命令,弹出“插入子数据表”对话框,如图 2-40 所示。

图 2-40 “插入子数据表”对话框

(3)选择子数据表。

(4)单击“完成”按钮,回到数据表视图。

说明:如果表间没有建立关系,此时会弹出对话框,询问是否创建关系,应单击“是”

按钮。

相關文件