- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                数据库原理与技术(第二版)          程学先     程传慧     曾    玲               陈永辉     郑秋华     杨晓艳    【例】假设账号为0027-654321的客户购买10件商品代码K01的商品,设这10件商品的总价为200.00元。    根据业务规则,在执行购买事务时,应当完成如下的操作过程:  UPDATE   库存表 SET 库存量=库存量-10                       WHERE 商品代码=‘K01’ UPDATE   进账表 SET 金额=金额+200.00                       WHERE 账号=‘0027-654321’ ; SQL的事务管理  事务提交COMMIT         将该事务对数据库的所有更新写入到磁盘的物理数据库中,事务正常结束。  事务撤消ROLLBACK(回滚)          指系统将该事务对数据库的所有已完成的更新操作全部撤消,恢复到事务开始前的一致的状态。          在SQL语言对数据库的操作中,一般都是按照用户或应用程序所规定的事务流程顺序执行,直到遇到下列情况之一为止: 执行COMMIT语句:说明对数据库的所有操作都已存入数据库中。COMMIT语句自动结束SQL的事务,并开始新的事务。 执行ROLLBACK语句:说明要撤消对事务开始后的所有对数据库的操作,并且使数据库回滚到事务开始之前的一致性的状态。 程序正常结束:这种情况说明对数据库的所有修改已存入数据库中。 程序被非常终止:说明对数据库的所有改变被撤消,数据库回滚到原来一致性状态。  说明:在执行一个完整的事务处理时,应该设定事务的管理子句。  如对上例的购买事务,应为: UPDATE 库存表 SET 库存量=库存量-10                    WHERE 商品代码=‘K01’ UPDATE 进账表 SET 金额=金额+200.00                     WHERE 账号=‘0027-654321’  COMMIT; 并发控制 在多用户的数据库系统中,多个事务交迭地执行,称为并发处理。 并发处理可能会导致数据完整性与一致性方面的问题,如丢失更新、读出的是未提交的数据、非一致检索的问题等。 DBMS系统必须对这种并发操作提供一定的控制以防止它们彼此干扰,从而保证数据库的正确性不被破坏,DBMS所提供的这种处理就是并发控制。 并发处理产生的三种不一致性  丢失数据  读未提交数据  不一致性检索  丢失数据    【例】假设当前某商品S1的在库数量是200,现在有两个并发事务T1和T2都将更新库存中的数量,T1是采购入库事务,T2是卖出出库事务,即 事务 事务完成后的计算结果 T1:入库400 库存数量=库存数量+400 T2:出库80 库存数量=库存数量-80 执行顺序 事务 步骤 数据库中结果 1 T1 读出库存数量 200 2 T1 库存数量=库存数量+400   3 T1 将结果写回数据库 600 4 T2 读库存数量 600 5 T2 库存数量=库存数量-80 80 6 T2 将结果写回数据库 520 如上表所示,在正常情况下这些事务的执行顺序和正确的结果,正确的最后执行结果应该是520。  执行顺序 事务 步骤 数据库中结果 1 T1 读出库存数量 200 2 T2 读出库存数量 200 3 T1 库存数量= 库存数量+400 4 T2 库存数量= 库存数量-80 5 T1 将结果写回数据库 600(将被丢失) 6 T2 将结果写回数据库 120 在此表中,由于事务T1和T2是交替执行的,在将更新的结果写回数据库时,T1写入后马上由T2写入它所计算出的值,此时最后数据库中的结果是120,与上表中所得出的结果是完全不同的。 因此,如果对数据库更新时的并发事务不加以控制,将会出现大量的不可预期的错误结果!!!  读未提交数据     当两个事务T1和T2并发执行时,在T1对数据库更新的结果没有提交之前,T2使用了T1的结果,如果在T2读取数据之后T1又撤消事务,就可能引起错误。    读未提交数据产生的根源是违反了事务的隔离性。  仍以上述实例来讨论。 假定事务T1在增加了400个商品后,在没有提交之前撤消了这个操作,此时事务T2将从原来的库存数量200中减去80,得到的结果应该是120,其操作顺序和结果如下表所示。  执行顺序 事务 步骤 数据库中结果 1 T1 读出库存数量 200 2 T1 库存数量=库存数量+400 600 3 T1 将结果写回数据库 600 4 T1 **ROLLBACK** 200 5 T2 读出库存数量 200 6 T2 库存数量=库存数量-80 7 T2 将
                您可能关注的文档
- 数据库原理及应用 教学课件 作者 王雯 第11章 数据库系统.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第1章.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第2章.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第3章.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第4章.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第5章.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第6章.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第7章.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第8章.ppt
- 数据库原理及应用(Access 2003)(第二版)陈光军电子教案 第9章.ppt
- 数据库原理与技术(第二版)程学先电子教案 第6章.ppt
- 数据库原理与技术(第二版)程学先电子教案 第7章.ppt
- 数据库原理与技术(第二版)程学先电子教案 第8章.ppt
- 数据库原理与技术(第二版)程学先电子教案 第9章.ppt
- 数据库原理与技术陆勤电子教案 第1章 数据库系统概论.ppt
- 数据库原理与技术陆勤电子教案 第2章 关系运算.ppt
- 数据库原理与技术陆勤电子教案 第3章 关系数据库语言SQL.ppt
- 数据库原理与技术陆勤电子教案 第4章 关系系统查询优化.ppt
- 数据库原理与技术陆勤电子教案 第5章 关系数据库的规范化设计.ppt
- 数据库原理与技术陆勤电子教案 第6.1章 数据库的并发控制机制.ppt
最近下载
- 职业技能竞赛数控车工、数控铣工、加工中心实操训练试题-1.doc VIP
- 低压并网柜技术规范书.doc VIP
- 2025年法官入额考试真题及答案.docx VIP
- 《工程勘察设计收费管理规定》计价格【2002】10号.doc VIP
- 2025年法官入额考试真题及答案.docx VIP
- 《GJ B798-1990-伪装涂料漆膜颜色》.pdf VIP
- 美国纽约摄影学院摄影教材【上下册无密码全版】PDF版.docx VIP
- 职业生涯规划书.docx VIP
- 截屏-节能与新能源汽车技术路线图3.0-2025-10-新能源.pptx
- 2022年二级造价师《建设工程计量与计价实务》(水利)考试题库.pdf VIP
 原创力文档
原创力文档 
                        

文档评论(0)