网络数据库讲稿(事务).doc_第1页
网络数据库讲稿(事务).doc_第2页
网络数据库讲稿(事务).doc_第3页
网络数据库讲稿(事务).doc_第4页
网络数据库讲稿(事务).doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

事务处理机制一、事务的概念事务由一系列的数据操作组成,是数据处理的逻辑单元,是一个不可分割的工作单位,用来保证数据的一致性和完整性。一般情况下,一个程序可以包含多个事务。为保证数据的一致性,事务中的每一步操作都必须正确完成。如果事务成功的执行,则在该事务中进行的所有数据更改均会成为数据库中的永久组成部分;如果一个事务处理的过程中出现故障,那么该事务中的所有操作将回滚,所有数据更改均被清除。二、事务的属性原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),通常称为事务的ACID特性。1原子性(Atomicity)一个事务中包括的所有操作,要么全部执行,要么全都不执行。2一致性(Consistency)一个事务在完成时,必须使所有的数据都处于一致状态,不能出现矛盾的数据。一致性与原子性紧密联系。3隔离性(Isolation)多个事务可并发执行,每一个事务的执行不能被其他事务干扰。4持久性(Durability)事务完成之后,它对系统的影响是持久的。三、事务与日志的联系每个数据库都有事务日志记录数据库内的数据变化。日志记录每个事务的开始和结束,并将每一个数据修改与一个事务相关联。随着数据修改的进行,在修改尚未写入数据库之前,它们首先被记录到事务日志。日志文件中记录的主要内容包括:每个事务的开始标记(BEGIN TRANSACTION)、事务的名称、操作的类型(INSERT、UPDATE、DELETE等)、操作对象、更新前的数据和更新后的数据、结束标记(COMMIT和ROLLBACK)。四、事务的状态一个事务执行的过程中,处于以下状态之一:活动状态,部分提交状态,提交状态,失败状态,终止状态。1活动状态事务执行时处于活动状态。2部分提交状态当事务完成它最后一条语句后,数据已逻辑保存(存入缓存),但未物理保存(未写入硬盘)。3提交状态日志成功地物理保存,但数据不一定物理保存。标志着事务成功完成。4失败状态事务不能正常执行,被回滚。5终止状态。事务已回滚并且数据库已恢复到事务开始前的状态。五、事务的种类每个事务以三种模式之一运行。1自动提交事务每条单独的T-SQL语句都是一个事务。2显式事务一个事务由BEGIN TRANSACTION开始,以COMMIT或ROLLBACK语句显式结束。3隐式事务在隐式事务中,无须使用BEGIN TRANSACTION标记事务的开始。用SET IMPLICIT_TRANSACTION ON将隐性事务模式设置为打开,然后执行下列任何语句时,都会自动启动一个新事务:ALTER TABLE FETCH REVOKECREATE GRANT SELECTDELETE INSERT TRUNCATE TABLEDROP OPEN UPDATE用SET IMPLICIT_TRANSACTION OFF关闭隐性事务模式。六、定义事务定义事务的基本语句有:1BEGIN TRANSACTION WITH MARK 2COMMIT TRANSACTION 3ROLLBACK TRANSACTION 不能在发出一个COMMIT之后使用ROLLBACK,因为数据已永久修改。七、事务隔离级别事务隔离级别保证一个事务的执行不受其它事务的干扰。下表按从低到高的顺序对事务隔离级别进行了说明。描述说明READ UNCOMMITTED访问数据时不发出共享锁和排它锁。当设置该选项时,允许其它事务在某一事务执行过程中更改数据。READ COMMITTED是SQL Server默认的事务隔离级。指定在读取数据时使用共享锁,但不要求一个事务对同一条记录的两次读取之间,其他的事务不能对该记录进行更新。REPEATABLE READ用共享锁锁定查询中使用的所有数据,以防止其他用户在事务完成之前更新数据。SERIALIZABLE在数据集(表)上放置一个共享锁,以防止其他用户在事务完成之前更新或插入数据。设置事务隔离级别的命令:SET TRANSACTION ISOLATION LEVEL READ COMMITTED| READ UNCOMMITTED| REPEATABLE READ| SERIALIZABLE 八、事务故障的恢复在事务执行中出现错误或故障时,SQL Server将自动回滚该事务。也可用ROLLBACK人为回滚事务。九、编写有效的事务以下是编写有效事务的原则:1不要在事务处理期间和用户交互。2在浏览数据时不要打开事务。3保持事务尽可能地短。4灵活使用低级别的事务隔离。5在事务中尽量使访问的数据量最小。6避免并发问题一、填空题8、 据库并发操作可能带来数据不一致的问题,主要有三种类型的数据不一致,分别是:_、_和_。9、 当且仅当多个事务并发执行的结果与按某一次序串行执行其结果相同,则认为并发操作是正确的,并称这种调度策略为_。10、 我们将 的并发事务调度当作唯一能够保证并发操作正确性的调度策略。12、 数据库管理系统提供的基本封锁类型有两种:_和_。13、 若事务T对数据对象A加了 锁,则T就可以对A进行读取以及更新。14、 把事务的执行过程分成_阶段和_阶段,这种规则称为两段锁协议。二、选择题1、事务的原子性是指_。 A事务中包括的所有操作要么都做,要么都不做。B事务一旦提交,对数据库的改变是永久的。C一个事务内部的操作及使用的数据对并发的其它事务是隔离的。D事务必须是使数据库从一个一致的状态变到另一个一致的状态。2、解决并发操作带来的数据不一致问题普遍采用_机制。 A封锁 B恢复 C存取控制 D协商3、若事务T对数据R已加X锁,则其他事务对数据R_。 A可以加S锁不能加X锁 B不能加S锁可以加X锁C可以加S锁也可以加X锁 D不能加任何锁4、以下哪个不属于并发操作的不正确调度带来的数据不一致性_。A. 重复读 B. 丢失修改 C. 读“脏”数据 D. 不可重复读5、事务是数据库进行的基本工作单位。如果一个事务务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好象整个事务从未有过这些更新,这样保持了数据库处于_状态。A安全性 B一致性 C完整性 D可靠性 6、 多用户的数据库系统的目标之一是使它的每个用户好象面对着一个单用户的数据库一样使用它,为此数据库系统必须进行_。A 安全性控制 B完整性控制C并发控制D可靠性控制7、设有两个事务T1和T2,其并发操作如下图所示,下面评价正确的是_。A该操作不存在问题 B该操作丢失修改C该操作不能重复读 D该操作读“赃”数据 -T1 T2- 读A=10 读A=10 A=A-5写回 A=A-8写回-8、设有两个事务T1和T2,其并发操作如下图所示,下面评价正确的是_。 A该操作不存在问题 B该操作丢失修改C该操作不能重复读 D该操作读“赃”数据 -T1 T2- 读A=10, B=5 读A=10A=A*2写回 读A=20,B=5求和25验证错-9、设有两个事务T1和T2,其并发操作如下图所示,下面评价正确的是_。 A该操作不存在问题 B该操作丢失修改C该操作不能重复读 D该操作读“赃”数据 -T1 T2- 读A=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论