Access数据库中的“主表-子表”,这其实是数据表的关系的问题。通常,一个数据库应用系统包括多个表。为了把不同表的数据组合在一起,必须建立表间的关系。建立表之间的关系,不仅建立了表之间的关联,还保证了数据库的参照完整性。

1. 理解参照完整性

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

(1)在符合下列所有条件时,可以设置参照完整性:

①来自于主表的匹配字段是主键(两个表建立“一对多”的关系后,“一”方的表称为主表,“多”方的表称为子表)。

②两个表中相关联的字段都有相同的数据类型。

(2)使用按照完整性时要遵守如下规则:

在两个表之间设置参照完整性后,如果在主表中没有相关的记录,就不能把记录添加到子表中。反之,在子表中存在与之相匹配的记录时,则在主表中不能删除该记录。

2. 创建关系

不同表之间的关联是通过主表的主键字段和子表的外键字段来确定的。

示例:建立学生基本信息表和课程信息表,然后建立学生表和课程表之间的关系。

①建立学生表和课程表就不用说了,操作很简单。在这里,学生表包括的字段有:学号、姓名、性别、出生日期、政治面貌、入学成绩、系别ID,课程表包括字段有:学科ID、课程号、学号。可以看出,这两个表之间的关联是“学号”,我们可以看出,一个学生可以选多个课程,所以学生表和课程表是“一对多”的关系,其中学生表中的“学号”为主键,课程表中“学号”为外键。

②建立表之间的关系

1)在“数据库工作”选项卡的“关系”组中,单击“关系”对应的按钮,打开“关系”窗口。

2)在“关系”窗口中,在右键菜单中,选择“显示表”,然后选中“学生表”和“课程表”,点击“添加”按钮,则将两个表添加到关系窗口中了。

3)在“学生表”中,选中“学号”字段,按住左键不松开,拖到“选课表”的“学号”字段上,放开左键,这时会弹出“编辑关系”对话框,选中“实施参照完整性”和“级联更新相关字段”复选框,如下图:


4)然后单击“创建”按钮,关闭“编辑关系”对话框,返回到“关系”窗口。则会看到学生表和课程表之间建立的关系。


这是,打开“学生表”,则会看到“主表-子表”的关系,并且在学生表的每行都有个“+”号,点击可以打开子表信息。



PS:以上内容参考了《Access2010入门与实例教程》,若想详细学习Access数据库,这本书是个不错的选择!

更多推荐

Access数据库中 主表—子表 的建立