- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
事务管理与控制 * 事务控制 * 第9章 事务管理与控制 解决问题: 多个用户同时操作数据库会不会相互干扰,从而导致数据的错误? 系统在执行用户的请求过程中会不会出现故障,从而使数据库处于未知状态? 并发控制问题 恢复问题 9.1 什么是事务 事务(Transaction)是并发控制和恢复的基本单位 完成用户一个特定工作的一组命令看作是事务,事务就是作业或任务 事务是构成单一逻辑工作单元的操作集合。 一个事务可以是一条SQL语句,也可以是多条SQL语句,但一定是一个完整的操作。例如银行转账业务 一个事务完成后应该告知系统,称为事务的提交(COMMIT),此时数据库处于操作后的正确状态;如果一个事务未完成,则必须清除该事务数据的影响,即事务的撤消(RollBack),从而使数据库处于操作前的正确状态。 9.1 什么是事务 事务(Transaction)是并发控制和恢复的基本单位,其是一个操作系列,这些操作具有以下四个属性(ACID): 原子性(Atomicity) 事务中的操作要么执行,要么不执行,整个是一个不可分割的工作单位。 例如银行转账业务:从一个账号扣款和使另一个账号增加款额,这两个操作要么都执行,要么都不执行。所以应该把它们处理成一个事务。 9.1 什么是事务 一致性(Consistent) 必须保证多用户并发操作过程中数据的一致性 帐户甲 帐户乙 T1 T2 T3 X=400,X=X-40 数据的不一致性发生了 Return y 发生故障 Y=1000 银行转账业务 9.1 什么是事务 隔离性(Isolatable) 必须保证多用户并发操作过程中,相互不干扰。 帐户甲 帐户乙 帐户丙 T1 T2 X=400,X=X-40 甲和丙同时在T1时刻向帐户乙转帐,则对Y的值的修改是同时的,那么对于Y的值的修改都是错误的。 甲的操作:Y=Y+40=1040 丙的操作:Y=Y+100=1100 Y=1000 银行转账业务:甲向乙转去40元,丙向乙转去100元。 Z=200,Z=Z-100 2个不同的事务同时执行时交叉在一起,没有有效地进行隔离,从而使得他们之间产生了干扰。 9.1 什么是事务 持续性(Durative) 事务完成之后,它对于系统的影响是永久性的。即使出现了系统故障,那么系统在恢复之后已完成的事务对数据库的修改一直保持,未完成的事务将被回滚。 9.2 并发事务带来的问题 丢失更新问题 ——当多个事务同时选择一个元组,然后基于最初选定的值更新该元组时会发生丢失更新问题。 假设某产品库存量为50,现在购入该产品100个,执行入库操作,库存量加100;用掉40个,执行出库操作,库存量减40。分别用S1和S2表示入库和出库操作任务。同时发生入库(S1)和出库(S2)操作,这就形成并发操作。 丢失更新问题 表1 发生丢失更新的过程 用户A S1 时间 用户B S2 读库存量 T1 读库存量 库存量=50+100 T2 库存量=50-40 写库存量150 T3 写库存量10 例如,S1读取库存后,S2也读取了同一个库存;S1修改库存,回写更新后的值;S2修改库存,也回写更新后的值。此时库存为S2回写的值,S1对库存的更新丢失。如表1所示S1和S2的并发操作执行顺序,发生了“丢失更新”错误。 9.2 并发事务带来的问题 9.2 并发事务带来的问题 未提交依赖问题—称为读“脏数据”,查询一个已经被其他事务更新,但尚未提交的元组,会引起未提交依赖问题。 例:当S1和S2并发执行时,在S1对数据库更新的结果没有提交之前,S2使用了S1的结果,而在S2操作之后S1又回滚,这时引起的错误是S2读取了S1的“脏数据”。 用户A S1 时间 用户B S2 读库存量 T1 库存量=50+100 T2 T3 读库存量150 T4 库存量=150-40 撤消更新操作 T5 T6 写库存量110 表2 发生读“脏数据”的过程 9.2 并发事务带来的问题 不一致分析问题——不可重复读问题,很多应用可能需要校验功能,需要多次读数据,但由于其他事务的干扰,使得前后结果不一致,从而产生校验错误(不一致性的分析)问题。 用户A S1 时间 用户B S2 读库存量A=50,入库量B=100 T1 总库存量=50+100 T2 T3 读入库量B=100 T4 B=B/4 T5 回写B=25 读库存量A=50,入库量B=25 T6 校验总库存量=50+25,不一致 T7 当S1读取数据B后,T2执行了对B的更新,当T1 再次读取
您可能关注的文档
- 集成电路制造工艺——化学气相沉积 .ppt
- 集成电路制造工艺——金属化与多层互连.ppt
- 集成电路制造工艺——外延.ppt
- 集成电路制造工艺——氧化.ppt
- 软件项目管理课程总结:教务管理系统.doc
- 中国省份和城市对照表及城市分级.xlsx
- JR-T-0184-2020金融分布式账本技术安全规范.pdf
- 数据库原理.:第3章关系规范化.ppt
- 数据库原理.:第4章数据库系统设计.ppt
- 数据库原理.:第5章Microsoft SQL Server 使用基础.ppt
- 2024-2030年中国液氮冷冻治疗仪行业未来趋势与投资前景预测报告.docx
- 2024-2030年中国液压油缸行业发展现状与投资盈利预测报告.docx
- 2024-2030年中国消失模涂料行业发展现状及未来趋势分析研究报告.docx
- 2024-2030年中国液体硫化黑行业运行态势及未来竞争力剖析研究报告.docx
- 2024-2030年中国液体硬化剂行业未来趋势与盈利前景预测报告.docx
- 2024-2030年中国混合集成电路板行业产销规模调查与未来销售模式咨询报告.docx
- 2024-2030年中国液化石油气罐半挂车行业市场运营模式及未来发展动向预测研究报告.docx
- 2024-2030年中国涂装烘干设备产业营销策略探讨与未来发展商机研究报告.docx
- 2024-2030年中国混合饲料行业市场深度发展趋势与前景展望战略研究报告.docx
- 2024-2030年中国液化石油气残留物测定器行业市场运营模式及未来发展动向预测报告.docx
最近下载
- 地下室注浆工程合同.docx
- 2022年12月贵州省普通高中学业水平合格性考试语文模拟试题(含答案).pdf
- 新形势下高素质农民培训模式浅析-教育培训论文-教育论文.docx
- Unit 6 Is he your grandpa 第1课时 Lead-in & Cartoon time 译林版(三起)(2024)英语三年级上册.pptx
- 《童年》读书分享PPT.ppt
- 2023年高职单考单招机械类专业理论模拟考试.doc
- 银行公众号运营规划方案(含预估效果).pdf VIP
- 信息通信建设工程预算定额(5册合集).docx VIP
- 篮球裁判员暨社会体育指导员试题含答案.doc
- 煤矿安全规程题库.doc
文档评论(0)