网站大量收购闲置独家精品文档,联系QQ:2885784924

数据库第6次课-数据完整性与TSQL语言.ppt

  1. 1、本文档共153页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库第6次课-数据完整性与TSQL语言

An Introduction to Database Systems 第8章 数据完整性 本章内容 8.1 数据完整性概述 8.2 使用规则实施数据完整性 8.3 使用默认值实施数据完整性 8.4 使用约束实施数据完整性 8.1 数据完整性概述 数据完整性防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。 数据完整性有4种类型: 实体完整性(Entity Integrity)、 域完整性(Domain Integrity)、 参照完整性(Referential Integrity)、 用户定义的完整性(User-defined Integrity)。 在SQL Server中可以通过各种规则(Rule)、默认(Default)、约束(Constraint)和触发器(Trigger)等数据库对象来保证数据的完整性。 8.2 使用规则实施数据完整性 8.2.1 创建规则 8.2.2 查看和修改规则 8.2.3 规则的绑定与松绑 8.2.4 删除规则 8.2.1 创建规则 规则(Rule)就是数据库中对存储在表的列或用户定义数据类型中的值的规定和限制。 规则是单独存储的独立的数据库对象。 规则和约束可以同时使用,表的列可以有一个规则及多个约束。规则与检查约束在功能上相似,但在使用上有所区别。 检查约束是在CREATE TABLE或ALTER TABLE语句中定义的,嵌入了被定义的表结构,即删除表的时候检查约束也就随之被删除。 而规则需要用CREATE RULE语句定义后才能使用,是独立于表之外的数据库对象,删除表并不能删除规则,需要用DROP RULE语句才能删除。 相比之下,使用在CREATE TABLE或ALTER TABLE语句中定义的检查约束是更标准的限制列值的方法,但检查约束不能直接作用于用户定义数据类型。 1.用企业管理器创建规则 在企业管理器中选择数据库对象“规则”,单击右键从快捷菜单中选择“新建规则”选项,即会弹出如图所示的“规则属性”对话框。 输入规则名称和表达式之后,单击“确定”按钮,即完成规则的创建。 2.用CREATE RULE语句创建规则 CREATE RULE语句用于在当前数据库中创建规则,其语法格式如下: CREATE RULE rule_name AS condition_expression 8.2.1 创建规则 例8-4 创建字符规则my_character_rule。 Create rule my_character_rule As @value like [a-z]%[0-9] 8.2.2 查看和修改规则 1.用企业管理器查看和修改规则 在企业管理器的数据库对象中选择“规则”对象,即可从右边的任务板中看到规则的大部分信息,包括规则的名称、所有者、创建时间等。 2.用系统存储过程sp_helptext 查看规则 使用sp_helptext 系统存储过程可以查看规则的文本信息。 例8-5 查看规则hire_date_rule的文本信息 EXECUTE sp_helptext hire_date_rule 运行结果如图所示 8.2.3 规则的绑定与松绑 需要将规则与数据库表或用户定义对象联系起来,才能发生作用。联系的方法称为绑定,所谓绑定就是指定规则作用于哪个表的哪一列或哪个用户定义数据类型。 表的一列或一个用户定义数据类型只能与一个规则相绑定,而一个规则可以绑定多对象。 解除规则与对象的绑定称为松绑。 1.用企业管理器管理规则的绑定和松绑 在企业管理器中,展开数据库(Sales)文件夹,鼠标单击“规则”选项,在右窗格中选择要进行绑定的规则(hire_date),单击鼠标右键,从快捷菜单中选择“属性” 菜单项,打开“规则属性”对话框,如图8-4所示。 图中的“绑定UDT(U)”按钮用于绑定规则到用户定义的数据类型,“绑定列(B)”按钮用于绑定规则到表的列。 在图8-4中单击“绑定UDT(U)”按钮,则出现“将绑定规则到用户定义的数据类型”对话框,如图8-5所示; 单击“绑定列(B)”按钮,则出现如图8-6所示的“将绑定规则到列”对话框。 在“将规则绑定列”对话框的左边“未绑定的列”列表框中选择一列“添加”到右边“绑定列”列表框中,就实现规则绑定了。 同样,去掉“将规则绑定到用户定义的数据类型”对话框的列表框的“绑定”列下的标识或删除“将规则绑定列”对话框的右边“绑定列”列表框的列,就实现了规则的松绑操作。 2.用系统存储过程sp_bindrule绑定规则 系统存储过程sp_bindrule 可以绑定一个规则到表的一个列或一个用户定义数据类型上。其语法格式如下: sp_bindrule [@rulename =]

文档评论(0)

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

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

1亿VIP精品文档

相关文档