文档介绍:第四章建立表之间的关系
主键与外键
表的关联类型
定义表之间的关系
参照完整性
主键与外键
关系就是表之间的联系,ess中,是在两表的公共字段间创建的联系性。关系通过匹配键字段中的数据来完成,键字段通常是两个表中使用相同名称的字段。
(Primary Key)
是由一个或一组字段组成,这些字段的值对每条记录来说必须是唯一的。每张表必须有一个主键,并且主键值不能为空(Null)。
(2)外键(Foreign Key)
如果表中的一个字段是另一个表的主键字段,那么这个字段在本表中被称为外键。
表的关联类型
表间的关系类型有三种:
(1)一对一关系
在一对一关系中,A表中的每一记录在B表中仅有一个记录与之匹配;反之也如此。
(2)一对多关系
一对多关系指的是建立关系的两个表中,A表中的一个记录能够与B表中的多个记录相匹配,但是在B表中的一个记录仅能与A表中的一个记录匹配。
(3)多对多关系
多对多关系指的是建立关系的两个表中,A表中的一个记录能够与B表中的多个记录相匹配,同时,B表中的一个记录也与A表中的多个记录匹配。
一对一一对多多对多
定义表之间的关系
【例4-1】完成主教材图4-3中“学生”表与“成绩”的一对多关系的建立。
①关闭所有打开的表,不能在已打开的表之间创建或修改关系。
②如果还没有切换到“数据库”窗口,可以按F11键从其他窗口切换到“数据库”窗口。单击工具栏上的“关系”按钮。
③如果数据库没有定义任何关系,将会自动显示“显示表”对话框。双击“学生”和“成绩”表,然后关闭“显示表”对话框。
④从“学生”表中将所要的相关字段学号拖动到“成绩”表中的相关字段学号上。
⑤显示“编辑关系”对话框,检查显示在两个列中的字段名称以确保正确性。必要情况下可以更改参照完整性和联接类型。
⑥单击“创建”按钮创建关系。
联接类型有三种:
只包含来自两个表的联接字段相等处的行。
包含左表中的所有记录和右表中联接字段相等的那些记录。
包含右表中的所有记录和左表中联接字段相等的那些记录。
【例4-2】假设有表R 和S,分别如下:采用三种联接方式联接,查看不同的联接结果。
a
b
c
A1
B1
C1
A2
B2
C2
A3
B3
C3
a
d
e
A1
D1
E1
A4
D4
E4
R
S
参照完整性
参照完整性 
参照完整性是一个规则系统,Microsoft Access 使用这个系统来确保相关表中记录之间关系的有效性,并且不会意外地删除或更改相关数据。
当实行参照完整性后,必须遵守下列规则:
不能在相关表的外部键字段中输入主表的主键中不存在的值。
如果在相关表中存在匹配的记录,不能从主表中删除这个记录。
如果某个记录有相关的记录,则不能在主表中更改主键值。