《数据库事务管理》PPT课件

《数据库事务管理》PPT课件

ID:39536203

大小:428.60 KB

页数:87页

时间:2019-07-05

《数据库事务管理》PPT课件_第1页
《数据库事务管理》PPT课件_第2页
《数据库事务管理》PPT课件_第3页
《数据库事务管理》PPT课件_第4页
《数据库事务管理》PPT课件_第5页
资源描述:

《《数据库事务管理》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库系统基础教程(第2版)叶小平汤庸汤娜潘明编著普通高等教育“十一五”国家级规划教材清华大学出版社1.事务概念事务是DBMS中操作的基本执行单位,事务本身就是构成单一逻辑工作单元的数据库操作的有限序列。操作序列中的操作要么全做,要么全不做,整个序列是一个不可分割的操作单位。第7章数据库事务管理7.1事务与事务管理7.1.1事务概念与ACID性质:概念2.事务性质(ACID)(1)原子性(Atomicity)一个事务对于数据所有操作是不可分割整体,这些操作要么全执行,要么全不执行。原子性是事务概念本质体现和基本要求。7.1.1事务概念与ACID性质2.事务性质(ACID)(2)一致性

2、(Consistency)数据库中数据不因事务执行而受到破坏,事务执行结果应使数据库由一种一致性达到另一种新的一致性。一致性意义在于保证数据完整性。7.1.1事务概念与ACID性质(3)隔离性(Isolation)事务并发执行与这些事务单独执行的结果一样。在多事务并发执行时,各事务不必关心其它事务的执行,如同在单个用户环境下执行一样。隔离性意义在于是事务并发控制技术基础。7.1.1事务概念与ACID性质(4)持久性(Durability)事务对数据的更新应永久地反映在数据库中。事务一旦完成全部操作后,它对数据库所有更新结果将永久保留,即使以后发生故障也应保留相应结果。持久性意义在于保

3、证数据的故障恢复。7.1.1事务概念与ACID性质7.1.1事务概念与ACID性质1.SQL中的事务处理语句①事务开始语句:STARTTRANSACTION语句②事务提交语句:COMMIT语句③存储点语句:SAVEPOINT语句④事务回滚语句:ROLLBACK语句7.1.2SQL对事务管理的支持2.事务提交与回滚基本方式①显式方式:通过COMMIT和ROLLBACK语句明显指出提交或回滚有关事务。②隐式方式:CREATETABLE、DROPTABLE、CREATEVIEW,CREATEINDEX等创建语句在执行后即刻导致相关事务的提交。③自动方式:定期提交完成的事务。7.1.2SQL

4、对事务管理的支持3.事务内容的两种类型①只读型(ReadOnly)②读写型(Read/Write)7.1.2SQL对事务管理的支持事务并发执行是数据共享性重要保证,并发执行应当加以适当控制,否则会出现数据不一致,破坏数据库一致性。为在并发执行过程中保持一致性,需应用事务概念讨论并发控制技术。7.2并发控制技术1.串行执行与并发执行在事务活动过程中,只有当一个事务完全结束,另一事务才开始执行,这种执行方式称为事务的串行执行或串行访问。在事务执行过程中,如果DBMS同时接纳多个事务,使得事务在时间上可以重叠执行,这种执行方式称为事务的并发执行或并发访问7.2.1事务的并发执行两类并发执行

5、方式●交叉并发执行:在单CPU系统中,同一时间只能有一个事务占用CPU,实际情形是各个并发执行的事务交叉使用CPU,这种并发方式称为交叉并发执行或分时并发执行。●同时并发执行:在多CPU系统中,多个并发执行的事务可以同时占用系统中的CPU,这种方式称为同时并发执行。7.2.1事务的并发执行2.并发执行的优势●改善系统资源利用率●改善短事务响应时间7.2.1事务的并发执行在同一时刻,多个用户存取同一数据,由于使用时间相互重叠和使用方式彼此影响,如对并发操作不加以适当控制,就可能引发数据不一致问题,导致错误结果,使数据库由于并发操作错误而出现故障。7.2.2并发执行引发不一致(1)丢失更

6、新丢失更新是指两个事务T1和T2从数据库读取同一数据并进行更新,其中事务T2提交的更新改结果破坏了事务T1提交的更新结果,导致了事务T1的更新被丢失。丢失更新是由于两个事务对同一数据并发地进行写入操作所引起的,因而称为写-写冲突7.2.2并发执行引发不一致(2)读“脏”数据读“脏”数据是指事务T1将数据a更新成数据b,然后将其写入磁盘;此后事务T2读取该更新后的数据,即数据b;接下来T1因故被撤销,使得数据b恢复到了原值a。这时,T2得到的数据就与数据库内的数据不一致。这种不一致或者不存在的数据通常就称为“脏”数据。7.2.2并发执行引发不一致(3)不可重复读取不可重复读是指当事务T

7、1读取数据a后,事务T2进行读取并进行更新操作,使得T1再读取a进行校验时,发现前后两次读取值发生了变化,从而无法再读取前一次读取的结果。7.2.2并发执行引发不一致不可重复读包括3种情形。●事务T1读取某一数据后,事务T2对其进行了修改,当事务T1再次读该数据时,得到与前一次不同的值。图8-5中(c)说明的就是这种情况。●事务T1按一定条件从数据库中读取某些数据记录后,事务T2删除了其中的部分记录,当事务T1再次按照相同条件读取该数据时,发现某些记录已经

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

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

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