- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XX大学
?毕业设计?
SQL Server2005事务处理机制之研究
?
?
?
?
学生姓名::指导老师::?
?
?
?
SQL Server2005事务处理机制之研究
目录
1.前言 1
2.事务处理机制 2
2.1 事务的基础知识 2
2.1.1 什么是事务 2
2.2 事务的ACID属性 2
2.2.1 什么是ACID属性 2
2.2.2原子性 3
2.2.3 一致性 3
2.2.4 隔离性 3
2.2.5 持久性 4
3. 事务日记备份 5
3.1处理方法 5
3.2文件过大怎么处理与恢复 5
4. 事务隔离级别 8
4.1 隔离级别的概念 8
4.2事务隔离级别 10
4.2.1数据库事务处理中出现的数据不一致的情况 10
5.?锁实现机制 12
5.1 封锁协议 12
5.1.1一级封锁协议 (read uncommited) 12
5.1.2二级封锁协议(read commited) 12
5.1.3三级封锁协议(对应reapetable read) 12
5.2浅析锁机制 13
6. DBMS的责任和我们的任务 14
7. 概念结构设计 17
7.1 概念模型 17
7.2 概念设计的主要步骤 17
7.2.1数据抽象(data abstraction) 18
7.2.2用ER方法进行数据库的概念设计 18
8. 总结 22
1.前言
??
2.事务处理机制
?2.1 事务的基础知识
???2.1.1 什么是事务
事务处理是由以一个单一的逻辑单位完成的一系列操作,它可以由一系列的的SQL语句、SELECT、INSERT、UPDATE、DELETE组成,如果在该单位包含的操作执行完毕后没有发生错误,那么它对数据库所作的改变就是永久的了。如果一旦有错误发生,它就不会对数据库作任何修改或改变。
要定义一个事务,需要使用BEGIN TRANSACTION命令,在这一命令之后的任何语句都将被认为是事务的一部分。命令COMMIT用来完成事务,并使事务对数据库所作的修改成为永久的。ROLLBACK命令用来取消一个事务,并还原事务对数据库所作的修改。下面是一个事务的例子:设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:更新客户所购商品的库存信息保存客户付款信息—可能包括与银行系统的交互。生成订单并且保存到数据库中。更新用户相关信息,例如购物数量等等。
正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该客户银行账户存款不足等,都将导致交易失败。一量交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态—库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。
数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。
2.2 事务的ACID属性
2.2.1 什么是ACID属性
事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使用应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。
2.2.2原子性
??????事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。例如,当开发用于的应用程序时,应避免在过程中任意移动小数点。
由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。
您可能关注的文档
- 毕业设计(论文)-装配式钢筋混凝土简支T梁桥计算书.doc
- 毕业设计(论文)-自动报时系统设计(单片机).doc
- 毕业设计(论文)-自动扶梯驱动机及其控制系统设计.doc
- 毕业设计(论文)-自行车脚踏内板冲模设计.doc
- 毕业设计(论文)-自愈式电力电容器的制造工艺研究.doc
- 毕业设计(论文)-综合生产办公楼设计.doc
- 毕业设计(论文)-综合性智能化大厦的火灾报警系统.doc
- 毕业设计(论文)-组合钻床设计.doc
- 毕业设计(论文)-钻缝纫机底板侧面孔夹具的设计.doc
- 冲压模具毕业设计(论文)-固定垫片模设计.doc
- 2025年江苏旅游职业学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025合伙经营合同8篇.docx
- 2025年江苏护理职业学院单招(数学)历年真题考点含答案解析.docx
- 2025年最新版教育实习合同7篇.docx
- 2025年江苏城市职业学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 7号楼土石方工程合同5篇.docx
- 化工仪购销合同标准电子版10篇.docx
- 2025年江苏旅游职业学院单招职业技能测试近5年真题考点含答案解析.docx
- 2025年江苏海事职业技术学院单招职业技能测试近5年真题考点含答案解析.docx
- 2025年江苏海事职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
文档评论(0)