数据库基础与应用——SQLServer2005第2版教学作者成先海第9章节SQLServer数据完整性课件幻灯片.ppt

数据库基础与应用——SQLServer2005第2版教学作者成先海第9章节SQLServer数据完整性课件幻灯片.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.3.4删除规则 从数据库中删除一个规则值时,可以分为以下两种情况来处理: 如果这个规则尚未绑定到字段或用户定义数据类型上,可以使用DROP RULE语句来删除。 如果已经将这个规则绑定到表字段或用户定义数据类型上,必须首先使用系统存储过程sp_unbindrule来解除该规则在表字段或用户定义数据类型上的绑定,然后使用DROP RULE语句来删除该规则。 DROP RULE语句用于从数据库删除一个或多个规则,其语法格式如下: DROP RULE 规则名称[…n] 使用企业管理器来删除规则 1)在企业管理器中展开服务器组,然后展开一个服务器。 2)展开“数据库”文件夹,然后展开待删除的规则所属的数据库。 3)在目标数据库下方单击“规则”节点,使当前数据库中包含的所有规则显示在详细信息窗格中。 4)右击要删除的规则,然后选择“删除”命令。 5)当出现如图13所示的“除去对象”对话框时,如果要查看删除该规则对数据库带来的影响,可以单击“显示相关性”按钮。单击“全部除去”按钮,删除所选定的规则。 图13、 “除去对象”对话框 9.4事务处理 事务(Transaction)是并发控制的基本单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。 9.4.1 事务简介 事务反映了现实世界中需要以一个完整的单位提交的一项工作。事务是一个逻辑工作单元,它必须完整地执行,或者全都不执行(使数据库保持不变),它是一个不可分割的工作单位。事务处理是保证数据库一致性状态的重要方法。 数据库的一致性状态是指所有数据都满足数据完整性约束条件的状态。 为了保证数据库的一致性状态,SQL Server必须控制和保证事务的执行能够符合数据库的完整性约束条件。 9.4.2 事务处理控制语句 SQL Server通过事务控制语句,把SQL Server语句集合分组后,形成独立的逻辑工作单元。 事务处理控制语句有三个: BEGIN TRANSACTION。 COMMIT TRANSACTION。 ROLLBACK TRANSACTION。 几点说明: 在SQL Server中,通常一个事务是以BEGIN TRANSACTION开始,到ROLLBACK TRANSACTION或一个相匹配的COMMIT TRANSACTION之间的所有语句序列。 ROLLBACK表示要撤消该事务已做的一切操作,回滚到事务开始的状态。 COMMIT表示提交事务中的一切操作,使得对数据库的改变生效。 例: BEGIN TRANSACTION。 Update成绩表 Set 成绩=成绩*1.1 Where 课程编号=‘k001’ Update成绩表 Set 成绩=成绩*0.9 Where 课程编号=‘k008’ COMMIT TRANSACTION。 事务的管理 在SQL Server中,对事务的管理包含3个方面: 事务控制语句;使用户或者程序员能把一系列Transact-SQL语句作为逻辑上的一个语句来处理。 锁机制(Looking)。封锁正被一个事务修改的数据,防止其他用户访问到不一致的数据。 事务日志(Transaction Log)。使事务具有可恢复性。 9.4.3 锁机制 一个数据库事务中可能包括多个输入/输出操作,最终结果将使数据库从一个一致性状态到达另一个一致性状态,即在事务执行之前或之后数据库将处于一致性的状态。然而,在事务的执行期间,数据库可能暂时处于一个不一致性的状态。 若在数据库不一致性状态时读取数据,就有可能产生不一致性问题。解决这类问题的常用方法是对所修改的对象进行封锁。 1、封锁 封锁是数据库中一个重要技术。在事务执行期间,比如进行更新操作时,数据库可能出现暂时的不一致性,利用封锁技术就能够有效地防止其他事务读不一致性的数据。其他事务必须等到此事务解锁(Unlock)之后才能访问该数据。 可封锁的对象有字段、记录、表和数据库等。 SQL Server具有自动和强制封锁的功能。 封锁 (续) 封锁类型有3种: 共享锁(Share Lock) 排它锁(Exclusive Lock) 更新锁(Update Lock) 由共享锁和排它锁的原理可知,锁的状态有4种:分别是无锁、共享(读)锁、排它(写)锁和更新锁。 (2)锁的相容性 读操作(例如SELECT)获得共享锁;写操作(INSERT、DELETE)获得排它锁;而更新(Update)操作可分解为一个读操作和一个写操作,故首先获得更新锁,然后再升级为排它锁。 封锁 (续) (3)封锁的粒度 封锁的对象可以是逻辑单元,也可以是物

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档