并发控制与查询优化课件.pptVIP

  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文档。上传文档
查看更多

第4章并发控制与查询优化本章要点1.深刻理解事务的基本概念。2.深入理解事务的调度,掌握判断并发调度的是否正确的可串行化准则。3.了解封锁管理中活锁和死锁的概念以及避免、预防的方法。4.并发控制是数据库系统实现范畴的一个重要问题。我们要了解并发操作带来的数据不一致现象,在此基础上深入理解保证并行调度可串行性和保证数据一致性的三级封锁协议。5.查询优化是数据库系统实现范畴的一个重要问题。在学会用SQL语言对数据库进行查询的基础上,了解数据库系统如何对查询进行优化,有助于在对查询的认识上实现从感性到理性的飞跃。

6.深入理解查询优化的策略;掌握用关系代数等价变换规则对关系代数查询表达式进行优化的方法数据库系统一般可分为单用户系统和多用户系统。在任何一个时刻只允许一个用户使用的数据库系统称为单用户系统。允许多个用户同时使用的数据库系统统称为多用户系统。单用户系统一般仅限于微型计算机系统。多数数据库系统都是多用户系统。数据库是一个共享资源,要供多个用户使用。如果事务程序一个一个地串行执行,一个事务必须等待正在执行的事务结束后才能执行,则会造成系统资源的浪费,对于访问密集型的数据,会严重影响系统响应速度,降低系统的性能。解决的办法就是使多个事务并发执行,但这种并行如果不加以限制,就可能会存取和存储不正确的数据,甚至破坏数据库的一致性和数据库的完整性。

并发控制就是一种在多用户的环境下,对数据库的并发操作进行规范的机制。其目的是为了避免对数据的丢失更新、读“脏”数据和不可重复读等,从而保证数据的正确性与一致性。并发控制机制的好坏是衡量一个DBMS性能的重要标志之一。在关系数据库系统中,用户只需要告诉系统要做什么,而没有指出应该怎么做,因此系统有足够的灵活性作出存取路径等与查询效率直接相关的选择。由于数据库系统掌握了当前数据库的很多信息,所可以对用户的查询作出有效的优化,让用户查询拥有最高的效率。本章主要讨论查询优化的一般策略,关系代数的变换规则。DBMS的并发控制是以事务为单位进行的。下面先介绍事务的概念。

4.1事务4.1.1事务及其性质事务是构成单一逻辑工作单元的操作集合。或者说:事务是在数据库上的一个或多个操作的序列。它必须以原子的方式执行,也就是说:所有的操作要么都做,要么都不做,是一个不可分割的工作单位。并不是任意的数据库操作序列都可以定义为事务。事务一般具备下列四个性质。⑴原子性(Atomicity)事务的原子性强调了一个事务是一个逻辑工作单元,一个整体,是不可分割的。一个事务所包含的操作要么全部做,要么全部不做,不允许出现失误致使部分执行的情况。事务的原子性是由DBMS的事务管理子系统来实现的。⑵一致性(Consistency)

事务执行的结果必须是使数据库从一个一致性状态到另一个一致性状态。通俗的说:就是数据符合我们的所有期望。如果事务执行过程中始终遵循“要么全做,要么全不作”的原则,一般可以保证事务的一致性。这个性质通常是由编写事务程序的应用程序员完成的。它也可以由系统测试完整性约束自动完成。事务的原子性和一致性密切相关。到BCNF范式。在规范化过程中,逐渐消除存储异常,使数据冗余尽量小,便于插入、删除和更新。⑶隔离性(Isolation)当两个或更多的事务并发执行时,它们的作用效果必须是相互独立,不能相互影响。也就是说:事务并发执行的效果应该和普通串行执行的效果完全相同。事务之间的隔离性一般是由并发控制子系统来实现的。

⑷持久性(Durability)事务的持久性是指一旦事务成功完成,该事务对数据库所施加的所有更新都是永久的。即使以后系统发生了故障,也应该保留这个事务的执行过程。事务的持久性是由DBMS的恢复子系统实现的。以上四个性质简称为事务的ACID性质。保证事务的ACID特性是事务处理的重要任务。

4.1.2事务的开始与结束1.开始事务使用BEGINTRANSACTION命令显式说明一个事务开始,它说明了对数据库进行操作的一个单元的起始点。在事务完成之前出现任何操作错误和故障,都可以撤销事务,使事务回退到这个起始点。2.结束事务在SQL中,必须明确地结束一个事务,结束事务通常以下两种方式:成功结束事务的命令是COMMITTRANSACTION,它的作用是提交或确认事务已经完成,所以该命令也称作事务提交。也就是:把当前事务开始以后SQL语句所造成的数据库的任何改变都写到磁盘上,使之永远存放在数据库中。在COMMIT语句执行以前,当前事务中SQL语句对数据库造成的改变都是暂时的,对于其它事务可能可

见也可能不可见。撤消事务的命令是ROLLBACKTRANSACTION,即撤消在该事务中对数据库所做的更新操作,使数据库回退到事务的起始点。即数据库不发生任何改变。

4.1.3事务的

文档评论(0)

133****6142 + 关注
官方认证
文档贡献者

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

认证主体成都美鑫可研科技文化有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MADHJ0RX18

1亿VIP精品文档

相关文档