数据库中的数据是从外界输入的,而数据的输入由于种种原因,会发生输入无效或错误信息。保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题,数据完整性因此而提出。
数据完整性是指数据的精确性和可靠性,它是应防止数据库中存在不符合语义规定的数据和防止因错误信息输入输出造成无效操作或错误信息而提出的。
-
数据完整性分为:实体完整性,域完整性,参照完整性,用户自定义完整性。
数据库采用多种方法保证数据完整性,包括外键,约束,规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,想补缺点。
完整性约束主要有实体完整性约束、参照完整性约束、函数依赖约束、统计约束四类
-
实体完整性
实体完整性要求每一个表中的主键字段都不能为空或重复的值。实体完整性指表中行的完整性。要求表中的所有行都有唯一的标识符,称为主关键字。主关键字是否可以修改,或整个列是否可以被删除,取决于主关键字与其他表之间要求的完整性。
-
参照完整性
参照完整性要求关系中不允许引用不存在的实体,与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
-
用户自定义完整性
指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值,某个非主属性也不能取空值,某个属性的取值范围在0-100之间等