1.创建表关系的益处
在创建数据库(如窗体,查询,报表)对象之间创建表关系,这样做有以下几个原因。
表关系可为查询设计提供信息
要使用多个表中的记录,通常必须创建联接这些表的查询。查询的工作方式为将第1个表主键字段中的值与第2个表的外键字段进行匹配。
表关系可为窗体和报表设计提供信息
在设计窗体和报表时,会使用从已定义的表关系中收集的信息,并用适当的默认值预填充属性设置。
表关系可作为基础来实施参照完整性
这样有助于防止数据库中出现孤立记录。孤立记录指的是所参照的其他记录根本不存在。在设计数据库时,将信息拆分为表,每个表都有一个主键。然后,向相关表中添加参照这些主键的外键。这样外键--主键将构成表关系和多表查询的基础。
2.编辑表关系
在【联接属性】对话框中显示3种选择,他们使用的联接类型以及为每个表返回所有行还是匹配行的情况
如下表所示。
选择 |
关系联接 |
左表 |
右表 |
1:只包含来自两个表的联接字段相等处的行。 |
内部联接 |
匹配行 |
匹配行 |
2:包括“库存信息”中的所有记录和“入库单明细”中
联接字段相等的那些记录。 |
左外部联接 |
所有行 |
匹配行 |
3:包括“入库单明细”中所有记录和“库存信息”中联接字段
相等的那些记录。 |
右外部联接 |
匹配行 |
所有行 |
4.设置参照完整性
使用参照完整性的目的是防止出现孤立记录并保持参照同步,以便不会有任何记录参照已存在的其他记录。
实施后,Access将拒绝违反表关系参照完整性的任何操作,如拒绝更改参照目标的更新,以及拒绝删除参照目标。
例如,在【编辑关系】对话框中启用了【实施参照完整性】复选框。
另外,实施了参照完整性后,应用将适应以下规则。
如果值在主表的主键字段中不存在,则不能在相关表外键字段中输入值,否则会创建孤立记录。
如果记录再相关表中有匹配记录,则不能从主表中删除。但通过启用【级联删除相关记录】复选框,可以在操作中删除主记录及所有相关记录。
如果更改主表中的主键值会创建孤立记录,则不能执行此操作。但通过启用【级联更新相关字段】复选框,可以在操作中更新主记录及所有相关记录。