第8章 数据完整性

第8章 数据完整性

ID:38357921

大小:445.00 KB

页数:58页

时间:2019-06-11

第8章 数据完整性_第1页
第8章 数据完整性_第2页
第8章 数据完整性_第3页
第8章 数据完整性_第4页
第8章 数据完整性_第5页
资源描述:

《第8章 数据完整性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章数据完整性本章内容8.1使用规则实施数据完整性8.2使用默认值实施数据完整性8.3使用约束实施数据完整性数据完整性概述数据完整性防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性有4种类型:实体完整性(EntityIntegrity)、域完整性(DomainIntegrity)、参照完整性(ReferentialIntegrity)、用户定义的完整性(User-definedIntegrity)。在SQLServer中可以通过各种规则(Rule)、默认(Default)、约束(Constrai

2、nt)和触发器(Trigger)等数据库对象来保证数据的完整性。8.1使用规则实施数据完整性8.1.1创建规则8.1.2查看规则8.1.3规则的绑定与松绑8.1.4删除规则8.1.1创建规则规则(Rule)就是数据库中对存储在表的列或用户定义数据类型中的值的规定和限制。规则是单独存储的独立的数据库对象。规则和约束可以同时使用,表的列可以有一个规则及多个约束。规则与检查约束在功能上相似,但在使用上有所区别。检查约束是在CREATETABLE或ALTERTABLE语句中定义的,嵌入了被定义的表结构,即删除表的时候检查约束也就随之被删除。而规则需要用CREA

3、TERULE语句定义后才能使用,是独立于表之外的数据库对象,删除表并不能删除规则,需要用DROPRULE语句才能删除。相比之下,使用在CREATETABLE或ALTERTABLE语句中定义的检查约束是更标准的限制列值的方法,但检查约束不能直接作用于用户定义数据类型。8.2使用规则实施数据完整性2.用CREATERULE语句创建规则8.2.1创建规则CREATERULE语句用于在当前数据库中创建规则,其语法格式如下:CREATERULErule_nameAScondition_expression8.2.1创建规则CREATERULEhire_date_

4、ruleAS@hire_date>='1980-01-01'and@hire_date<=getdate()例8-2创建性别规则sex_rule。CREATERULEsex_ruleAS@sexin('男','女')例8-1创建雇佣日期规则hire_date_rule。8.2.1创建规则CREATERULEgrade_ruleAS@valuebetween1and100例8-4创建字符规则my_character_rule。Createrulemy_character_ruleAs@valuelike'[a-f]%[0-9]'例8-3创建评分规则gra

5、de_rule。8.2.2查看和修改规则使用sp_helptext系统存储过程可以查看规则的文本信息。例8-5查看规则hire_date_rule的文本信息EXECUTEsp_helptexthire_date_rule运行结果如图所示8.1.2查看规则8.1.3规则的绑定与松绑需要将规则与数据库表或用户定义对象联系起来,才能发生作用。联系的方法称为绑定,所谓绑定就是指定规则作用于哪个表的哪一列或哪个用户定义数据类型。表的一列或一个用户定义数据类型只能与一个规则相绑定,而一个规则可以绑定多对象,这正是规则的魅力所在。解除规则与对象的绑定称为松绑。8.2

6、.3规则的绑定与松绑1.用系统存储过程sp_bindrule绑定规则系统存储过程sp_bindrule可以绑定一个规则到表的一个列或一个用户定义数据类型上。其语法格式如下:sp_bindrule[@rulename=]'rule',[@objname=]'object_name'[,[@futureonly=]'futureonly']8.2.3规则的绑定与松绑EXECsp_bindrulehire_date_rule,'employee.hire_date'运行结果为:已将规则绑定到表的列上。例8-7定义用户定义数据类型pat_char,将例8-4创

7、建的规则my_character_rule绑定到pat_var上。EXECsp_addtypepat_char,'varchar(10)','NOTNULL'GOEXECsp_bindrulemy_character_rule,pat_char,'futureonly‘运行结果如下:已将规则绑定到数据类型。例8-6将例8-1创建的规则hire_date_rule绑定到employee表的hire_date列上。8.2.3规则的绑定与松绑EXECsp_bindrulesex_rule,'employee.sex'运行结果如下:已将规则绑定到表的列上。例8

8、-8绑定例8-2创建的规则sex_rule到employee表的字段sex。8.2.3规则的绑

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。