欢迎来到天天文库
浏览记录
ID:39268045
大小:460.81 KB
页数:41页
时间:2019-06-29
《数据库的恢复技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十章数据库恢复技术1教学目的:①理解事务的相关概念及其特性②理解三种故障以及其恢复技术③掌握backup和restore命令重点难点:事务的概念和特性教学方法:多媒体教学教学课时:2课时210.1事务的基本概念事务(transaction)是用户为完成一次任务所进行的一系列操作(一段用户程序)或者是为完成某种任务在机器上单独执行的一个程序。这些操作要么全做,要么全不做,是一个不可分割的工作单元。3例:某公司在银行中有A,B两个帐号,现在公司想从帐号A中取出1万元,存入帐号B。那么在A中取出1万元的操作和在B中增加1万元的操作要么都成
2、功完成,要么都不做。因此,需要把这二个操作定义在一个事务中。银行转帐:事务T从A帐户过户10000到B帐户。T:read(A);A:=A–10000;write(A);read(B);B:=B+10000;write(B);read(X):从数据库传送数据项X到事务的工作区中。write(X):从事务的工作区中将数据项X写回数据库。4事务是一种机制,它确保多个SQL语句被当作单个工作单元来处理。事务的开始与结束可以由用户显式控制。如果用户没有显式地定义事务,则由DBMS按缺省规定自动划分事务。在SQL语言中,定义事务的语句有三条:BE
3、GINTRANSACTIONCOMMITROLLBACK事务通常是以BEGINTRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回磁盘上的物理数据库中,事务正常结束。一旦提交就不能撤销。ROLLABCK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤消,回滚到事务开始时的状态。5SQLServer中有关事务处理的语句包括:BEGINTRANSACTION:建立一个显式事务。CO
4、MMITTRANSACTION:标识一个显式事务或隐式事务正常结束而提交。SAVETRANSACTION:在事务内定义一个存储点标记。ROLLBACKTRANSACTION:回滚事务。一、事务的处理语句6(1)定义和提交事务BEGINTRANSACTION和COMMITTRANSACTION的语句格式:BEGINTRANSACTION[事务名称]{SQL语句}COMMITTRANSACTION说明:①哪些SQL语句组成一个事务由用户根据情况而定。②定义一个事务时,BEGINTRANSACTION语句与COMMITTRANSACTION
5、语句必须成对出现。7例:begintransactionhjdeletefromstudentwhere学号='b003'deletefromscwhere学号='b003'committransaction8回滚事务就是消除事务执行的影响。语句格式:ROLLBACKTRANSACTION[事务名称
6、存储点名称]该语句回滚整个事务或是存储点定义以后所发生的事务。ROLLBACKTRANSACTION语句应在COMMITTRANSACTION语句之前调用。因为一旦提交就不能撤销。(2)回滚事务例:begintransactionhjde
7、letefromstudentwhere学号='b004'rollbacktransaction9(3)定义存储点标记在事务内建立一个存储点标记。在存储点标记之前事务所完成的更新操作已提交到数据库中,不能回滚。在存储点名称标记之后事务执行的部分操作可以由ROLLBACKTRANSACTION语句回滚,即只能回滚在存储点名称标记之后事务执行的部分操作。SAVETRANSACTION语句的格式为:SAVETRANSACTION存储点名称10例:下面例子说明怎样建立一个用户定义事务及事务中的存储点、回滚操作和事务提交操作。BEGINTRAN
8、SACTIONdemoSELECT*FROMstudentINSERTstudent(学号,姓名)VALUES('b100','张三')SAVETRANSACTIONsave_demo/*存储点*/INSERTstudent(学号,姓名)VALUES('b101','李四')SELECT*FROMstudentROLLBACKTRANSACTIONsave_demo/*回滚*/COMMITTRANSACTIONSELECT*FROMstudent11二、事务的特性原子性(Atomicity):all-or-none,A贷方-100万,
9、B借贷+100万,即事务中的诸操作要么都做,要么都不做。当事务非正常终止时,其中间结果将被取消。事务的原子性保证数据库的状态总是从一个一致性的状态变化到另一个一致性的状态,而不会出现不一致的中间状态。一致性(Consis
此文档下载收益归作者所有