数据库应用技术教学课件ppt作者高洪涛06课件.pptVIP

数据库应用技术教学课件ppt作者高洪涛06课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库应用技术教学课件ppt作者高洪涛06课件.ppt

本章要点 事务的概念及特性 事务的工作原理及事务的类型 事务回滚机制 锁的概念及隔离级别 锁的粒度及分类 在SQL Sever中查看数据库中的锁 应用程序中锁的设计 死锁及其防止 学习要求 掌握事务的基本概念及基本特性 掌握事务的工作原理及事务的类型 掌握事务回滚机制 掌握锁的基本概念及没有锁机制带来的几类问题 了解隔离级别、锁的粒度及锁的分类 掌握如何在SQL Sever中查看数据库中的锁 了解锁在应用程序中的应用 锐普PPT论坛chinakui收集 第6章 事务和锁 6.1 事 务 事务(Transaction)的作用是保证一系列的数据操作可以全部正确完成,不会造成数据操作到一半未完成,而导致数据的完整性出错。合理使用事务,可以保证数据库中的数据保持正确且完整。 6.1.1 为什么要引入“事务”的概念 在使用DELETE或UPDATE语句对数据库进行修改时,一次只能操作一个表,这就可能带来数据库的数据不一致的问题。 6.1.2 事务的概念 事务是一种机制,是一个操作序列,它包含了一组数据库操作命令,所有的命令作为一个整体一起向系统提交或撤消操作请求,即要么都执行,要么都不执行,因此,事务是一个不可分割的工作逻辑单元。 BEGIN TRANSACTION COMMIT TRANSACTION ROLLBACK TRANSACTION 定义事务操作的语句 一般情况下,SQL会隐性地开始事务,如果显式地开始事务,则其结束也必须是显式的,有以下两种方法可以结束事务: COMMIT(提交) ROLLBAK(回滚) 6.1.3 事务的特性 原子性 一致性 隔离性 持久性 原子性,即不可分割性。这里是指事务作为数据库的一个逻辑工作单位,对其的操作要作为一个整体来看待,要么全部执行,要么全部不执行,没有执行一部分的可能。 一致性是指当事务完成时,必须使所有数据都具有一致的状态。事务执行的结果必然是把数据库从一个一致性状态过渡到另一个一致性状态。 隔离性是指由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务不会查看中间状态的数据,这也称为事务操作的串行性。 持久性是指当一个事务完成之后,它的影响永久性的产生在系统中,事务所作的修改永久地写到了数据库中。一旦一个事务被提交后,它就一直处于已提交的状态。 6.1.4 事务的工作原理 图6-1 事务的工作原理图 图6-2 事务检查点机制示例图 6.1.5 事务的类型 类型 一种是系统提供的事务,也称之为隐式事务。 一种是用户定义的事务,也称之为显式事务。 还有一种特殊的用户定义的事务,这就是分布式事务。 6.1.6 事务回滚 事务回滚(Transaction Rollback)是指当事务运行过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已经完成的操作全部撤销,滚回到事务开始的状态。 事务回滚使用ROLLBACK TRANSACTION命令。 其语法如下: ROLLBACK TRAN[SACTION] [transaction_name | @tran_name_variable | savepoint_name | @savepoint_variable] ] 6.2 锁 锁(Lock)是数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库的完整性和一致性。对于多用户系统来说,锁机制是必须的,它实质上就是一种并发控制机制。 6.2.1 事务的缺陷 1. 脏读(Dirty Reads) 所谓“脏读”就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。其示意图如图6-3所示。 图6-3 “脏读”示意图 2. 不可重复读(Non-Repeatable Reads) “不可重复读”,是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,第一个事务两次读到的数据可能是不一样的,因此称为是不可重复读。其示意图如图6-4所示。 图6-4 “不可重复读”示意图 3. 幻觉读(Phantom Reads) 所谓“幻觉读”是指当事务不是独立执行时发生的一种现象,与不可重复读类似,也是一个事务的更新结果影响到另一个事务的情况,但与不可重复读不同的是它不仅会影响

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档