数据库第7章数据库系统的恢复和并发控制

合集下载

7_数据库恢复技术

7_数据库恢复技术

18
活锁和死锁
19
封锁技术可以有效地解决并行操作的一致性问题,但也 带来一些新的问题:可能引起活锁和死锁。 活锁:
在多个事务请求对同一 数据封锁时,总是使某 一用户事务等待的情况 称为活锁。
避免活锁的法:
采用先来先服务的策略。
死锁
死锁:多事务交错等待的僵持局面。 产生死锁的原因: T1 T2
20
事务的概念 事务(Transaction):
事务是用户定义的一个数据库操作序列,这 些操作作为一个不可分割的工作单元,要么 全做,要么全不做。 数据库恢复和并发控制的基本单位 数据库系统中通常有多个事务并行运行
3
事务和程序是两个概念
在关系数据库中,一个事务可以是一条SQL语 句,一组SQL语句或整个程序 一个应用程序通常包含多个事务
事务管理的内容
引起事务不完全的三个故障原因:
由于出现异常,中途中止或不成功退出; 可能因电源等故障,系统崩溃; 遇到如不能访盘等异常状态而中止。
8
ACID准则的保证:
不仅在系统正常如此,在系统故障时也应如此;在单 个事务执行时如此,在事务并发执行时也应如此。
故障恢复:
保证事务在故障时满足ACID准则的技术;
三类不一致性(2/2)
事务T1无法再现前一次读取结果。
12
不可重复读:指事务T1读取数据后,事务T2执行更新操作,使
三类不可重复读
T1读取某一数据后: 1. T2对其做了修改,当T1再次读 该数据时,得到与前一次不同 的值; 2. T2删除了其中部分记录,当T1 再次读取数据时,发现某些记 录神密地消失了; 3. T2插入了一些记录,当T1再次 按相同条件读取数据时,发现 多了一些记录。 后两种不可重复读有时也称为 幻影现象

数据库7.DB System

数据库7.DB System
READ(X, Y)的实现算法:
1. 2. 3. 确定包含数据项X的磁盘块的地址A; 如果地址为A的数据不在主存缓冲区中,则把A所在磁盘 块读入到主存缓冲区; 从主存缓冲区中找到数据项X,存入程序变量Y。
12
事务模型
任何事务都使用READ和WRITE操作存取数据库
WRITE(Y, X)的实现算法:
• T1:
READ(A); tmp := A×0.1; A := A-tmp; WRITE(A); READ(B); B := B+tmp; WRITE(B)
19
事务调度与可串行性
设帐号A和帐号B目前的存款分别是1000元和2000元。 调度1:
• A和B的最终值分 别是855和2145元, A+B在两个事务 执行结束时仍然 是1000+2000。
30
事务调度与可串行性
显然,只有当Ii和Ij都是READ操作时,它们的顺序才 无关紧要。 Ii和Ij冲突,如果它们是不同事务在同一数据项上的操 作,并且至少有一个操作是WRITE。
31
事务调度与可串行性
等价
32
事务调度与可串行性
等价
33
事务调度与可串行性
定义2 如果一个调度S能通过一系列非冲突操作的执行 顺序的交换变换成调度S1, 则称S和S1冲突等价。 定义3 称调度S是冲突可串行的,如果它冲突等价于一 个串行调度。
1. 2. 3. 4. 确定包含数据项X的磁盘块的地址A; 如果地址为A的磁盘块不在主存缓冲区中,则把A磁盘块 读入主存缓冲区; 把程序变量Y的值存入A磁盘块所在主存缓冲区; 立即或以后把包含A磁盘块的缓冲区写到磁盘存储器。
13
事务模型

数据库原理及应用第7章课后习题答案

数据库原理及应用第7章课后习题答案

习题71、试述事务的概念及事务的四个特性。

事务(Transaction)是用户定义的一个数据库操作序列,这些操作是一个完整的工作单元,一个事务内的所有语句被作为一个整体,这些操作要么全做,要么全不做。

事务是数据库环境的中的逻辑单元,相当于操作系统中的进程。

为了保证数据库中数据的正确性,一个事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability )。

这四个特性简称ACID 特性。

2、试述事务的状态及转换。

3、在数据库中为什么要并发控制并发控制能保证事务的哪些特性数据库的一个明显的特点是多个用户共享数据库资源,尤其是多用户可以同时存取相同的数据。

在这样的系统中,在同一时刻并发运行的事务数可达数百个。

若对事务的并发操作不加以控制,就会造成数据存、取的错误,破坏了数据的一致性和完整性。

并发控制可以防止数据不一致性出现。

4、并发操作可能会产生哪几类数据不一致用什么方法可以避免不一致性的情况并发操作带来的数据不一致性分为四种情况:丢失数修改、读“脏”数据、不可重复读和产生“幽灵”数据。

在数据库环境下,进行并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法。

商用的DBMS一般都采用封锁方法。

5、什么是封锁基本的封锁类型有哪些试述它们的含义。

封锁机制,即加锁(Locking),是一种并发控制机制,是用来调整对共享目标的并行存取的技术。

事务通过向封锁管理程序的系统组成部分发出请求而对事务加锁。

基本封锁类型有两种:共享锁(Share Locks,简记为S锁或读锁)和排它锁(Exclusive Locks,简记为X锁或写锁)。

6、如何用封锁机制保证数据的一致性在运用X锁和S锁对数据对象加锁时,还需要约定一些规则,这些规则为封锁协议或加锁协议(Locking Protocol)。

对封锁方式加不同的规则,就形成了各种不同级别的封锁协议。

第7章 数据库的安全与保护

第7章 数据库的安全与保护

7.1.3 SQL Server的安全性控制
7.1.3.2设置身份验证模式 具体的过程如下:
在SQL Server Management Studio的【对象资源管 理器】中,右键单击服务器,在弹出的快捷菜单中 单击【属性】。 在“安全性“页上的“服务器身份验证”下,选择 新的服务器身份验证模式,再单击【确定】。 重新启动 SQL Server,使设置生效。
7.2.4 SQL Server的完整性控制
SQL Server 2008中数据完整性可分为四 种类型:
实体完整性 域完整性 引用完整性 用户定义完整性
1.实体完整性 实体完整性相关的约束如下:
PRIMARY KEY约束 UNIQUE 约束 IDENTITY属性
2.域完整性
域完整性是指给定列的输入正确性与有效性。SQL Server 2008中强制域有效性的方法有:
7.4.2 数据库恢复的基本原理 及其实现技术
3.登记日志文件(Logging) (1)以记录为单位的日志文件 (2)以数据块为单位的日志文件
7.4.2 数据库恢复的基本原理 及其实现技术
4.日志文件的作用
(1)事务故障恢复和系统故障恢复必须用日志文 件。 (2)在动态转储方式中必须建立日志文件,后备 副本和日志文件综合起来才能有效地恢复数据库。 (3)在静态转储方式中,也可以建立日志文件。 当数据库毁坏后可重新装入后援副本把数据库恢复 到转储结束时刻的正确状态,然后利用日志文件, 把已完成的事务进行重做处理,对故障发生时尚未 完成的事务进行撤销处理。
7.2.2 完整性约束条件
六类完整型约束条件分别为:
静态列级约束。 静态元组约束。 静态关系约束。 动态列级约束。 动态元组约束。 动态关系约束。

数据库并发控制的常见问题与解决方案

数据库并发控制的常见问题与解决方案

数据库并发控制的常见问题与解决方案数据库并发控制是数据库管理系统中一个重要的概念,它是指多个用户同时对数据库进行读取或写入操作时,保持数据一致性的技术手段。

在数据库系统中,可能会出现各种各样的并发控制问题,这些问题可能会导致数据异常或者系统性能下降。

本文将介绍数据库并发控制中常见的问题,并提供解决方案。

一、丢失更新问题丢失更新问题是指多个用户同时对同一数据进行写入操作时,可能会出现数据被意外地覆盖的情况。

这种问题通常发生在读-修改-写的操作之间,如果并发处理过程中没有适当的并发控制机制,多个写操作会互相覆盖,导致部分操作无法生效。

解决方案之一是使用事务来实现并发控制。

事务是一组数据库操作的逻辑单元,具有ACID特性。

通过使用事务,可以将一系列读操作和写操作包装在一起,以确保数据的一致性。

事务通过使用隔离级别,如读未提交、读提交和可重复读等,来解决丢失更新的问题。

二、脏读问题脏读问题是指一个事务读取了另一个事务尚未提交的数据。

当一个事务对数据进行更改时,另一个事务在读取这个数据之前将其更改给其他值,造成读取脏数据的情况。

为了解决脏读问题,可以采用对事务进行隔离的方式。

各种隔离级别,如读未提交、读提交、可重复读和串行化,提供了不同程度的并发控制和数据一致性。

通过设置适当的隔离级别,可以避免脏读问题。

三、不可重复读问题不可重复读问题是指在一个事务中多次读取同一数据时,得到的结果不一致。

导致这个问题的原因是在事务执行期间,另一个事务对数据进行了修改或删除。

为了解决不可重复读问题,可以采用使用锁、读提交或可重复读形式的隔离级别。

通过使用合适的隔离级别,可以保证在一个事务中多次读取同一数据时,得到的结果是一致的。

四、幻读问题幻读问题是指在同一个事务中多次查询同一表,得到结果集不一致的情况。

导致这个问题的原因是在事务期间,另一个事务插入了新的数据或删除了已存在的数据。

为了解决幻读问题,可以采用使用锁、可重复读或串行化隔离级别。

数据库的安全性、完整性、并发控制和恢复

数据库的安全性、完整性、并发控制和恢复

数据库的安全性、完好性、并发控制和恢复为了保证数据库数据的安全靠谱性和正确有效, DBMS 一定供给一致的数据保护功能。

数据保护也为数据控制,主要包含数据库的安全性、完好性、并发控制和恢复。

数据库的安全性数据库的安全性是指保护数据库以防备不合法的使用所造成的数据泄漏、改正或损坏。

计算机系统都有这个问题,在数据库系统中大批数据集中寄存,为很多用户共享,使安全问题更加突出。

在一般的计算机系统中,安全举措是一级一级设置的。

在 DB 储存这一级可采纳密码技术,当物理储存设施失窃后,它起到保密作用。

在数据库系统这一级中供给两种控制:用户表记和判定,数据存取控制。

在 ORACLE 多用户数据库系统中,安全体制作以下工作:防备非受权的数据库存取;防备非受权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。

数据库安全可分为二类:系统安全性和数据安全性。

系统安全性是指在系统级控制数据库的存取和使用的体制,包含:有效的用户名 /口令的组合;一个用户能否受权可连结数据库;用户对象可用的磁盘空间的数目;用户的资源限制;数据库审计是不是有效的;用户可履行哪些系统操作。

数据安全性是指在对象级控制数据库的存取和使用的体制,包含:哪些用户可存取一指定的模式对象及在对象上同意作哪些操作种类。

在 ORACLE 服务器上供给了一种随意存取控制,是一种鉴于特权限制信息存取的方法。

用户要存取一对象一定有相应的特权授给该用户。

已受权的用户可随意地可将它受权给其余用户,因为这个原由,这类安全性种类叫做随意型。

ORACLE 利用以下体制管理数据库安全性:数据库用户和模式;特权;角色;储存设置和空间份额;资源限制;审计。

数据库的存取控制ORACLE保护信息的方法采纳随意存取控制来控制所有用户对命名对象的存取。

用户对对象的存取受特权控制。

一种特权是存取一命名对象的同意,为一种规定格式。

ORACLE 使用多种不一样的体制管理数据库安全性,此中有两种体制:模式和用户。

《数据库系统概论》课后习题及参考答案

《数据库系统概论》课后习题及参考答案

课后作业习题《数据库系统概论》课程部分习题及参考答案第一章绪论(教材41页)1.试述数据、数据库、数据库系统、数据库管理系统的概念。

数据:描述事物的符号记录称为数据。

数据的种类有文字、图形、图象、声音、正文等等。

数据与其语义是不可分的。

数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

数据库系统:数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。

数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。

用于科学地组织和存储数据、高效地获取和维护数据。

DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。

2.使用数据库系统有什么好处?使用数据库系统的好处是由数据库管理系统的特点或优点决定的。

使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。

为什么有这些好处,可以结合第 5题来回答。

使用数据库系统可以大大提高应用开发的效率。

因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由 DBMS来完成。

此外,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。

数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。

从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。

使用数据库系统可以减轻数据库系统管理人员维护系统的负担。

因为 DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。

数据库习题库

数据库习题库

第1章绪论1.数据库数据具有__________、__________和__________三个基本特点。

答案:永久存储、有组织、可共享2.试述数据、数据库、数据库系统、数据库管理系统的概念。

3.使用数据库系统有什么好处?4.数据库管理系统是数据库系统的一个重要组成部分,它的功能包括__________、__________、__________、__________。

答案:数据定义功能、数据操纵功能、数据库的事物管理和运行管理、数据库的建立和维护功能5.数据库系统是指在计算机系统中引入数据库后的系统,一般由__________、__________、__________和__________构成。

答案:数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员6.试述文件系统与数据库系统的区别和联系。

7.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:__________阶段,__________阶段和__________阶段。

答案:人工管理、文件系统、数据库系统8.举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。

9.数据库具有数据结构化、最小的__________、较高的__________和易扩展性等特点。

答案:冗余度、数据独立性10试述数据库系统的特点。

11.DBMS还必须提供__________保护、__________检查、__________、__________等数据控制功能。

答案:数据的安全性数据的完整性并发控制数据库恢复12.数据库管理系统的主要功能有哪些?答案:①数据库定义功能;②数据存取功能;③数据库运行管理;④数据库的建立和维护功能。

13.模式(Schema)是数据库中全体数据的__________和__________的描述,它仅仅涉及到__________的描述,不涉及到具体的值。

答案:逻辑结构、特征、型14.试述数据模型的概念、数据模型的作用和数据模型的三个要素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

返回
11
造成了数据的丢失更新问题,导致数据的不一 致。 仍以上例中的操作为例进行分析。
在表7.1中,数据库中R的初值是1000,事务T1 包含 三 个 操 作 : 读 入 R 初 值 ( FIND R ) ; 计 算 ( R=R100);更新R(UPDATE R)。 事务T2也包含三个操作:FIND R;计算(R=R-200); UPDATE R。 如果事务T1 和T2 顺序执行,则更新后,R的值是700。 但如果T1 和T2 按照表7.1所示的并发执行,R的值是 800,得到错误的结果,原因在于在t7时刻丢失了T1 对数据库的更新操作。 因此,这个并发操作不正确。
可见事务的一致性与原子性是密切相关的。
返回
6
3.隔离性(Isolation) 如果多个事务并发地执行,应像各个事务独立 执行一样,一个事务的执行不能被其他事务干 扰。 即一个事务内部的操作及使用的数据对并发的 其他事务是隔离的。 并发控制就是为了保证事务间的隔离性。 4.持久性(Durability) 指一个事务一旦提交,它对数据库中数据的改 变就应该是持久的,即使数据库因故障而受到 破坏,DBMS也应该能够恢复。
10
结果两个事务共取走存款300元,而数据库中 的存款却只少了200元。 得到这种错误的结果是由甲乙两个事务并发操 作引起的,数据库的并发操作导致的数据库不 一致性主要有以下三种: 1.丢失更新(Lost Update) 当两个事务T1和T2读入同一数据做修改,并发 执行时, T2把T1或T1把T2的修改结果覆盖掉,
返回
21
时间 t0
事务T1 XLOCK R
数据库中R的值 1000
事务T2
t1
t2 t3 t4 t5 t6 t7 T8 t9
FIND R
返回
4
7.2ቤተ መጻሕፍቲ ባይዱ2
事务的特征
事务是由有限的数据库操作序列组成,但并不是任意 的数据库操作序列都能成为事务,为了保护数据的完 整性,一般要求事务具有以下四个特征: 1.原子性(Atomic) 一个事务是一个不可分割的工作单位,事务在执行时, 应该遵守“要么不做,要么全做”(nothing or all) 的原则,即不允许事务部分的完成。 即使因为故障而使事务未能完成,它执行的部分结果 要被取消。
19
1.一级封锁协议
一级封锁协议的内容是:事务T在修改数据对象之前必 须对其加X锁,直到事务结束。 具体地说,就是任何企图更新记录R的事务必须先执行 “XLOCK R”操作,以获得对该记录进行寻址的能力并对 它取得X封锁。 如果未获准“X 封锁”,那么这个事务进入等待状态, 一直到获准“X封锁”,该事务才继续做下去。 该事务规定事务在更新记录R时必须获得排它性封锁, 使得两个同时要求更新R的并行事务之一必须在一个事 务更新操作执行完成之后才能获得X封锁,这样就避免 了两个事务读到同一个R值而先后更新时所发生的丢失 更新问题。 返回
20
利用一级封锁协议可以解决表7.1中的数据丢失 更新问题,如表7.4所示。 事务T1先对R进行X封锁(XLOCK),事务T2执行 “XLOCK R”操作,未获准“X封锁”,则进入 等待状态,直到事务T1更新R值以后,解除X封 锁操作(UNLOCK X)。 此后事务T2再执行“XLOCK R”操作,获准“X 封锁”,并对R值进行更新(此时R已是事务T1 更新过的值,R=900)。 这样就能得出正确的结果。
返回
3
事务是数据库系统中执行的一个工作单位,它是由用 户定义的一组操作序列。 一个事务可以是一组SQL语句、一条SQL语句或整个程 序,一个应用程序可以包括多个事务。 事务的开始与结束可以由用户显式控制。如果用户没 有显式地定义事务,则由DBMS按照缺省规定自动划分 事务。在SQL语言中,定义事务的语句有三条:
2
因此,为了充分利用数据库资源,很多时候数 据库用户都是对数据库系统并行存取数据,这 样就会发生多个用户并发存取同一数据块的情 况,如果对并发操作不加控制可能会产生不正 确的数据,破坏数据的完整性,并发控制就是 解决这类问题,以保持数据库中数据的一致性。
7.2
事务(Transaction)
7.2.1 事务的定义 DBMS的并发控制是以事务为基本单位进行的。 那么到底什么是事务呢?
第7章数据库系统的恢复和并发控制
返回
1
7
7.1
并发控制与封锁
数据库并发性的含义
上一章讨论的完整性是保证各个事务本身能得到正确 的数据,只考虑一个用户使用数据库的情况,但实际 上数据库中有许多用户。 每个用户在存取数据库中的数据时,可能是串行执行, 即每个时刻只有一个用户程序运行,也可能是多个用 户并行地存取数据库。 数据库的最大特点之一就是数据资源是共享的,串行 执行意味着一个用户在运行程序时,其他用户程序必 须等到这个用户程序结束才能对数据库进行存取,这 样如果一个用户程序涉及大量数据的输入/输出交换, 则数据库系统的大部分时间将处于闲置状态。 返回
BEGIN TRANSACTION COMMIT ROLLBACK BEGIN TRANSACTION表示事务的开始; COMMIT表示事务的提交,即将事务中所有对数据库的更新写 回到磁盘上的物理数据库中去,此时事务正常结束; ROLLBACK表示事务的回滚,即在事务运行的过程中发生了某 种故障,事务不能继续执行,系统将事务中对数据库的所有 已完成的更新操作全部撤销,再回滚到事务开始时的状态。
返回
7
事务上述四个性质的英文术语的第一个字母为ACID。 因此,这四个性质以称为事务的ACID准则。 下面是一个事务的例子,从帐号A转移资金额R到帐号B:
BEGIN TRANSACTION READ A A←A-R IF A<0 /* A 款不足*/ THEN BEGIN DISPLAY “A款不足” ROLLBACK END
排它锁又称写锁,简称为X锁,其采用的原理是禁止并 发操作。 当事务T对某个数据对象R实现X封锁后,其他事务要等T 解除X封锁以后,才能对R进行封锁。这就保证了其他事 务在T释放R上的锁之前,不能再对R进行操作。
2.共享锁(Share Lock)
共享锁又称读锁,,简称为S锁,其采用的原理是允许其 他用户对同一数据对象进行查询,但不能对该数据对象 进行修改。 当事务T对某个数据对象R实现S封锁后,其他事务只能 对R加S锁,而不能加X锁,直到T释放R上的S锁。 这就保证了其他事务在T释放R上的S锁之前,只能读取R, 而不能再对R作任何修改。
时间 t0 t1 t2 t3 t4 t5 800 FIND R FIND R R=R-200 UPDATE R 事务T1 数据库中R的值 1000 事务T2
表7.3
不可重读问题 返回
16
产生上述三类数据不一致性的主要原因就是并发操作 破坏了事务的隔离性。 并发控制就是要求DBMS提供并发控制功能以正确的方 式高度并发事务,避免并发事务之间的相互干扰造成 数据的不一致性,保证数据库的完整性。
在COMMIT之前,即在数据库修改过程中,数据可能是 不一致的,事务本身也可能被撤销。 只有在COMMIT之后,事务对数据库所产生的变化才对 其他事务开放,这就可以避免其他事务访问不一致或不 存在的数据。
返回
9
7.3
并发操作与数据的不一致性
当同一数据库系统中有多个事务并发运行时,如果不加 以适当控制,可能产生数据的不一致性。 [例1]并发取款操作。假设存款余额R=1000元,甲事务T1 取走存款100元,乙事务T2取走存款200元,如果正常操 作,即甲事务T1执行完毕再执行乙事务T2,存款余额更 新后应该是700元。但是如果按照如下顺序操作,则会 有不同的结果: 甲事务T1读取存款余额R =1000元; 乙事务T2读取存款余额R =1000元; 甲事务T1 取走存款100元,修改存款余额R =R -100=900, 把R =900写回到数据库; 乙事务T2 取走存款200元,修改存款余额R =R -200=800, 把R =800写回到数据库。 返回
比如,这里事务T2在t2时刻读取的就是“脏数据”。
返回
14
时间 t0 t1 t2 t3 t4 t5
事务T1
数据库中R的值 1000
事务T2
FIND R R=R-100 UPDATE R 900 ROLLBACK FIND R
t6
1000
表7.2
污读问题
返回
15
3.不可重读(Unrepeatable Read) 事务T1 读取了数据R,事务T2 读取并更新了数据R,当 事务T1再读取数据R以进行核对时,得到的两次读取值 不一致,这种情况称为“不可重读”。 在表7.3中,在t0 时刻事务T1 读取R的值为1000,但事 务T2在t4时刻将R的值更新为为800。所以T1所使用的值 已经与开始读取的值不一致。
ELSE /* 拨款 */ BEGIN B←B+R DISPLAY “拨款完成” COMMIT END
返回
8
这是对一个简单事务的完整的描述。 该事务有两个出口:
当A 帐号的款项不足时,事务以ROLLBACK (撤销)命令结束,即撤销该事务的影响; 另一个出口是以COMMIT(提交)命令结束,完 成从帐号A到帐号B的拨款。
返回
18
7.4.2 封锁协议(Lock Protocol)
封锁可以保证合理的进行并发控制,保证数据的一致 性。 在封锁时,要考虑一定的封锁规则,例如,何时开始 封锁、封锁多长时间、何时释放等,这些封锁规则称为 封锁协议。 对封锁方式规定不同的规则,就形成了各种不同的封 锁协议。 封锁协议在不同程序上对正确控制并发操作提供了一 定的保证。 上面讲述过的并发操作所带来的丢失更新、污读和不 可重读等导致数据不一致性问题,可以通过三级封锁 协议在不同程度上给予解决,下面介绍三级封锁协议。 返回
相关文档
最新文档