事务、并发、隔离级别、锁3课件.pptx

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库并发、事务、隔离级别、锁新事业部:程学文目录事务与并发隔离级别和锁行版本控制(2005)死锁与解锁事务与并发隔离级别和锁行版本控制(2005)死锁与解锁并发与事务数据完整性数据完整性:数据完整性(Data Integrity)是指数据的精确性、是指数据的精确性和可靠性。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:a.实体完整性(Entity Integrity)b.域完整性(Domain Integrity)c.参照完整性(Referential Integrity)d.用户定义的完整性(User-definedIntegrity)并发与事务数据完整性实体完整性实体完整性:概念:实体完整性指表中行的完整性。要求表中的所有行都有唯一的标识符,称为主关键字。主关键字是否可以修改,或整个列是否可以被删除,取决于主关键字与其他表之间要求的完整性。实体完整性要求每一个表中的主键字段都不能为空或者重复的值。并发与事务数据完整性参照完整性参照完整性:概念:当更新、删除、插入一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。简单的说就是表间主键外键的关系,是相关联的两个表之间的约束。参照完整性属于表间规则。对于永久关系的相关表,在更新、插入或删除记录时,如果只改其一不改其二,就会影响数据的完整性:例如修改父表中关键字值后,子表关键字值未做相应改变;删除父表的某记录后,子表的相应记录未删除,致使这些记录成为孤立记录;对于子表插入的记录,父表中没有相应关键字值的记录;等等。对于这些设计表间数据的完整性,统称为参照完整性。并发与事务事务事务:数据库提供了多种保证数据完整性的方式,其中一种基本方式便是事务EX:银行转账:甲向乙账户转帐100元1.检查甲账户余额是否超过100元2.如果大于100元,则甲账户扣除100元3.乙账户增加100元概念:数据库事务是指作为单个逻辑工作单元执行的一系列操作,事务内的语句被作为一个整体执行,确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。并发与事务事务事务的特点事务的特点:一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性:a.原子性:事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统操作子集的可能性。b.一致性:事务的一致性指的是在一个事务执行之前和执行。之后数据库都必须处于一致性状态。这种特性称为事务的一致性假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。并发与事务事务事务的特点例如,当数据库处于一致性状态S1时,对数据库执行一个事务,在事务执行期间假定数据库的状态是不一致的,当事务执行结束时,数据库处在一致性状态S2。c.隔离性:由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。 并发与事务事务事务的特点DBMS可以在并发执行的事务间提供不同级别的分离。分离的级别和并发事务的吞吐量之间存在反比关系。较多事务的可分离性可能会带来较高的冲突和较多的事务流产。流产的事务要消耗资源,这些资源必须要重新被访问。因此,确保高分离级别的DBMS需要更多的开销。d.持久性:持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,耐得住任何系统故障。持久性通过数据库备份和恢复来保证。并发与事务并发并发:通常为了获得更好的运行性能,各种数据库都允许多个事务同时运行,这就是事务并发。当并发的事务访问或修改数据库中相同的数据时,通常需要采取必要的隔离机制,反之会出现各种并发问题。这些并发问题可归纳为以下四种:a.丢失或覆盖更新。b.未确认的相关性。(脏读)c.不一致的分析。(不可重复读)d.幻像读并发与事务并发丢失更新丢失更新:当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其它事务的存在。最后的更新将重写由其它事务所做的更新,这将导致数据丢失。例如:两个编辑人员制作了同一文档的电子复本。每个编辑人员独立地更改其复本,然后保

文档评论(0)

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

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

1亿VIP精品文档

相关文档