第9章数据完整性学案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 9 章 数据完整性 概述 约束的概念和类型 管理约束 禁止约束 默认 注意:前面三节已在第三章创建表时讲过。 使用规则 规则类似于CHECK约束,是用于限制数据字段的输入值的范围,实现强制数据的域完整性 可以针对一个列应用多个CHECK约束,但一个列不能应用多个规则 规则需要单独创建,而CHECK约束在创建表的同时就可以一起创建 规则比CHECK约束更复杂,功能更强大 规则只需要创建一次,以后可以多次应用,可以应用于多个表或者列 规则是单独存储的独立的数据库对象 使用规则 使用规则包括规则的创建、绑定、解除和删除 创建规则: CREATE RULE rule_name AS condition_expression 条件表达式 创建学生年龄规则: CREATE RULE AGE_rule AS @Old_scope BETWEEN 17 AND 28 必须是以@开头的局部变量,用来表 示在插入和修改记录时所提供的值 例1:创建性别规则sex_rule。 CREATE RULE sex_rule AS @sex in (男,女) 例2:创建评分规则grade_rule。 CREATE RULE grade_rule AS @value between 1 and 100 规则的绑定与松绑: 需要将规则与数据库表或用户定义对象联系起来,才能发生作用。联系的方法称为绑定,所谓绑定就是指定规则作用于哪个表的哪一列或哪个用户定义数据类型。 表的一列或一个用户定义数据类型只能与一个规则相绑定,而一个规则可以绑定多对象,这正是规则的魅力所在。 解除规则与对象的绑定称为松绑。 要使创建好的规则作用到指定的列或表, 必须将规则绑定到列或用户定义的数据类型才能够起作用。 [EXECUTE] sp_bindrule ‘规则名称’, ‘表名.字段名’|’自定义数据类型名’ EXEC sp_bindrule sex_rule, employee.sex 运行结果如下: 已将规则绑定到表的列上。 例3绑定例1创建的规则sex_rule 到employee 表的字段sex。 解绑规则: [EXECUTE] sp_unbindrule ‘表名.字段名’|’自定义数据类型名‘ 删除规则: DROP RULE 规则名称 例4:解除例3绑定在employee表的sex列的规则。。 EXEC sp_unbindrule employee.sex 运行结果如下: 已解除了表列与规则之间的绑定。 注意:在删除一个规则前,必须先将与其绑定的对象解除绑定。 例5:删除4中创建的sex_rule规则。 DROP RULE sex_rule 默认值(Default)是用户输入记录时往没有指定具体数据的列中自动插入的数据。默认值对象与CREATE TABLE或ALTER TABLE语句操作表时用默认约束指定的默认值功能相似,两者的区别类似于规则与检查约束在使用上的区别。 默认值对象可以用于多个列或用户定义数据类型。表的一列或一个用户定义数据类型只能与一个默认值相绑定。 默认值的创建、查看、绑定、松绑和删除等操作可在查询分析器中进行,也可利用Transact-SQL语句进行。 默认: 使用默认: 创建默认: CREATE DEFAULT default_name AS default_description 常量表达式 例6:创建一个 df_xf 默认,将其绑定到“课程注册”表的学分字段,使默认学分为 4。 CREATE DEFAULT df_xf AS 4 例7:创建生日默认值birthday_defa,使默认值为1982.2.14 。 CREATE DEFAULT birthday_defa AS 1982-2-14 绑定默认: [EXECUTE] sp_bindefault ‘默认名称’, ‘表名.字段名’|’自定义数据类型名‘ 解绑默认: [EXECUTE] sp_unbindefault ‘表名.字段名’|’自定义数据类型名‘ 删除默认: DROP DEFAULT default_name [,…n] EXEC sp_bindefault birthday_defa, employee.birth_date 运行结果如下: 已将默认值绑定到表的列上。 例8:绑定默认值birthday_defa到employee表的birth_date列上。 例9:解除默认值birthday_defa在employee表的birth_date列上的绑定。 EXEC sp_unbindefaul

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档