第9章事务与并发控制 第10章数据库恢复
《数据库技术及应用》课程教学大纲精选全文

可编辑修改精选全文完整版《数据库技术及应用》课程教学大纲一、课程简介本课程是计算机类专业必修的专业课程。
关系数据库是当今数据库技术的主流,本课程以关系数据库为核心,全面概述了数据库系统的基本概念、基本原理和基本技术。
内容覆盖了数据管理技术的进展和特点、数据库系统的组成、数据库的三级模式结构、数据模型的组成和分类、关系模型、SQL语言(含数据库完整性的实现)、索引和视图、数据库安全性、事务的并发控制和恢复、规范化设计理论、ER模型和数据库设计等。
面对21世纪互联网应用所产生的海量数据和巨大点击量,关系型数据库技术显得有些力不从心,这助推了更注重大数据存储和高并发交互响应的NoSQL数据库技术的诞生。
本课程概要介绍NoSQL数据库技术的概念与特点、存储模式、基本操作和应用场景。
数据库技术是信息处理技术中的核心和关键技术,也是一切信息系统的基础。
本课程采用基本理论与实际应用相结合的原则,在注重理论性、系统性和科学性的同时,结合目前最流行的数据库管理系统(SQL Server 2014和MongoDB)对照讲述数据库的基本技术与应用。
通过Python数据处理技术的学习,训练运用数据库技术解决实际应用问题的知识、素质和能力,为后继课程的学习和今后的工作奠定重要基础。
二、课程目标1、掌握数据库技术的基本概念、原理、方法和技术;2、掌握SQL语言查询和编程的基本技术,具备SQL语言编程能力;3、掌握一个典型的RDBMS(如SQL Server)数据库安全性管理、事务并发控制以及数据库备份和恢复的基本技能;4、掌握关系数据库规范化设计理论和ER模型基本方法,具备独立思考设计数据库的能力;5、初步掌握使用Python语言连接SQL Server数据库的方法,培养学生应用数据库技术解决实际问题的思维方法与基本能力;6、初步掌握自主学习方法,能够阅读并理解数据库相关文献,不断拓展知识面,更新知识结构,从而了解数据库技术的最新发展。
【数据库系统原理与应用】数据库的事务处理与数据恢复.ppt

【数据库系统原理与应用】数据库的事务处理与数据恢复.ppt1、第6章数据库的事务处理与数据恢复6.1事务管理的基本概念6.2并发掌握6.3数据库恢复6.1事务管理的基本概念6.1.1事务〔Transaction〕的概念 6.1.2事务的状态 6.1.3事务的特性6.1.4SQLServer中的事务返回首页6.1.1事务〔Transaction〕的概念事务是用户定义的数据库操作序列,这些操作可作为一个完好的工作单元。
一个事务内的全部语句是一个整体,要么全部执行,要么全部不执行。
即事务是不行再分的原子性工作。
如在银行业务中,“从帐户A转移资金X到帐户B”就是一个典型2、的事务。
这个事务可以分解为两个动作:〔1〕从账户A减去金额X。
〔2〕在账户B中加上金额X。
返回本节6.1.2事务的状态事务的基本操作包括:〔1〕事务开始〔BEGIN_TRANSACTION〕。
事务开始执行。
〔2〕事务读写〔Read/Write〕。
事务进行数据操作。
〔3〕事务结束〔END_TRANSACTION〕。
事务完成全部的读/写操作。
〔4〕事务交付〔COMMIT_TRANSACTION〕。
事务完成全部的读/写操作,并保存操作结果。
返回本节6.1.3事务的特性事务所必需具有的重要特性包括:〔1〕3、原子性〔Atomicity〕。
〔2〕一致性〔Consistency〕。
〔3〕隔离性〔Isolation〕。
〔4〕长久性〔Durability〕。
上述的四个特性也简称为ACID特性,保证ACID特性是事务处理的重要任务。
事务的ACID特性可能遭到破坏的缘由有:1〕多个事务并行运行时,不同事务的操作交叉执行。
2〕事务在运行过程中被强迫停止。
返回本节6.1.4SQLServer中的事务SQLServer的事务分为两种类型:系统提供的事务和用户定义的事务。
系统提供的事务是指在执行某些语句时,一条语句就是一4、个事务,它的数据对象可能是一个或多个表〔视图〕,可能是表〔视图〕中的一行数据或多行数据;用户定义的事务以BEGINTRANSACTION语句开始,以COMMIT或ROLLBACK结束。
事务处理技术

事务的状态
1. 2. 3. 4. 5.
一个事务必须处于如下状态之一: 活动状态 部分提交状态 失败状态 异常结束状态 提交状态
我们可以在事务中执行如下的操作来实现事务 状态的转换: (1)BEGIN-TRANSACTION开始运行事务,使事务 进入活动状态 (2)END-TRANSACTION说明事务中的所有读写操 作都已完成,使事务进入部分提交状态,把事 务的所有操作对数据库的影响存入数据库 (3)COMMIT-TRANSACTION标志事务已经成功地 完成,事务进入提交状态,结束事务的运行
一个处于死锁状态的调度
T9:LOCK-X(B); READ(B); B:=B-50; WRITE(B); LOCK-X(A); T10: LOCK-S(A); READ(A); LOCK-S(B);
基于锁的并发控制协议
一个保证可串行性的方法是在互斥的方式下存 取数据项,即当一个事务存取一个数据项时, 不允许其他事务修改这个数据项
锁的概念
锁是数据项上的并发控制标志 (1)共享锁:如果事务T得到了数据项Q上的共 享锁,则T可以读这个数据项,但不能写这个 数据项。共享锁表示为S. (2)互斥锁:如果事务T得到了数据项Q上的互 斥锁,则T既可以读这个数据项,也可以写这 个数据项。互斥锁表示为X.
事务调度与可串行性
事务的调度 定义12.3.1:N个事务的一个调度S是N个事务 的所有操作的一个序列,表示这些操作的执行 顺序,并且满足对于N个事务中的每个事务T, 如果操作i在T中先于操作j执行,则在S中操作 i也必须先于操作j执行。 多个事务的调度保持每个事务的操作在该事务 中的顺序不变。但是,不同事务的操作可以交 叉执行。一个事务的所有操作都执行完后才执 行完后才执行另一个事务的所有操作。我们称 这样的调度为串行调度,表示事务的串行运行。 称其他类型的调度为并行调度。
数据库期末(xc)

第一章数据库系统概述1.几个概念:数据、数据库、数据库管理系统(DBMS)、DDL(数据库模式定义语言)、DML(数据操纵语言)、数据库系统(DBS).2. 数据库系统的三级模式结构由外模式、模式、内模式三级构成模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
内模式(存储模式):对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式翱物理结构,对应着实际存储在外存储介质上的数据库。
外模式(子模式或用户模式):是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述.3.数据库的二级映象功能与数据独立性数据库管理系统在三级模式之间提供了两层映象:外模式/模式映象(体验逻辑)、模式/内模式映象(体现物理)这两层映象保证了数据库系统中数据的逻辑独立性和数据的物理独立性.4.构成数据模型的三要素:数据结构、数据操作和数据完整性约束。
5.数据模型的分类:第一类是概念模型,第二类是逻辑模型和物理模型。
概念模型按用户的观点来对数据和信息建模,主要用于数据库设计。
逻辑模型按计算机系统的观点对数据建模,主要用于DBMS的实现。
信息世界涉及的概念主要有:实体、属性、码、域、实体型、实体集、联系。
概念模型的表示方法:实体-联系表示法,即E-R模型(E-R图)。
第二章关系数据库1.几个概念:什么是码、候选码?什么是主码、外码、主属性、全码?码:唯一标识实体的属性集称为码。
候选码:若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码。
主属性:候选码的诸属性称为主属性。
全码:关系模式的所有属性是这个关系模式的候选码,称为全码。
外部码(外码):设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。
若F与Ks相对应,则称F是R 的外码。
并称R为参照关系,F为被参照关系。
数据库系统概论第五版课后答案第十章

数据库系统概论第五版课后答案第十章
1。
在数据库中为什么要并发控制?
答:数据库就是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取与,或修改同一数据得情况。
若对并发操作不加控制就可能会存取与存储不正确得数据,破坏数据库得一致性。
所以数据库管理系统必须提供并发控制机制.
2.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致得情况?
答:并发操作带来得数据不一致性包括三类:丢失修改、不可重复读与读“脏’夕数据。
( l)丢失修改(]ostupdate)两个事务Tl与T2读入同一数据并修改,T2提交得结果破坏了(覆盖了)提交得结果,导致l得修改被丢失。
(2)不可重复读(No n- RepeatableRead) 不可重复读就是指事务l读取数据后,事务几执行更新操作,使Tl 无法再现前一次读取结果。
( 3)读“脏”数据( D irtyRead)读“脏’夕数据就是指事务Tl修改某一数据,并将其写回磁盘,事务几读取同一数据后,Tl由于某种原因被撤销,这时Tl己修改过得数据恢复原值,几读到得数据就与数据库中得数据不一致,则几读到得数据就为“脏”数据,即不正确得数据。
避免不一致性得方法与技术就就是并发控制。
最常用得技术就是封锁技术。
也可以用其她技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制.。
数据库的安全性、完整性、并发控制和恢复

数据库的安全性、完好性、并发控制和恢复为了保证数据库数据的安全靠谱性和正确有效, DBMS 一定供给一致的数据保护功能。
数据保护也为数据控制,主要包含数据库的安全性、完好性、并发控制和恢复。
数据库的安全性数据库的安全性是指保护数据库以防备不合法的使用所造成的数据泄漏、改正或损坏。
计算机系统都有这个问题,在数据库系统中大批数据集中寄存,为很多用户共享,使安全问题更加突出。
在一般的计算机系统中,安全举措是一级一级设置的。
在 DB 储存这一级可采纳密码技术,当物理储存设施失窃后,它起到保密作用。
在数据库系统这一级中供给两种控制:用户表记和判定,数据存取控制。
在 ORACLE 多用户数据库系统中,安全体制作以下工作:防备非受权的数据库存取;防备非受权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。
数据库安全可分为二类:系统安全性和数据安全性。
系统安全性是指在系统级控制数据库的存取和使用的体制,包含:有效的用户名 /口令的组合;一个用户能否受权可连结数据库;用户对象可用的磁盘空间的数目;用户的资源限制;数据库审计是不是有效的;用户可履行哪些系统操作。
数据安全性是指在对象级控制数据库的存取和使用的体制,包含:哪些用户可存取一指定的模式对象及在对象上同意作哪些操作种类。
在 ORACLE 服务器上供给了一种随意存取控制,是一种鉴于特权限制信息存取的方法。
用户要存取一对象一定有相应的特权授给该用户。
已受权的用户可随意地可将它受权给其余用户,因为这个原由,这类安全性种类叫做随意型。
ORACLE 利用以下体制管理数据库安全性:数据库用户和模式;特权;角色;储存设置和空间份额;资源限制;审计。
数据库的存取控制ORACLE保护信息的方法采纳随意存取控制来控制所有用户对命名对象的存取。
用户对对象的存取受特权控制。
一种特权是存取一命名对象的同意,为一种规定格式。
ORACLE 使用多种不一样的体制管理数据库安全性,此中有两种体制:模式和用户。
《MySQL数据库原理、设计与应用》第9章课后习题答案

第九章一、填空题1.数据库2.原子3.START TRANSACTION4.AUTOCOMMIT5.READ UNCOMMITTED二、判断题对1.对2.对3.错4.对5.对三、选择题1. C2.B、C、D3. B4. B5. D四、简单题1.请简述什么是事务。
答:在MySQL中,事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,且每个SQL语句是相互依赖的。
只要在程序执行过程中有一条SQL语句执行失败或发生错误,则其他语句都不会执行。
也就是说,事务的执行要么成功,要么就返回到事务开始前的状态,这就保证了同一事务操作的同步性和数据的完整性。
2.请简述什么是事务的ACID特性。
答:①原子性是指一个事务必须被视为一个不可分割的最小工作单元。
②一致性是指在事务处理时,无论执行成功还是失败,都要保证数据库系统处于一致的状态,保证数据库系统从不返回到一个未处理的事务中。
③隔离性是指当一个事务在执行时,不会受到其他事务的影响。
④持久性是指事务一旦提交,其对数据库的修改就是永久性的。
五、实训题1.请利用事务实现在用户下订单时,检查商品库存是否充足。
START TRANSACTION;1# 查询id为1的商品的库存SELECT stock FROM sh_goods WHERE id = 1;# 根据结果回滚或提交COMMIT;2.请利用事务在用户下订单前,检测当前用户是否已被激活,若未激活,则需激活此用户后,才能再次下订单。
START TRANSACTION;# 查询id为1的用户是否激活SELECT is_active FROM sh_user WHERE id = 1;# 根据结果回滚或提交COMMIT;2。
(完整word版)课后习题

第11章并发控制为保障事务的隔离性和一致性,DBMS需要对并发操作进行正确的调度。
可串行化调度:多个事务并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,称这种调度策略为可串行化的1.在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
数据库管理系统必须提供并发控制机制。
2.并发操作会产生哪几类数据不一致?用什么方法能避免答:(1)并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。
(2)避免方法和技术就是并发控制。
最常用技术是封锁技术。
或者时间戳和乐观控制法。
9 .设Tl ,几,几是如下的 3 个事务:Tl :A : = A + 2 ; T2:A : = A * 2 ; T3:A : = A **2 ; ( A <-A*A)设A 的初值为0 。
( l )若这3 个事务允许并行执行有多少可能的正确结果,请一一列举出来。
答:A 的最终结果可能有2 、4 、8 、16 。
因为串行执行次序有Tl T2T3、Tl T3T2、T2T1T3、T2T3Tl 、T3T1T2、T3T2 Tl 。
对应的执行结果是16 、8 ·4 ·2 ·4 ·2 。
( 2 )请给出一个可串行化的调度,并给出执行结果最后结果A 为16 ,是可串行化的调度。
( 3 )请给出一个非串行化的调度,并给出执行结果。
答:最后结果A 为0 ,为非串行化的调度。
( 4 )若这3 个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。
( 5 )若这3 个事务都遵守两段锁协议,请给出一个产生死锁的调度。
第10章数据库恢复技术1.试述事务的概念及事务的4 个特性。
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如:事务T1读取某表中数据A=20,并修改A=A-1,
写回数据库,事务T2读取A=19,事务T1回滚(取消)了前面 的操作,事务T2也修改A=A-2;最终结果A=17, 事务T2读
取的就是“脏数据”。
9.2 并发控制
(3)不可重复读:指在一个事务内,多次读同一数据。 在这个事务还没有结束时,另外一个事务也访问该数据。 那么,在第一个事务两次读数据之间,由于第二个事务的 修改,那么第一个事务两次读到的数据可能是不一样的。 例如:事务T1读取某表中数据A=20,事务T2读取 A=20A=18。
(2)二级封锁协议:在一级封锁协议加上对事务T对要读 取的数据加S锁,读完后即释放S锁。 除了可以防止丢失修改外,还可以防止读“脏”数据 (因为修改事务已加了X锁,且有了S锁)。但不能保证可重复读数 据(因为在一个事务中只是读的当时有S锁)。
9.3 封锁
2. 封锁协议(Locking Protocel)
①反向扫描文件日志(即从最后向前扫描日志文件),查找该 事务的更新操作。 ②对该事务的更新操作执行逆操作,即将日志记录中的“更新 前的值”写入数据库。这时,如果记录中是插入操作,则相当于 做删除操作;如果记录中是删除操作,则相当于做插入操作;如 果记录中是修改操作,则用修改前的值代替修改后的值。 ③继续反向扫描日志文件,查找该事务的更新操作,并做同样 处理。 ④如此处理下去,直到读到该事务的开始标志。
9.3 封锁
2. 封锁协议(Locking Protocel)
在运用X锁和S锁对数据对象进行加锁时,还需要约定
一些规则,如,何时申请X锁或S锁、持锁时间、何时释放
锁等。称这些规则为封锁协议或加锁协议。 对封锁方式规定不同的规则,就形成了各种不同级别
的封锁协议。不同级别的封锁协议达到的系统一致性级别
保证事务的原子性,即确保一个事务被交
付运行后,要么该事务中的所有数据库操 作都被成功地完成,而且这些操作的结果 被永久地存储到数据库中,要么这个事务 对数据库没有任何影响。 当系统发生故障以后,数据库能够恢复到 正确状态。
第10章 数据库恢复技术
1. 故障的种类:
(1)事务故障 事务故障表示非预期的、不正常的程序结束所造成的故 障。如:输入数据错误,死锁,运算溢出,违反完整性规则 等。 (2)系统故障
(3)介质故障 介质故障指外存故障,如磁盘损坏,磁头碰撞,瞬时 强磁场干扰等。这类故障将破坏全部或部分数据库,并影 响正在存取这部分数据的所有事务。 此外,还有一些其他因素导致破坏数据库。例如:计算 机病毒和恶意攻击也可能导致数据库中的全部或部分数据 破坏。
第10章 数据库恢复技术
2. 数据库恢复的实现技术
(4)持久性(Durability) :在事务完成提交之后,就 对系统产生持久的影响,即事务的操作将写入数据库中, 无论发生何种机器和系统故障都不应该对其有任何影响。 例如,自动柜员机(ATM)在向客户支付一笔钱时,就不 用担心丢失客户的取款记录。事务的持久性保证事务对数 据库的影响是持久的,即使系统崩溃。
第10章
数据库的恢复技术
本章主要内容
1. 数据库恢复的基本概念
2. 故障的种类
3. 故障的恢复技术
4. 故障的恢复策略
本章学习要求
了解数据库恢复的基本概念,故障的种类以及 故障的恢复技术和策略。
第10章 数据库恢复技术
虽然数据库系统中采用了各种措施来保证系统
安全性和完整性,但计算机系统的故障是不可避免
(1)原子性(Atomicity) :指事务是数据库的逻辑工作 单位,事务中的操作要么都做,要么都不做。这一性质即 使在系统崩溃之后仍能得到保证。 (2)一致性(Consistency) :指事务执行的结果必须是 使数据库从一个一致性状态变到另一个一致性状态。
9.1 事务
(3)隔离性(Isolation) :也称为独立性,是指一个事 务的修改必须与其他并行事务的修改相互独立。隔离性意 味着一个事务的执行不能被其他事务干扰。即一个事务内 部的操作及使用的数据对并发的其他事务是隔离的。
第10章 数据库恢复技术
2. 数据库恢复的实现技术
(1)数据转储 转储的方式: 海量转储 海量转储指每次转储全部数据库。 增量转储 增量转储指每次只转储上一次转储后更新过的 数据。 使用海量转储得到的副本恢复方便。但如果数据库很 大,使用增量转储更实用,有效。增量副本恢复时,需要 使用最后一次的完整副本相配合才能将数据库恢复到一致 状态。
例如:对于一个转帐活动:A账户转帐给B账户n元钱,这个 活动包含两个动作: 第一个动作:A账户 - n 第二个动作:B账户 + n 这两个动作要么全部执行,要么全部不执行。
在关系数据库中,一个事务可以是一条SQL语句、一 组SQL语句或整个程序。
9.1 事务
1.事务的特征:(ACID性质)
的,这些故障轻则造成运行事务的非正常中断,影
响数据库中数据的正确性,重则破坏数据库,使数 据库中的全部或部分数据丢失,因此数据库管理系 统必须具有把数据库从错误状态恢复到某一已知正 确状态的功能,这就是数据库的恢复。数据库恢复
是通过数据库管理系统的恢复子系统完成的。
第10章 数据库恢复技术
数据库恢复子系统的目的包括:
第10章 数据库恢复技术
2. 数据库恢复的实现技术
(2)登记日志文件 为保证数据库是可恢复的,登记日志文件时必须遵循两 条原则:
登记的次序严格按并发事务执行的时间顺序。 必须先写日志文件,后写数据库。
WHY
第10章 数据库恢复技术
3. 故障恢复策略
(1)事务故障的恢复
事务故障是指事务在运行至正常终止点之前被终止。事务故 障的恢复是由系统自动完成的,其步骤是:
第10章 数据库恢复技术
2. 数据库恢复的实现技术
(2)登记日志文件 日志文件是用来记录事务对数据库的更新操作的文件。 日志文件主要有两种格式:以记录为单位的日志文件和以 数据块为单位的日志文件。 以记录为单位的日志文件记录的内容包括:
各个事务的开始标记
各个事务的结束标记 各个事务的所有更新操作
当数据库发生故障时,可以将后备副本重新装入,并 重新运行自转储以后的所有更新事务。
第10章 数据库恢复技术
2. 数据库恢复的实现技术
(1)数据转储 转储可以分为: 静态转储:静态转储是在系统中无事务运行时进行 的转储操作。即转储开始时数据库处于一致状态, 转储过程中,不允许对数据库的任何存取、更新活 动。由于转储必须等待正在运行的事务结束才能开 始,而新的事务必须等待转储结束才能执行,降低 了数据库的可用性。 动态转储:动态转储是指转储期间允许对数据库进 行存取或修改,即转储和用户事务可以并发执行。 动态转储克服了静态转储的缺点,但除了转储数据 库的数据以外,还必须把转储期间各事务对数据库 的修改记录下来,这样才能保证把数据库恢复到某 一时刻的一致状态。
9.1 事务
2. 事务处理的T-SQL语句包括:
(1)定义一个事务的开始:BEGIN TRANSACTTCN ; (2)提交一个事务:COMMIT TRANSACTION;
(3)回滚事务:ROLLBACK TRANSACTION;
(4)在事务内设臵保存点:SAVE TRANSACTION
9.2 并发控制
第9章
事务与并发控制
本章主要内容
9.1 事务 9.2 并发控制
9.3 封锁
本章学习要求
了解 事物、并发控制、封锁的相关概 念、特征、类型。
9.1 事务
事务(Transaction)是用户定义的数据操作序列,这 些操作是一个完整的工作单元。一个事务内的所有语句被 作为一个整体,要么全部执行,要么全部不执行。
数据库是一个共享资源,允许多个用户同时使用。例 如:火车售票需要多个售票窗口,就会导致多个事务同时 访问数据库。此时就会产生事务的并发执行。 并发控制是指当事物存在并发执行时,用于保护数据 库完整性的各种技术,目的是保证一个用户的工作不会对
另一个用户的工作产生影响。
锁是实现并发控制的主要方法,是多个用户能够同时 操纵数据而不发生数据不一致现象的保障。
不同。
9.3 封锁
2. 封锁协议(Locking Protocel)
(1)一级封锁协议:对事务T要修改的数据加X锁,直到 事务结束(包括正常结束和非正常结束)时才释放。 一级封锁协议可以防止丢失修改,并保证事务T是可恢 复的 。但不能保证可重复读和不读“脏”数据。(因为如果
一事务仅是读数据不需要加锁,有可能存在其他操作。)
是指造成系统停止运行的任何事情,使得系统要重新启 动。如硬件错误,操作系统故障,停电等。这类故障影响正 在运行的所有事务,所有事务都非正常终止,但不会破坏数 据库。恢复子系统必须清除所有未完成的事务对数据库的修 改,同时重做所有已完成的事务,保证数据库的一致性。
第10章 数据库恢复技术
1. 故障的种类:
9.3 封锁
封锁是防止事务访问指定资源、实现并发控制的一种
手段。是多个用户同时操纵同一个数据库中的数据而不发
生数据不一致现象的保障。
1. 封锁的基本类型
①共享锁(Shared Lock,S锁) :又称读锁。若事务T对数 据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只 能再对A加上S锁,而不能加X锁,直到T释放A上的S锁。这就保 证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任 何修改。 ②排它锁(Exclusive Lock,X锁):又称写锁。若事务T对 数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都 不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了 其他事务在T释放A上的锁之前不能再读取和修改A。
关。在实际应用中,选择封锁粒度时要对这两个因素进行
权衡,求得最优的效果。