数据库技术与应用袁宝库yuanbaoku@bupt
cn实现数据完整性约束数据完整性基本概念实现声明完整性实现过程完整性数据完整性基本概念数据的完整性是为了防止数据库中存在不符合语义的数据
这些加在数据库数据之上的语义约束条件就是数据完整性约束条件
这些约束条件作为表定义的一部分存储在数据库中
DBMS检查数据是否满足完整性条件的机制就称为完整性检查
完整性约束条件的作用对象列级约束对数据类型的约束对数据格式的约束对取值范围或取值集合的约束对空值的约束元组约束元组中各个字段之间的联系的约束,如:开始日期小于结束日期
关系约束是若干元组之间、关系之间的联系的约束
实现数据完整性的方法一种是在定义表时声明数据完整性,称为声明完整性,另一种是在服务器端编写触发器来实现,称为过程完整性
在执行对数据的增、删、改操作时,数据库管理系统自动检查用户定义的完整性约束条件
实现声明完整性主码约束每个表只能有一个PRIMARYKEY约束;用PRIMARYKEY约束的列取值不能有重复,而且不允许有空值;添加主码约束的语法格式:ALTERTABLE表名ADD[CONSTRAINT约束名]PRIMARYKEY([,…n])实现声明完整性例:对雇员表和工作表添加主码约束ALTERTABLE雇员表ADDCONSTRAINTPK_EMPPRIMARYKEY(雇员编号)ALTERTABLE工作表ADDCONSTRAINTPK_JOBPRIMARYKEY(工作编号)UNIQUE约束用于限制在一个列中不能有重复的值
用在事实上具有惟一性的属性列上,比如每个人的身份证号码、驾驶证号码等均不能有重复值
注意:允许有一个空值;在一个表中可以定义多个UNIQUE约束;可以在一个列或多个列上定义UNIQUE约束
添加UNIQUE约束添加UNIQUE约束