数据库 第08章 事务管理

数据库 第08章 事务管理

ID:45095865

大小:588.50 KB

页数:84页

时间:2019-11-09

数据库 第08章 事务管理_第1页
数据库 第08章 事务管理_第2页
数据库 第08章 事务管理_第3页
数据库 第08章 事务管理_第4页
数据库 第08章 事务管理_第5页
资源描述:

《数据库 第08章 事务管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第8章事务管理8.1事务8.2并发控制8.3恢复深入理解事务的基本概念和基本性质;深入理解各种干扰现象和并发控制的必要性,熟练掌握事务隔离性、封锁等并发控制手段;深入理解日志与灾难恢复的概念,熟练掌握数据库的备份和恢复技术.学习目标:主要内容:8.1事务8.1事务的概念8.2事务的性质8.3SQL对事务的支持第8章事务管理8.1.1事务的概念事务是构成单一逻辑工作单元的操作集合。为什么需要事务的概念呢?恢复的需要并发操作的需要第8章事务管理8.1事务8.1.2事务的性质原子性(Atomicity)一致性(Consistency)隔

2、离性(Isolation)持久性(Durability)事务的这些性质通常称为ACID特性第8章事务管理8.1事务1)原子性事务的原子性强调了一个事务是一个逻辑工作单元,是一个整体,是不可分割的。一个事务所包含的操作要么全部做,要么全部不做。第8章事务管理8.1事务8.1.2事务的性质2)一致性一个事务执行一项数据库操作,事务将使数据库从一种一致性的状态变换成另一种一致性状态。在事务执行前,总是假设数据库是一致的,那么当事务成功执行后,数据库肯定仍然是一致的。第8章事务管理8.1事务8.1.2事务的性质3)隔离性如果每个事务单独执

3、行能保持原子性和一致性,这些事务并发执行也能保持原子性和一致性,则是事务的隔离性。第8章事务管理8.1事务8.1.2事务的性质4)持久性事务的持久性是指一旦事务成功完成,该事务对数据库所施加的所有更新都是永久的。第8章事务管理8.1事务8.1.2事务的性质8.1.3SQL对事务的支持开始事务结束事务事务保存点隐含事务与自动提交第8章事务管理8.1事务1)开始事务使用BEGINTRANSACTION命令显式说明一个事务开始,它说明了对数据库进行操作的一个单元的起始点。在事务完成之前出现任何操作错误和故障,都可以撤销事务,使事务回退到

4、这个起始点。第8章事务管理8.1事务8.1.3SQL对事务的支持2)结束事务成功结束事务的命令是COMMITTRANSACTION,它的作用是提交或确认事务已经完成,所以该命令也称作事务提交。撤消事务的命令是ROLLBACKTRANSACTION,即撤消在该事务中对数据库所做的更新操作,使数据库回退到事务的起始点。第8章事务管理8.1事务8.1.3SQL对事务的支持3)事务保存点第8章事务管理8.1事务8.1.3SQL对事务的支持点的命令是SAVE存SQLServer支持事务保存点技术,设置保TRANSACTION(在SQL标准中

5、是SAVEPOINT命令),具体格式是:SAVETRANSACTIONsavepoint_name撤消部分事务或回退到事务保存点的命令也是ROLLBACKTRANSACTION,具体格式是:ROLLBACKTRANSACTIONsavepoint_nameSQL标准还支持“事务保存点”技术,所谓事务保存点就是在事务的过程中插入若干标记,这样当发现事务中有操作错误时,可以不撤消整个事务,只撤消部分事务,即将事务回退到某个事务保存点。在SQL标准中还支持取消事务保存点的命令RELEASESAVEPOINT,在SQLServer目前的版

6、本中不支持取消事务保存点。隐含事务与自动提交第8章事务管理8.1事务8.1.3SQL对事务的支持SQL标准规定事务的开始是隐含的,在发出COMMIT(提交事务)或ROLLBACK(撤消事务)命令之前,该事务将一直保持有效。一个事务被提交或撤消之后,又将自动启动下一个新事务。SQLServer也可以设置成隐含事务方式,设置隐含事务方式的命令是:SETIMPLICIT_TRANSACTIONSON取消隐含事务方式的命令是:SETIMPLICIT_TRANSACTIONSOFF隐含事务与自动提交第8章事务管理8.1事务8.1.3SQL对

7、事务的支持当是隐含事务方式时,不需要用BEGINTRANSACTION命令显式的启动或开始一个事务,但需要用COMMIT或ROLLBACK命令结束事务;当是非隐含事务方式时,如果没有用BEGINTRANSACTION命令显式的启动或开始一个事务,则每条操作数据库的语句都将作为独立的事务被自动提交或撤消,这时候不需要、也不能执行COMMIT或ROLLBACK命令。8.2并发控制干扰问题可串行性解决干扰——封锁封锁不当——死锁封锁与隔离级别第8章事务管理8.2.1干扰问题丢失更新问题未提交依赖问题不一致分析问题幻象读问题第8章事务管理

8、8.2并发控制1)丢失更新问题例:旅客A来到A售票处,要买一张15日北京到上海的13次直达快速列车的软卧车票,售票员A(下称用户A)在终端A查看剩余票信息;几乎在同时,旅客B来到B售票处,也要买一张15日北京到上海的13次直达快速列车的软卧车票,售

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

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

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