资源描述:
《《实施数据完整性》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章实施数据完整性主要内容6.1实体完整性6.2域完整性6.3引用完整性2021年9月18日星期六数据库技术第6章实施数据完整性n数据完整性是指数据的精确性和可靠性。n数据完整性是为了防止数据库中存在不符合语义的数据,为了维护数据的完整性,数据库管理系统必须要提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。n四种数据完整性:实体完整性、域完整性、引用完整性和用户自定义的完整性2021年9月18日星期六数据库技术6.1实体完整性实体完整性:要求表中的任意一行是唯一的,通过索引、UNIQUE约束、PR
2、IMARYKEY约束或identity属性来实现1.利用企业管理器建立和删除PRIMARYKEY约束2.利用企业管理器建立和删除UNIQUE约束2021年9月18日星期六数据库技术2.利用查询分析器建立和删除PRIMARYKEY约束或UNIQUE约束n创建表的同时创建PRIMARYKEY约束语法如下:CONSTRAINTconstraint_namePRIMARYKEY[CLUSTERED
3、NONCLUSTERED](column_name1[,column_name2,…,column_name16])2021
4、年9月18日星期六数据库技术2.利用查询分析器建立和删除PRIMARYKEY约束或UNIQUE约束n创建表的同时创建UNIQUE约束语法如下:CONSTRAINTconstraint_nameUNIQUE[CLUSTERED
5、NONCLUSTERED](column_name1[,column_name2,…,column_name16])2021年9月18日星期六数据库技术2.利用查询分析器建立和删除PRIMARYKEY约束或UNIQUE约束Createtablexs(学号char(6)notnullconst
6、raintxs_pkprimarykey,姓名char(8)notnull,身份证号码char(20)constraintxs_ununique,专业名char(10)null,性别bitnotnull)2021年9月18日星期六数据库技术2.利用查询分析器建立和删除PRIMARYKEY约束或UNIQUE约束n修改表的同时创建PRIMARYKEY约束语法如下ALTERTABLExsADDCONSTRAINTpkidPRIMARYKEYCLUSTERED(学号)ALTERTABLExs_kcADDCONSTRAIN
7、Tpk_xkPRIMARYKEYCLUSTERED(学号,课程号)ALTERTABLExsADDCONSTRAINTpkununique(身份证号码)2021年9月18日星期六数据库技术6.2域完整性n域完整性有称为列完整性,指给定列输入数据的有效性。实现列完整性的方法可通过定义列的数据类型、规则、约束、默认值等实现。2021年9月18日星期六数据库技术6.2.1check约束的定义与删除n通过企业管理器创建和删除约束成绩>=0and成绩<=100n创建表时创建check约束语法如下:CONSTRAINTcons
8、traint_nameCHECK(logical_expression)2021年9月18日星期六数据库技术6.2.1check约束的定义与删除Createtablexs1_kc1(idchar(6)notnull,Kcidchar(6)notnull,Gradetinyintnotnullcheck(grade>=0andgrade<=100),constraintpkidprimarykey(id,kcid))2021年9月18日星期六数据库技术6.2.1check约束的定义与删除n在修改表时创建check约
9、束Altertabletable_nameAddCONSTRAINTconstraint_nameCHECK(logical_expression)n删除check约束Altertabletable_nameDropconstraintcheck_name2021年9月18日星期六数据库技术6.2.2规则的定义与删除n用企业管理器创建、绑定、删除规则@a>=0and@a<=100n用查询分析器创建规则语法如下:CREATERULErule_nameAScondition_expression]其中conditio
10、n_expression子句是规则的定义。condition_expression子句可以是能用于WHERE条件子句中的任何表达式,它可以包含算术运算符、关系运算符和谓词(如IN、LIKE、BETWEEN等)。注意:condition_expression子句中的表达式必须以字符“@”开头。2021年9月18日星期六数据库技术6.2.2规则的定义与删除CREATERULE