事务处理技术课件.ppt

事务处理技术课件.ppt

ID:57293539

大小:88.00 KB

页数:55页

时间:2020-08-10

事务处理技术课件.ppt_第1页
事务处理技术课件.ppt_第2页
事务处理技术课件.ppt_第3页
事务处理技术课件.ppt_第4页
事务处理技术课件.ppt_第5页
资源描述:

《事务处理技术课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、事务处理技术事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元。(一个存取或更改数据库的程序的运行)事务处理技术1、并发控制技术:用来控制多个事务的并行运行,避免它们之间的相互干扰,保证每个事务都产生正确的结果。2、数据库恢复技术:用来进行系统失败后的恢复处理,确保数据库能够恢复到正确的状态。事务的概念背景知识1、古老而典型的例子提起事务,就会用到银行中两个账户之间转帐的例子,即从账户A转X元到帐户B,它同时涉及到两个不同帐户的读写操作。2、事务中涉及数据库访问的基本操作⑴read(X):从数据库传送数据项X到

2、执行read操作的事务的一个局部缓冲区中;⑵write(X):从执行write事务的局部缓冲区中把数据项X传回数据库。3、事务之间的相互影响数据库系统中同时可能有很多事务要执行,这些事务要么互不相干,要么要访问相同的数据项。对于那些要访问相同数据项的事务之间的相互影响要特别处理。Ti:假设A的初始值为2000,Tjread(A)B的初始值为3000。read(A)A:=A-500read(B)write(A)X:=A+Bread(B)write(X)B:=B+500write(B)事务之间的相互影响如图所示。事务Ti

3、是从A帐户转500元钱到B帐户,事务Tj是计算帐户A和账户B的和。两个事务同时在系统中执行,那么事务Tj的read(A)操作可能在事务Ti的write(A)之前或之后执行;同理,事务Tj的read(B)操作也可能在事务Ti的write(B)之前或之后执行。如果事务Tj的read(A)操作在事务Ti的write(A)之前执行,而事务Tj的read(B)操作却在事务Ti的write(B)之后执行,那么事务Tj的计算结果是5500,而不是想象中的5000,凭空就多了500元钱。事务的状态一个事务必须处于如下状态之一:活动状

4、态部分提交状态失败状态异常结束状态提交状态我们可以在事务中执行如下的操作来实现事务状态的转换:(1)BEGIN-TRANSACTION开始运行事务,使事务进入活动状态(2)END-TRANSACTION说明事务中的所有读写操作都已完成,使事务进入部分提交状态,把事务的所有操作对数据库的影响存入数据库(3)COMMIT-TRANSACTION标志事务已经成功地完成,事务进入提交状态,结束事务的运行(4)ABOUT-TRANSACTION标志事务进入失败状态,系统消除事务中所有操作对数据库和其他事务的影响,结束事务的运行

5、除了上述操作外,有些数据库恢复技术还要求如下操作:(1)UNDO消除事务中指定数据操作对数据库的影响(2)REDO重新执行事务中指定数据库操作,保证该操作对数据库的影响能够安全地存入数据库事务的特性需要由数据库管理系统的并发控制和数据库恢复机制来保证。原子性事务是数据库系统运行的原子程序单元。每个事务的所有操作要么被全部成功地执行,要么一个也不被执行。数据库正确保持性一个事务的正确执行必须把数据库从一个正确状态转换为另一个正确状态。操作结果永久保持性如果一个事务使数据库发生了改变,而且该事务已经进入提交状态,则这些改

6、变将不会因以后的失败而丢失。独立性一个事务在进入提交状态之前,它对数据库的更新不可由其他事务读取。这个性质避免了临时值问题,也避免了嵌套回滚处理问题。一般地,不同的并发控制和数据库恢复方法要求不同级别的独立性。可串行性并发运行的多个事务的运行效果与这些事务按某种次序顺序运行的效要相同。可串行性是各种并发控制方法所要求的关键性质。保证事务的原子性是数据库恢复机制的责任。数据库正确保持性简单地说就是数据库中数据的完整性,包括它们的正确性。对于图中的事务Ti来说,一致性要求就是事务的执行不改变账户A和账户B的和。否则的话事

7、务就会创造或销毁钱!单个事务的一致性是由对该事务进行编码的应用程序员的责任,但是在某些情况下利用DBMS中完整性约束(如触发器)的自动检查功能有助于一致性的维护。Ti:Ti:read(A)read(A)A:=A-500A:=A-500write(A)write(A)read(B)read(B)B:=B+500B:=B+500write(B)write(B)图1事务Ti图2执行过程中发生故障的事务Ti原子性如果事务没有原子性的保证,那么在发生系统故障的情况下,数据库就有可能处于不一致状态。如图2所示,如果故障发生在wr

8、ite(A)和read(B)之间,则将有可能造成账户A的余额已经减去500元钱,而账户B的余额却没有改变,凭空就少了500元钱。值得注意的是,即使没有故障发生,系统在某一时刻也会处于不一致状态。原子性的要求就是这种不一致状态除了在事务执行当中出现外,在其他任何时刻都是不可见的。保证原子性是DBMS的责任:即事务管理器和恢复管理器的责任。操作结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。