在编辑表之间的关系时,为了确保表间关系的正确,系统为其设置了一些约束供用户选择。约束项说明如下。
1.实施参照完整性
参照完整性是一个规则系统,使用这个规则系统来确保相关表中记录之间关系的有效性,并且避免意外地删除或更改相关数据。在符合下列全部条件时,用户可以设置参照完整性。当选择了参照完整性时,则应满足以下规则。
规则1:来自于主表的匹配字段是“主键”或具有唯一索引。
规则2:相关的字段都有相同的数据类型。两个数据表都属于同一个数据库。如果数据表是链接表,它们必须是相同格式的表,并且必须打开保存此表的数据库以便设置参照完整性。不能对数据库中其他格式的链接表实施参照完整性。
当选中“实行参照完整性”复选框后,但是未设置“级联更新相关字段”与级联删除相关字段项,则必须遵守下列规则:
规则1:不能在相关表的外部键字段中输入不存在于主表主键中的值。例如,学生信息表中无某个学生的姓名,则在成绩表中也不应该出现该学生的姓名。
规则2:表中存在匹配的记录,不能从“主表”中删除这个记录。例如,如果在“学生成绩表”中存在某人的成绩,则不能删除在“学生信息表”中此学生的记录。
如果为表的关系实施这些规则,在创建或编辑表的关系时,就要选中“实施参照完整性”复选框。如果已经实行了参照完整性,但用户的更改破坏了相关表规则中的某个规则,Access将显示相应的消息,并且不允许这个更改操作。
2.级联更新相关字段(www.xing528.com)
选中“实施参照完整性”复选框后,若再选中“级联更新相关字段”复选框,则在“主表”中更改主键值时,将自动更新所有相关表中的相关记录中的匹配值。
更新主表的主关键字段值时,相关表处理的方法是:用主表中新的关键字段值(也是连接字段值)自动修改相关数据表中的相关字段值。例如,“学生信息表”中的学号,9901001改成9801001,则“成绩表”中对应的9901001也自动改成9801001,这样它们之间的关系将不会断裂。Access的级联更新将不显示任何消息。
当定义一个关系时,如果选中了“级联更新相关字段”复选框,不管何时更改主表中记录的主键,Access将自动在所有相关的记录中将主键更新为新值。例如,如果在“学生信息表”中更改一个学生的学号,在“成绩表”中的“学号”字段也将自动更新。
若未选中“级联更新相关字段”复选框,则忽略对所有相关表中的相关记录的限制。
3.级联删除相关字段
选中“实施参照完整性”后,如果又选中了“级联删除相关记录”复选框,则在删除主表中的记录时,将删除任何相关表中的相关记录。例如,如果在“学生信息表”中删除某个学生记录,在“成绩表”中此学生的所有成绩都会自动删除。当使用“级联删除相关记录”复选框来删除窗体或数据表中的记录时,Access将发出相关记录也将删除的警告消息。但是,当使用“删除查询”来删除记录时,Access将自动删除相关表中的记录,而不显示任何警告。
若未选中“级联删除相关记录”复选框,可以忽略对删除或更改相关记录的限制,同时仍然保留参照完整性。
注意:如果主表中的主键是“自动编号”字段,选中“级联更新相关字段”复选框后将没有任何效果,因为不能更改“自动编号”字段中的值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。