1.实体的完整性
一个基本数据表的关系,一般隶属于一个特定的实体,如学生信息表、成绩表均隶属于学生信息管理系统。各表必须属于同一个数据库,用户在设计这个系统时,要保证整个数据库中各个表相互依赖且准确无误。
主表中应有主键并建立主索引,主键应无重复值、无空值,同时子表中有同一个键名,但应为普通索引。
2. 参照的完整性
参照完整性是一个规则系统,数据库使用这个系统来确保相关表中记录之间关系的有效性,并且不会意外地删除或更改相关数据。在符合下列全部条件时,用户可以设置参照完整性:
(1)来自于主表的匹配字段是“主键”或具有唯一的索引。
(2)相关的字段都有相同的数据类型。两个数据表都属于同一个数据库。如果数据表是链接表,它们必须是相同格式的表,并且必须打开保存此表的数据库以设置参照完整性。不能对数据库中其他格式的链接表实施参照完整性。
当设置参照完整性之后,必须遵守下列规则:(www.xing528.com)
(1)不能在相关表的外部键字段中输入不存在于主表中具有主键属性字段的值。例如,学生信息表中没有某个学生的姓名,则在成绩表中就不应该有该学生的姓名。
(2)如果表中存在匹配的记录,则不能从主表中删除这个记录。例如,如果在学生成绩表中存在某人的成绩,不能在学生信息表中删除此学生的记录。
(3)如果某个记录有相关记录,则不能在主表中更改主键值。例如,如果在学生成绩表中存在某个学生的记录,则不能在学生信息表中更改该学生记录的主键值。
如果要数据库为关系实施这些规则,以Access为例,在创建关系时就要选中“实施参照完整性”复选框。如果已经实施了参照完整性,但用户的更改破坏了相关表规则中的某个规则,Access将显示相应的消息,并且不允许这个更改操作。通过取消选中“级联更新相关字段”及“级联删除相关记录”复选框,可以忽略对更改或删除相关记录的限制,同时仍然保留参照完整性。如果选中了“级联更新相关字段”复选框,在主表中更改主键值后,将自动更新所有相关记录中的匹配值。如果选中了“级联删除相关记录”复选框,在删除主表中的记录后,将删除任何相关表中的相关记录。
3.用户定义的完整性
实体完整性与参照完整性可用于任何关系数据库管理系统中。用户定义的完整性是针对某个数据库的约束条件来设计一个合理的、能使某个数据库管理系统实现的合理方案。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。