第10章 事务复习要点
数据库系统概论知识点整理
数据库系统概论知识点整理第一章:绪论数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。
用途:科学地组织和存储数据,高效地获取和维护数据。
包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。
数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。
数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
目的:存储信息并支持用户检索和更新所需的信息。
数据库系统的特点:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。
概念模型实体,客观存在并可相互区别的事物称为实体。
属性,实体所具有的某一特性称为属性。
码,唯一标识实体的属性集称为码。
域,是一组具有相同数据类型的值的集合。
实体型,具有相同属性的实体必然具有的共同的特征和性质。
实体集,同一类型实体的集合称为实体集。
联系两个实体型之间的联系一对一联系;一对多联系;多对多联系关系模型关系,元组,属性,码,域,分量,关系模型关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询,插入,删除和更新数据。
这些操作必须满足关系完整性约束条件。
关系的完整性约束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。
数据库系统三级模式结构外模式,模式,内模式模式:(逻辑模式)数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
模式的地位:是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。
模式定义的内容:数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系,数据有关的安全性、完整性要求外模式:(子模式/用户模式)数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据库和逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的系统的逻辑表示。
网络数据库讲稿(事务)
事务处理机制一、事务的概念事务由一系列的数据操作组成,是数据处理的逻辑单元,是一个不可分割的工作单位,用来保证数据的一致性和完整性。
一般情况下,一个程序可以包含多个事务。
为保证数据的一致性,事务中的每一步操作都必须正确完成。
如果事务成功的执行,则在该事务中进行的所有数据更改均会成为数据库中的永久组成部分;如果一个事务处理的过程中出现故障,那么该事务中的所有操作将回滚,所有数据更改均被清除。
二、事务的属性原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),通常称为事务的ACID特性。
1.原子性(Atomicity)一个事务中包括的所有操作,要么全部执行,要么全都不执行。
2.一致性(Consistency)一个事务在完成时,必须使所有的数据都处于一致状态,不能出现矛盾的数据。
一致性与原子性紧密联系。
3.隔离性(Isolation)多个事务可并发执行,每一个事务的执行不能被其他事务干扰。
4.持久性(Durability)事务完成之后,它对系统的影响是持久的。
三、事务与日志的联系每个数据库都有事务日志记录数据库内的数据变化。
日志记录每个事务的开始和结束,并将每一个数据修改与一个事务相关联。
随着数据修改的进行,在修改尚未写入数据库之前,它们首先被记录到事务日志。
日志文件中记录的主要内容包括:每个事务的开始标记(BEGIN TRANSACTION)、事务的名称、操作的类型(INSERT、UPDA TE、DELETE等)、操作对象、更新前的数据和更新后的数据、结束标记(COMMIT和ROLLBACK)。
四、事务的状态一个事务执行的过程中,处于以下状态之一:活动状态,部分提交状态,提交状态,失败状态,终止状态。
1.活动状态事务执行时处于活动状态。
2.部分提交状态当事务完成它最后一条语句后,数据已逻辑保存(存入缓存),但未物理保存(未写入硬盘)。
掌握事务的基本概念及特性
据,也就是防止数据库中存在不正确的数据。 防范对象:不合语义的、不正确的数据 (实体,参照)
⒊ 数据库恢复:即系统失效后的数据库恢复,配合定 时备份数据库,使数据库不丢失数据。
⒋ 并发控制:即保证多用户能共享数据库,并维护数 据的一致性。
行一样。事务并发执行的结果和某一串行执行的 结果相同。 事务并发执行的相对独立性,这是事务并发控制 的目标。 并发控制就是为了保证事务间的隔离性 隔离性保证:多个事务并发执行的结果和某一串 行执行的结果相同
整理课件
T1
T2
① 读A=16
②
读A=16
③ A←A-1 写回A=15
④
A←A-3
写回A=13
整理课件
数据库的定义: 数据库被破坏的原因,可归纳为: ⒈软硬件故障,造成数据被破坏。 ⒉数据库的并发操作引起数据的不一致性。 ⒊自然或人为地破坏,如失火、失窃、病毒和 为授权人的有意纂改数据。 ⒋对数据库数据的更新操作有误,如操作时输 入错误的数据或存取数据库的程序有错等等。
整理课件
针对这四类问题,一般DBMS提供了相应的功能: ⒈ 安全性保护:保护数据库防止恶意的破坏和非法
事务异常终止 事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作,所有已完成的更新操作 全部撤销 事务滚回到开始时的状态
整理课件
10.1.2 事务的特征
事务是由有限的数据库操作序列组成,但并不是任意的数据 库操作序列都能成为事务,为了保护数据的完整性,一般要 求事务具有以下四个特征:原子性 一致性 隔离性 持久性 ACID准则
T1的修改被T2覆盖了!
整理课件
10事务
10.2事务10.2.1事务概述事务是SQL SERVER中的单个逻辑工作单元,也是一个操作序列,它饮食了一组数据库操作命令,所有的命令作为一个整体一起向系统提交或撤销,如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。
如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除。
因此,事务是一个不可分割的工作逻辑单元,在SQL中应用事务来保证数据库的一致性和可恢复性。
一个逻辑工作单元必有具有以下四种属性,也称做ACID(每种属性英文名称的首字母缩写)属性。
(1)原子性。
一个事务必须作为SQL 工作的原子单位,要么全部执行,要么全部取消。
(2)一致性。
当事务完成后,所有数据必须处于一致性状态。
即事务所修改的数据必须遵循数据库中各种约束要求,保持数据的完整性;在事务完成时,SQL所有内部数据结构必须得到更新。
(3)隔离性。
一个事务所做的修改必须能够与其他事务所做的修改隔离开来,即在并发处理过程中,一个事务所看到的数据状态必须为另一个事务处理前或处理后的数据,而不能为正被其他事务所修改的数据。
事务的隔离性通过锁来实现,在本章的后续内容中还将对隔离进行详细说明。
(4)持久性。
事务完成后,它对数据库所做的修改被永久保持。
事务日志能够保证事务的永久性,SQL在每次启动时,它会自动修复数据库,并根据事务日志回滚所有数据库中未完成的事务。
在通过银行系统将一笔资金(10000元)从账户A转账到账户B操作中,可以清楚地体现事务的ACID属性。
●原子性:从账户A转出10000元,同时账户B应该转入了10000元。
不能出现账户A转出了,但账户B没有转入的情况,转出和转入的操作是一体的。
●一致性:转账操作完成后,账户A减少的金额应该和账户B增加的金额是一致的。
●隔离性:在账户A完成转出操作的瞬间,往账户A中存入资金等操作是不允许的,必须将账户A转出资金的操作和往账户B存入资金的操作分开来做。
知识点归纳 数据库管理系统中的事务与并发控制
知识点归纳数据库管理系统中的事务与并发控制数据库管理系统中的事务与并发控制数据库管理系统(DBMS)是用于管理和组织大量数据的软件系统。
在数据库中,事务和并发控制是两个关键的概念。
事务是数据库操作的基本单元,而并发控制是确保多个事务同时执行时数据的一致性和完整性的机制。
一、事务事务是指由一系列数据库操作组成的逻辑工作单元,这些操作要么全部执行成功,要么全部不执行。
事务必须满足以下四个特性(ACID特性):1. 原子性(Atomicity):事务中的操作要么全部执行成功,要么全部不执行。
如果在执行事务过程中发生错误或中断,所有的操作都将被回滚,数据库系统将恢复到事务开始之前的状态。
2. 一致性(Consistency):事务执行前后,数据库必须保持一致性。
意味着事务中的操作应该满足数据库的完整性约束,如主键约束、唯一性约束等,以及其他业务规则。
3. 隔离性(Isolation):事务应该被隔离开来,使得一个事务的执行不会影响其他事务的执行。
并发控制机制会确保事务的隔离性,以避免数据的不一致性。
4. 持久性(Durability):一旦事务被提交,其结果应该是永久性的,不会因为系统故障而丢失。
持久性通常通过将事务的操作写入磁盘来实现。
二、并发控制并发控制是确保多个事务同时执行时数据的一致性和完整性的机制。
当多个事务同时读取和写入数据库时,可能会出现以下问题:1. 脏读(Dirty Read):当一个事务读取了另一个未提交事务的数据时,就发生了脏读。
如果未提交事务回滚或更新了数据,则另一个事务读取的数据可能是不正确的。
2. 不可重复读(Non-repeatable Read):在一个事务中,多次读取同一数据,但每次读取的结果都不一样。
这是因为在读取过程中,其他事务修改了数据。
3. 幻读(Phantom Read):在一个事务中,多次查询同一范围的数据,但每次查询的结果都不一样。
这是因为在查询过程中,其他事务插入了新的数据。
事务工作原理
事务工作原理事务工作原理,听起来有点高大上,但其实就像我们生活中的一些事情一样,很容易理解的。
咱们先想象一下去超市购物这个场景。
你进入超市,拿了一个购物篮,这个购物篮就像是一个事务的开始。
你开始在超市里挑选商品,这个过程就好比事务中的各个操作。
你每拿一件商品放到购物篮里,就像是事务中的一个步骤,这些步骤是相互关联的。
在事务工作原理里呢,有一个很重要的特性叫原子性。
这就好比你在超市购物,要么你顺利地把所有想买的东西都选好,最后一起结账走人(这就像事务成功完成);要么中间出了什么岔子,比如说你突然发现钱没带够或者超市突然停电了,那你就不能把已经选好的部分商品带走,得把它们都放回原位(这就像事务回滚,整个事务就像没发生过一样)。
再来说说一致性。
你去超市购物是有一定预算的吧,你不能结账的时候花的钱比你带的钱还多,这就是一种一致性的体现。
在事务工作原理里,事务开始前和结束后,数据或者状态都得保持一种合理的一致性。
就像你购物前后,你的财务状况得是合理的,不能莫名其妙地多了或者少了东西(这里的东西就类比为数据)。
隔离性也是事务工作原理中的重要部分。
还是拿超市来说,假设超市里同时有好几个顾客在购物(这就好比多个事务同时进行)。
每个顾客的购物过程应该是相互隔离的,互不干扰的。
不能说因为另一个顾客把某个商品拿光了,导致你在挑选商品的时候产生混乱,以为这个商品本来就不存在。
每个事务都应该像是在自己独立的小世界里进行操作,直到最后完成或者失败。
最后就是持久性啦。
当你在超市结完账,拿到了购物小票,这个小票就是你购物这个事务已经完成并且持久化的一个证明。
在事务工作原理里,一旦事务成功完成,它对数据或者状态的改变就应该是永久性的,就像你买了东西付了钱,这个交易结果就确定下来了,不会莫名其妙地消失或者改变。
事务工作原理虽然有点复杂,但通过我们生活中的超市购物这个例子,是不是就感觉容易理解多啦?它在很多地方都有应用呢。
比如说我们在网上订机票,从你选择航班、输入乘客信息、付款,这一系列操作就是一个事务。
CH10 事务管理与恢复
第 10 章 事务管理与恢复
事务并发执行问题举例
[例10.3] 设A航班的剩余票数为10张,有两个事务T1和T2
同时请求出售该航班机票2张和3张。它们各自的执行序
列如图10-1所示(这里只考虑对航班剩余票数的更新)。
T1 R(A) A=A-2 W(A) T2 R(A) A=A-3 W(A)
图10-1 更新事务T1和T2
如果第一个UPDATE语句执行成功,而第二个UPDATE语句执行 失败,会发生什么问题呢???
4
数据库系统原理与设计
第 10 章 事务管理与恢复
问题背景
假设F005航班共有200个座位,2008年8月8日机票已售198张 (其中被A0010售出20张),余票2张。 当第1个UPDATE语句执行成功时,即A0010已售票数更新 为22。当系统发生故障重新提供服务时,如果又有售票点请 求出售F005航班2008年8月8日机票2张,由于F005的剩余票 数未更新(仍为2),因此满足其要求又出售了2张。 结果多卖了2张票!
Java、C、C++)提供的事务开始语句、事务结束语句以及 由它们包含的全部数据库操作语句组成。
7
数据库系统原理与设计
第 10 章 事务管理与恢复
事务结束语句
事务结束的两种类型:
事务提交(commit):将成功完成事务的执行结果(即更新) 永久化,并释放事务占有的全部资源。 事务回滚(rollback):中止当前事务、撤销其对数据库所 做的更新,并释放事务占有的全部资源。
问题背景
为解决上述问题,数据库管理系统引入了事务概念,它 将这些有内在联系的操作当作一个逻辑单元看待,并采 取相应策略保证一个逻辑单元内的全部操作要么都执行
事务面试知识点总结
事务面试知识点总结一、业务流程控制1. 事务事务是指一组原子操作,这些操作要么全部执行,要么全部不执行。
事务是数据库管理系统进行并发控制和恢复的基本单位。
在数据库系统中,事务通常由一系列的操作组成,这些操作要么全部执行成功,要么全部执行失败。
2. 原子性原子性是指事务中的操作要么全部执行成功,要么全部执行失败。
在数据库系统中,原子性是指一组操作要么全部执行,要么全部不执行。
3. 一致性一致性是指事务将数据库从一种一致状态转换到另一种一致状态。
在数据库系统中,一致性是指事务执行完毕后,数据库的状态符合其定义的约束。
4. 隔离性隔离性是指一个事务的执行不受其他事务的影响。
在数据库系统中,隔离性是指每个事务都将数据库当成自己独立的数据空间,不受其他事务的影响。
5. 持久性持久性是指事务执行完毕后,对数据库状态的改变将永久保存。
在数据库系统中,持久性是指一旦事务执行完毕,并对数据库状态有所改变,这种改变将永久保存,即使系统出现故障也不会丢失。
二、事务隔离级别1. READ UNCOMMITTED(未提交读)事务在该隔离级别下可以读取未提交的数据,这可能会导致脏读的问题。
2. READ COMMITTED(提交读)事务在该隔离级别下只能读取已提交的数据,不会出现脏读问题,但可能出现不可重复读的问题。
3. REPEATABLE READ(可重复读)事务在该隔禅级别下进行查询时,会将查询结果缓存起来,即使其他事务进行了修改操作也不会影响查询结果。
4. SERIALIZABLE(串行化)事务在该隔离级别下可以避免其他事务进行并发操作,从而保证事务的完整性和一致性。
但是会降低数据库的并发性能。
三、事务并发控制1. 乐观并发控制乐观并发控制是指假设系统中不会发生并发冲突,每个事务都会顺利执行。
当发生冲突时,系统会进行检查和处理。
2. 悲观并发控制悲观并发控制是指假设系统中会发生并发冲突,系统需要采取措施来防止并发冲突的发生。
简述事务的概念
简述事务的概念事务(Transaction)是指将一组操作当作一个逻辑单元进行执行的过程。
在数据库系统中,事务是用于保证多个操作以原子性、一致性、隔离性和持久性的方式进行的一种技术。
事务的四个特性(ACID)分别是:1. 原子性(Atomicity):事务中的所有操作要么都执行成功,要么都失败回滚,不存在部分成功或部分失败的情况。
原子性保证了事务的完整性,即保证数据库从一个一致性状态到另一个一致性状态。
2. 一致性(Consistency):事务开始之前,数据库的状态是一致的,事务结束后,无论事务是否成功执行,数据库都必须保持一致的状态。
事务的一致性要求事务在执行过程中对数据库所作的修改必须满足约束条件。
3. 隔离性(Isolation):多个事务同时执行时,每个事务都应该感觉不到其他事务的存在,每个事务都认为它是唯一在操作数据库的事务。
隔离性主要是通过事务的并发控制来实现的,可以通过锁机制或并发控制方法来保证事务之间的隔离。
4. 持久性(Durability):事务一旦提交,其结果即使在系统崩溃的情况下也应该被永久保存在数据库中。
持久性的实现通常是通过将事务的结果写入日志或者使用类似于文件系统的持久化机制来实现的。
事务的概念主要应用于关系型数据库系统中,关系型数据库使用各种机制来保证事务的ACID特性。
这些机制包括:1. 事务日志(Transaction Log):事务日志是数据库中记录了所有操作的日志,可以用于恢复数据库到某个特定的时间点。
当事务开始时,事务日志记录了所有被修改的数据,当事务结束时,事务日志记录了所做的提交操作。
如果系统发生故障,可以通过事务日志来将数据库恢复到事务提交之前的状态。
2. 锁机制(Locking):为了实现事务的隔离性,数据库系统使用锁机制来控制并发事务的访问。
锁机制可以在事务执行期间将数据对象锁定,防止其他事务对其进行修改。
常见的锁类型包括共享锁和排他锁,其中共享锁允许多个事务同时读取数据,排他锁则只允许一个事务对数据进行修改。
第10章事务
➢事务的状态:
活动状态
部分提交状态 失败状态
提交状态 中止状态
图10.1 事务状态图
5
10.3 事务的特性
事务所必须具有的重要特性包括:
(1)原子性(Atomicity)。一个事务是一个不可分割 的工作单位,事务在执行时,应该遵守“要么不做,要 么全做” 的原则,即不允许事务部分的完成。 ➢即使因为故障而使事务未能完成,它执行的部分结果 要被取消。
11
10.4 SQL Server中的事务
➢ SQL Server的事务分为两种类型: • 系统提供的事务。系统提供的事务是指在执行某些语
句时,一条语句就是一个事务,它的数据对象可能是 一个或多个表(视图),可能是表(视图)中的一行 数据或多行数据; • 用户定义的事务。用户定义的事务以BEGIN TRANSACTION语句开始,以COMMIT或 ROLLBACK结束。其中:
令结束,即撤销该事务的影响; ② 另一个出口是以COMMIT(提交)命令结束,完成从帐
号A到帐号B的拨款。 ➢ 在COMMIT之前,即在数据库修改过程中,数据可能是
不一致的,事务本身也可能被撤销。 ➢ 只有在COMMIT之后,事务对数据库所产生的变化才对
其他事务开放,这就可以避免其他事务访问不一致或 不存在的数据。
BEGIN TRANSACTION:事务的开始标记。 COMMIT TRANSACTION:事务的结束标记。 ROLLBACK TRANSACTION:回滚。
12
READ A
A←A-R
IF A<0
/* A 款不足*/
THEN
BEGIN
DISPLAY “A款不足”
ROLLBACK
END
事务知识点总结
事务知识点总结在数据库系统中,事务是数据库管理系统中的一个重要概念,它是由一组数据库操作语句组成的逻辑执行单元。
事务能够确保数据库的一致性和完整性,同时能够提供数据库操作的隔离性和持久性。
在本文中,我们将系统地总结事务的相关知识点,包括事务的ACID 属性、事务的隔离级别以及事务的管理和应用。
一、事务的ACID属性在数据库中,事务具有四个ACID属性,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
这些属性保证了数据库操作的正确性和可靠性。
1. 原子性(Atomicity)原子性是指事务中包含的所有操作要么都成功执行,要么都不执行,没有中间状态。
当一个事务中的某个操作失败时,所有的操作都会被回滚,数据库恢复到事务执行前的状态。
2. 一致性(Consistency)一致性是指事务执行前后,数据库的完整性约束没有被破坏。
也就是说,事务执行后,数据库所处的状态必须满足事务所描述的一致性约束。
3. 隔离性(Isolation)隔离性是指多个事务之间的操作相互隔离,互不干扰。
在并发环境下,事务之间应该相互独立,各自执行各自的操作,避免相互干扰。
4. 持久性(Durability)持久性是指事务一旦提交,其改变就会永久保存在数据库中,即使系统发生故障也不会丢失。
这个属性保证了数据库的持久性。
二、事务的隔离级别在数据库中,事务的隔离级别指的是多个事务之间的隔离程度。
不同的隔离级别会导致不同的并发控制效果,通常有四种隔离级别,分别是读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。
1. 读未提交(Read Uncommitted)在读未提交的隔离级别下,一个事务可以看到另一个未提交事务的修改,这可能会导致脏读、不可重复读和幻读等并发问题。
事务面试知识点
事务面试知识点1. 什么是事务?事务是数据库操作的一个执行单元,它是由一系列的操作组成的逻辑工作单元,该工作单元中的所有操作要么都被执行,要么都不被执行。
事务具有以下四个特性(ACID特性):原子性、一致性、隔离性和持久性。
•原子性:事务中的所有操作要么全部成功执行,要么全部回滚,不允许部分成功部分回滚。
•一致性:事务执行前后,数据库的完整性约束没有被破坏。
•隔离性:并发执行的事务之间是相互隔离的,一个事务的执行不受其他事务的干扰。
•持久性:事务一旦提交,它对数据库的改变就是永久性的。
2. 事务的隔离级别事务的隔离级别用来控制并发执行事务时的数据可见性和影响范围。
常见的事务隔离级别包括:•读未提交(Read Uncommitted):事务中的修改即使没有提交,对其他事务也是可见的。
•读已提交(Read Committed):事务中的修改只有在提交之后才对其他事务可见。
•可重复读(Repeatable Read):保证在同一事务内多次读取同一数据时,数据始终保持一致。
•串行化(Serializable):最高级别的隔离级别,强制事务串行执行,可以避免脏读、不可重复读和幻读。
3. 事务的并发控制事务并发执行时可能会出现一些问题,如脏读、不可重复读和幻读。
为了保证数据的一致性,需要进行并发控制。
•锁机制:使用锁来控制对数据的访问,包括共享锁和排他锁。
•MVCC(多版本并发控制):为每个事务分配一个唯一的时间戳,事务只能读取在其开始之前提交的数据,从而避免了脏读、不可重复读和幻读。
4. 事务的管理事务的管理包括事务的开始、提交和回滚。
•事务的开始:使用BEGIN或START TRANSACTION语句来开始一个新的事务。
•事务的提交:使用COMMIT语句来提交一个事务,将事务中的操作永久保存到数据库中。
•事务的回滚:使用ROLLBACK语句来回滚一个事务,将事务中的操作全部撤销。
5. 事务的应用场景事务常用于需要保证数据的一致性和完整性的场景,例如银行转账、订单处理、库存管理等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总体要点:
一事务执行原理
事务作为一个整体提交,在提交之前,所有的操作数据被临时存放起来,并没有保存到数据库中。
任何一个操作错误,数据将回退(RollBack)到事务开始时的状态,临时更改被全部取消。
事务提交后,数据更新才被实际保存到数据库。
关键点:如何捕捉到错误
二事务语法:
BEGIN TRAN [事务名]
操作1
if 错误ROL LBACK
操作2
if 错误ROLLBACK
……
COMMIT TRAN [事务名]
只要没有执行到Commit Tran语句,所有的数据更新都不会实际保存到数据库中。
三事务的ACID属性
●原子性(Atomicity)——事务中的操作要么全成功,要么全回退。
●一致性(Consistency)——事务执行前后数据在逻辑上是一致的。
●隔离性(Isolation)——甲事务执行时,乙事务不能得到甲事务中间
的状态。
即事务串行化,乙事务得到的数据要么是甲事务执行前
的状态,要么是执行后的状态。
●持久性(Durability)——事务执行完后,对数据进行的更改将被保存。
四事务的类型
●显式事务用BEGIN TRAN开始事务,用COMMIT 提交事务,
用ROLLBACK回退事务。
●自动提交事务是数据库引擎的缺省模式,每个单独的语句在
完成后被提交,失败后被回滚。
●隐式事务在当前事务完成提交或回退后,新事务自动启动。
隐性事务不需要使用BEGIN TRAN 语句标识事务开始,但需要COMMIT或ROLLBACK语句来提交或回退事务。
练习:
1.并发操作可能带来的数据不一致性有( A)。
[单选题]
A、丢失修改、不可重复读、读脏数据
B、丢失修改、死锁、故障
C、丢失修改、不可重复读、冗余
D、故障、死锁、冗余
2.对于并发操作带来的数据不一致性,解决的办法是并发控制,主
要技术是( B)。
[单选题]
A、加密
B、封锁
C、转储
D、审计
3.用于提交和回滚事务的语句为(B )。
[单选题]
A、END TRANSACTION 和 ROLLBACK TRANSACTION
B、COMMIT TRANSACTION 和 ROLLBACK TRANSACTION
C、SAVE TRANSACTION 和 ROLLUP TRANSACTION
D、COMMIT TRANSACTION 和 ROLLUP TRANSACTION
4.在数据库事务的四种隔离级别中,不能避免脏读的是(D )。
A. Serializable
B. Repeatable read
C. Read committed
D. Read uncommitted
5.为了防止一个事务的执行影响其他事务,应该采取( C )。
A.索引机制
B.故障恢复
C.并发控制
D.完整性约束
6.解决并发操作带来的数据不一致性一般采用( A )。
A.封锁
B.恢复
C.授权
D.协商
7.通过使用 COMMIT 和和 ROLLBACK 语句可以结束事务。
以下说法
正确的是( C )。
A.某事务执行了 ROLLBACK 语句,表示事务正确地执行完毕
B.某事务执行了 ROLLBACK 语句,可将其对数据库的更新写入数据库
C.某事务执行了 ROLLBACK 语句,可将其对数据库的更新撤消
D.某事务执行了 COMIMIIT 语句,其影响可用 ROLLBACK 语句来撤销
8.数据库的并发操作可能带来的问题包括( C )。
A.增强数据独立性
B.非授权访问
C.丢失修改
D.增加数据冗余度
9.如果有两个事务同时对数据库中同一数据进行操作,不会引起冲
突的是(D)。
A. 一个DELETE和一个SELECT
B.一个SELECT和一个DELETE
C. 两个UPDATE
D.两个SELECT
10.保证并发调度的可串行化,是为了确保事务的()。
A. 原子性和一致性
B. 原子性和持久性
C. 隔离性和持久性
D. 隔离性和一致性
11.在数据库系统中,死锁属于(B )
A 系统故障
B 事务故障 D 介质故障 D 程序故障
判断:
12. 如果某一事务成功,则在该事务中进行的所有数据修改均会提交,
成为数据库中的永久组成部分。
(对)
13. 事务是并发控制的基本单位。
(对)
14. 事务的操作可以分割单独执行。
(错)
15.事务的原子性是指事务中的每一个操作彼此是独立的。
(错)。