什么是数据完整性
时间:2015-1-23
数据完整性是指数据的正确性,一致性和有效性,是指数据库中不应该存在不符合语义的数据,所谓正确性是指数数据表中的数据应该是正确的,比如学生选修某门课程的成绩应该是85分,但不小心输入成185分,数据库管理系统应该能够检测出来并指出错误,一致性是指数据库中各个表中的数据应该是相互照应的,比如学生表中的一个学生的学号和这个学生的成绩表中的学号应该对应一致,在学生表中不存在的学号在成绩表中不应该有相应的选课记录等;而有效性是指数数据应该是合法有效的,比如学生的性别应该是男或女,而不能是其它的.
数据完整性可分为4种类型:实体完整性,域完整性,参照完整性和用户定义完整性.
实体完整性是指任何一个实体都有区别于其他实体特征,比如世界上没有完全相同的两个人,对应到数据表中每个人对应一条记录其中编号应该是不同的.
域完整性是指表中每列的数据应该具有正确的数据类型,格式和有效的数值范围.
参照完整性是指在两个表的主键和外键之间的数据的一致,其含义:一是保证被参照表和参照表之间的数据的一致,二是防止数据丢失或者无意义的数据;最后可以禁止在从表中插入参照表中不存在的关键字的记录.
用户定义完整性是用户希望定义的数据的完整性,例如电话号码是8位的数字码,邮政编码为6位数字码,对学生出生日期范围的限制等.