【数据库系统原理与应用】数据库的事务处理与数据恢复.ppt
- 格式:docx
- 大小:20.26 KB
- 文档页数:9
可编辑修改精选全文完整版《数据库技术及应用》课程教学大纲一、课程简介本课程是计算机类专业必修的专业课程。
关系数据库是当今数据库技术的主流,本课程以关系数据库为核心,全面概述了数据库系统的基本概念、基本原理和基本技术。
内容覆盖了数据管理技术的进展和特点、数据库系统的组成、数据库的三级模式结构、数据模型的组成和分类、关系模型、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、初步掌握自主学习方法,能够阅读并理解数据库相关文献,不断拓展知识面,更新知识结构,从而了解数据库技术的最新发展。
数据库原理与应用第二版课后答案【篇一:数据库系统教程习题答案(施伯乐)(第2版)_数据库原理及应用】txt>第1章数据库概论1.1 基本内容分析1.1.1 本章的重要概念(1)db、dbms和dbs的定义(2)数据管理技术的发展阶段人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点。
(3)数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(1:1,1:n,m:n)。
(4)数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,er模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。
(5)db的体系结构三级结构,两级映像,两级数据独立性,体系结构各个层次中记录的联系。
(6)dbmsdbms的工作模式、主要功能和模块组成。
(7)dbsdbs的组成,dba,dbs的全局结构,dbs结构的分类。
1.1.2本章的重点篇幅(1)教材p23的图1.24(四种逻辑数据模型的比较)。
(2)教材p25的图1.27(db的体系结构)。
(3)教材p28的图1.29(dbms的工作模式)。
(4)教材p33的图1.31(dbs的全局结构)。
1.2 教材中习题1的解答1.1 名词解释1.2 试解释db、dbms和dbs三个概念。
答:db是长期存储在计算机内、有组织的、统一管理的相关数据的集合。
dbms是位于用户与os之间的一层数据管理软件,它为用户或应用程序提供访问db的方法。
dbs是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即采用数据库技术的计算机系统。
1.3 人工管理阶段和文件系统阶段的数据管理各有哪些特点?答:人工管理阶段主要有四个特点:数据不保存在计算机内;没有专用的软件对数据进行管理;只有程序的概念,没有文件的概念;数据面向程序。
文件系统阶段主要有五个特点:数据以“文件”形式长期保存;数据的逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据的操作以记录为单位。
数据库备份与恢复实验报告摘要:本实验报告主要介绍了数据库备份与恢复的实验过程和实验结果。
通过使用MySQL数据库和相关工具,我们分别进行了数据库的完全备份、增量备份和差异备份,并进行了相关的恢复实验。
实验结果表明,备份和恢复的方法可以有效地保护数据库的完整性和可用性。
1. 引言数据库备份与恢复是数据库管理中非常重要的一个环节。
在现代信息系统中,数据是最宝贵的资源之一,因此必须采取适当的措施来保护数据,以防止数据丢失或损坏。
本实验旨在探究数据库备份与恢复的原理和方法,以及应用备份和恢复工具的步骤和技巧。
2. 实验环境本实验使用了以下工具和环境:- MySQL数据库:作为实验对象,用于存储和管理数据;- MySQL Workbench:用于管理和操作数据库的图形化工具;- mysqldump命令:用于备份数据库;- MySQL的数据恢复命令:用于恢复数据库。
3. 实验步骤3.1 数据库完全备份实验完全备份是指将整个数据库的所有数据和表结构都备份到一个文件中。
以下是实验步骤:步骤1:打开MySQL Workbench,并连接到相应的数据库服务器。
步骤2:选择需要备份的数据库,并右键点击,选择“导出数据”。
步骤3:选择导出文件的路径和格式,确认设置后开始导出。
步骤4:等待导出过程完成,并校验备份文件是否完整。
3.2 数据库增量备份实验增量备份是指只备份自上次完全备份以来发生变化的数据和事务日志。
以下是实验步骤:步骤1:打开MySQL Workbench,并连接到相应的数据库服务器。
步骤2:使用mysqldump命令备份数据库,并指定备份文件的名称。
步骤3:确认备份文件的完整性,并记录备份结束时间。
步骤4:模拟数据库变化,例如插入、更新和删除操作。
步骤5:再次使用mysqldump命令备份数据库,并指定增量备份文件的名称。
步骤6:确认增量备份文件的完整性,并记录备份结束时间。
3.3 数据库差异备份实验差异备份是指备份自上次完全备份以来发生变化的数据和表结构。
《数据库原理》第一章、绪论1.四个基本概念的掌握:数据——描述事物的符号记录数据库——长期存储在计算机内的有组织,可共享的数据集合。
例如:SQLServer2000中默认的数据库master。
DBMS——位于用户与操作系统之间的一层数据管理软件。
例如:SQLServer2000,Access,Orecal 等。
数据库系统——数据库、DBMS、应用程序等有关软件、硬件及各类人员(数据库管理员和用户)。
例如:学生个人信息管理系统。
数据库系统的核心是数据库管理系统。
2.四者的关系,核心,理解P6图1.13.数据管理的三个阶段——人工管理、文件系统、数据库系统,了解每个阶段的特点4.数据库系统的特点——数据整体结构化;数据冗余度低,共享性高,易扩充;数据的物理独立性与逻辑独立性强(物理、逻辑独立性的概念,体现在那些地方);由DBMS统一管理控制的四个功能(P11四点)5.数据模型的组成要素——数据结构、数据操作、数据的完整性约束6.概念模型——实际上是现实世界到机器世界的一个中间层次(第一层抽象),表示方法——E-R图(能熟练掌握绘制方法)。
7.概念模型中的基本概念——实体、属性、码、域、实体型、实体集、联系(事物内部的联系、两个事物之间的联系【1:1,1:n,n:m】、多个事物之间的联系)P158.数据模型——层次、网状、关系(主流)9.关系模型中的概念——关系,元组,属性,码,域,分量,关系模式P2910.模式,外模式,内模式定义,有哪两种模式映像及其作用P31-P34书上习题回顾—— p.19-20 1.6.2和1.6.3(1、2题)第二章关系数据库1.关系模型的组成要素——关系数据结构(关系)、关系操作集合(选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改操作,特别是某些关系操作的表达式)、关系完整性约束(后面具体介绍)2.基本概念——笛卡尔积、关系候选码、主码、主属性、非码属性、全码3.基本关系的性质——P45六点4.关系的完整性:实体完整性——规定关系中的所有主属性不能为空,而不仅是整体不能为空NULL的含义(不知道或者无意义的值)。
数据库原理与应用主要术语和概念数据库(Database):存储和管理大量数据的数据集合,可以进行高效的数据访问和管理。
数据库管理系统(Database Management System,DBMS):用于管理数据库的软件系统,提供了对数据库的创建、修改、查询、删除等操作。
数据模型(Data Model):用于描述数据库中数据之间的关系和约束的概念工具。
主要有层次模型、网络模型、关系模型和面向对象模型等。
实体(Entity):在数据库中具有实际独立存在和具体特征的对象或事物,可以用来描述一个具体的人、物、事。
属性(Attribute):实体的其中一特征或性质,用于描述不同实体之间的差异。
属性可以分为简单属性和复合属性。
主键(Primary Key):用于唯一标识实体的一个或多个属性,能够确保实体的唯一性和完整性。
索引(Index):对数据库中一列或多列的值进行排序的数据结构,用于加快数据的检索速度。
范式(Normalization):一种数据模型设计方法,通过消除冗余数据和依赖关系,提高数据库的数据完整性和一致性。
第一范式(1NF):要求数据库表中的每一列都是基本不可再分的数据项。
第二范式(2NF):在1NF的基础上,要求非关键属性必须完全依赖于关键属性。
第三范式(3NF):在2NF的基础上,要求非关键属性不能存在传递依赖关系。
数据完整性(Data Integrity):保证数据的准确性和一致性的原则和约束。
事务(Transaction):数据库管理系统中的基本操作单位,具有原子性、一致性、隔离性和持久性等特性。
并发控制(Concurrency Control):保证多个用户并发访问数据库时不会产生数据不一致的机制。
ACID特性:指事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
数据库备份与恢复(Database Backup and Recovery):定期将数据库的数据和结构拷贝到外部存储介质以防止数据丢失,并在需要时将备份的数据恢复到数据库中。
计算机全部课程计算机科学与技术专业是一个包含广泛内容的领域,它涵盖了计算机硬件和软件、数据处理、数字通信、算法等多方面的知识。
在计算机科学与技术专业中,学生将学习各种计算机相关的课程,这些课程旨在培养学生的计算机编程能力、系统开发能力以及解决各种计算机相关问题的能力。
下面将为您详细介绍计算机科学与技术专业的全部课程。
一、计算机硬件相关课程1. 电路原理与实践电路原理与实践是一门基础性课程,主要介绍数字电路和模拟电路的原理和实验。
学生将学习数字电路和模拟电路的基本概念、常用电路元件的特性和使用方法,以及数字和模拟电路的设计和实现方法。
2. 计算机组成原理计算机组成原理是一门介绍计算机硬件组成和工作原理的课程。
学生将学习计算机的数据表示方法、指令系统、CPU结构和存储器层级结构等内容,以及计算机的输入输出系统和中断机制。
3. 操作系统原理操作系统原理是一门介绍计算机操作系统工作原理和设计思想的课程。
学生将学习操作系统的各个模块的功能和实现原理,如进程管理、内存管理、文件系统和设备管理等内容,以及操作系统的发展历程和常见操作系统的比较分析。
二、计算机网络相关课程1. 计算机网络原理计算机网络原理是一门介绍计算机网络的基本概念和原理的课程。
学生将学习计算机网络的体系结构、通信协议、网络硬件设备和网络安全等内容,以及互联网的组成和工作原理。
2. 数据通信原理数据通信原理是一门介绍数据在计算机网络中传输的原理和技术的课程。
学生将学习数据通信的基本概念、常用传输介质和传输技术,以及数据编码和差错检测与纠正方法。
3. 网络安全技术网络安全技术是一门介绍网络安全保障措施和技术的课程。
学生将学习网络攻击与防御的基本概念、常见的网络攻击手段和防范方法,以及网络安全的法律法规和伦理道德等内容。
三、计算机编程相关课程1. C语言程序设计C语言程序设计是一门介绍C语言编程的基础课程。
学生将学习C语言的基本语法、程序设计方法和常用函数库的使用,以及利用C语言解决实际问题的能力。
04735数据库系统原理(考点归纳)一、数据库基本概念数据库的定义和特点、数据模型(层次、网状和关系模型)、数据库系统的架构、数据库语言分类及特点等。
二、关系模型关系模型的基本概念(关系、属性、码等)、关系代数和关系演算、关系数据的完整性、关系数据库设计原则和规范化等。
三、关系数据库管理系统关系数据库管理系统的基本功能(数据定义、数据操纵、数据控制)、关系数据库的查询优化和执行、ACID特性和并发控制、事务管理、数据恢复和故障处理等。
四、数据库设计数据库设计的基本概念、实体关系模型(E-R模型)和E-R图、数据库设计过程和规范、逻辑设计和物理设计等。
五、数据库查询与操作SQL语言的基本语法和语义、SQL中的查询操作、连接操作、分组与聚集操作、嵌套查询、事务管理等。
六、数据库完整性与安全性数据完整性的概念和类型(实体完整性、参照完整性、用户定义的完整性)、安全性和权限控制、访问控制、数据库备份与恢复等。
七、数据库性能调优数据库的性能指标(响应时间、吞吐量、可靠性、可扩展性等)、数据库性能优化的策略和方法、索引技术、查询优化等。
八、分布式数据库分布式数据库的基本概念和体系结构、分布式数据库的设计和优化、事务管理和并发控制等。
九、面向对象数据库面向对象数据库的基本概念、面向对象数据库的数据模型、面向对象数据库的查询操作、面向对象数据库的设计和实现等。
十、XML数据库XML数据库的基本概念和特点、XML数据模型、XML数据库查询和操作、XML数据库的设计和应用等。
综上所述,数据库系统原理是涵盖较为广泛的知识领域,它不仅包括了数据库的基本概念和关系模型,还包括了数据库的设计、管理、优化等方面的内容。
掌握数据库系统原理的相关知识,对于学生深入理解数据库系统的原理和技术,提高数据库设计和开发能力具有重要意义。
数据库原理及应用_西南石油大学2中国大学mooc课后章节答案期末考试题库2023年1.对数据库物理存储方式的描述称为()答案:内模式2.在数据库三级模式间引入二级映象的主要作用是()答案:提高数据与程序的独立性3.视图是一个“虚表”,视图的构造基于()答案:基本表或视图4.关系代数中的π运算符对应SELECT语句中的以下哪个子句?()答案:SELECT5.如果事务T已在数据R上加了X锁,则其他事务在数据R上( )答案:不能加任何锁6.将E-R模型转换成关系模型,属于数据库的()。
答案:逻辑设计7.事务日志的用途是()答案:数据恢复8.如何构造出一个合适的数据逻辑结构是()主要解决的问题。
答案:关系数据库规范化理论9.数据库中,物理数据独立性是指_______。
答案:用户的应用程序与存储在磁盘上数据库中的数据是相互独立的10.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的________。
答案:数据的集合11.根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。
下面“部门”关系中,因哪个属性而使它不满足第一范式?部门(部门号,部门名,部门成员,部门总经理)答案:部门成员12.关系模型中,一个候选码是________。
答案:可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成13.学生关系模式为S(Sno,Sname,SD,Sage),其中:Sno表示学生学号,Sname表示学生姓名,SD表示学生所在系,Sage表示学生年龄。
试将下面的SQL 语句空缺部分补充完整,使其可以查询数学系学生的学号、姓名和年龄。
SELECT Sno,Sname,Sage FORM S WHERE________ 。
答案:SD='数学'14.关系规范化中的删除操作异常是指________。
答案:不该删除的数据被删除15.关系模式中,满足2NF的模式,_____。
答案:必定是1NF16.设有供应商关系S和零件关系P如图1所示。
【数据库系统原理与应用】数据库的事务处理与数据恢复.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结束。
其中:BEGINTRANSACTION:事务的开始标记。
COMMITTRANSACTION:事务的结束标记。
OLLBACKTRANSACTION:回滚。
返回本节6.2并发掌握6.2.1并发操作引起的问题6.2.2封锁6.2.3封锁出现的问题及解决方法6.2.4可串行化调度6.2.5SQLServer的并发掌握机制返回5、首页6.2.1并发操作引起的问题对事务的并发执行假如不加以掌握,可能会导致数据库中数据的不一致性。
一个最常见的并发操作的例子是飞机订票系统中的订票操作。
例如,在该系统中的一个活动的序列:〔1〕事务T1〔动作1〕:甲售票员读出某航班的机票余额A,设A=16。
〔2〕事务T2〔动作1〕:乙售票员读出同一航班的机票余额,A也为16。
〔3〕事务T1〔动作2〕:甲售票员卖出一张机票,修改机票余额A←A-1,所以A=15,把A写入数据库。
〔4〕事务T2〔动作2〕:乙售票员卖出两张机票,修改机票余额A←A-2,所6、以A=14,把A写入数据库。
并发操作假如不加以掌握,就可能引发以下数据的不一致性:1.丢失修改〔LostUpdate〕2.不行重复读〔UnrepeatableRead〕3.读“脏”数据〔DirtyRead〕1.丢失修改〔LostUpdate〕丢失修改是指事务T1与事务T2从数据库中读入同一数据并修改,事务T2提交的修改结果破坏了事务T1提交的修改结果,导致事务T1的修改被丢失。
丢失修改的状况如图6-2所示。
调度时刻事务T1事务T2t1读A=16 t2 读A=16t3A=A-1写回A =15 t4 A7、=A-2写回A=14(覆盖了T1对A的修改)图6-2丢失修改2.不行重复读〔UnrepeatableRead〕即事务T1两次读取同一数据项A的内容不一致。
究其缘由,是在两次读操作之间,事务T2也修改了数据项A。
不行重复读的状况如图6-3所示。
调度时刻事务T1事务T2t1读A=50读B=100求和=150 t2 读B=100B←B*2写回B=200t3读A=50读B=200求和=250〔验算不对〕图6-3不行重复读3.读“脏”数据〔DirtyRead〕即事务T1读取了经过事务T2修改正的数据,但是8、由于事务T2因为流产而撤消了对该数据的修改,数据库恢复到事务T2执行前的状态,从而导致事务T1读取的内容与数据库中的内容不一致。
读“脏”数据的状况如图6-4所示。
调度时刻事务T1事务T2t1 读B=100B←B*2写回B=200t2读B=200(读入T2的脏数据) t3 ROLLBACK(B恢复为100)图6-4读“脏”数据返回本节6.2.2封锁1.封锁的类型DBMS通常提供了多种类型的封锁。
一个事务对某个数据对象加锁后到底拥有什么样的掌握是由封锁类型确定的。
基本的封锁类型有两种:排它锁〔Excl9、usiveLock,简称X锁〕和共享锁〔ShareLock,简称为S锁〕。
〔1〕排它锁。
〔2〕共享锁。
2.保证数据一致性的封锁协议——三级封锁协议所谓封锁协议就是在对数据库加锁、持锁和释放锁时所商定的一些规则。
例如,应何时申请X锁或S锁、持锁时间、何时释放等。
不同的封锁规则形成了不同的封锁协议,下面介绍三级封锁协议。
〔1〕一级封锁协议。
〔2〕二级封锁协议。
〔3〕三级封锁协议〔1〕一级封锁协议。
一级封锁协议是事务T在修改数据之前必需先对其加X锁,直到事务结束才释放。
一级封锁协议可有效防止丢失修改,并10、保证事务T是可恢复的。
例如,图6-6使用一级封锁协议解决了图6-2中的丢失修改问题。
调度时刻事务T1事务T2t1获得XlockA t2读A=16XlockA等待t3A=A-1写回A=15CommitUnlockA等待等待等待t4 获得XlockA读A=15A=A-2写回A=13CommitUnlockA图6-6 没有丢失修改〔2〕二级封锁协议。
二级封锁协议是在一级封锁协议加上事务T对要读取的数据加S锁,读完后即可释放S锁。
二级封锁协议除防止了丢失修改还可进一步防止读“脏”数据。
例如,图6-7使用11、二级封锁协议解决了图6-4中读“脏”数据的问题。
调度时刻事务T1事务T2t1 XlockB读B=100B←B*2写回B=200t2SlockB 等待t3 ROLLBACK(B恢复为100)UnlockBt4获得SlockB读B=100UnlockB 图6-7 不读“脏”数据〔3〕三级封锁协议。
三级封锁协议是事务T在读取数据之前必需先对其加S锁,在要修改数据之前必需先对其加X锁,直到事务结束后才释放全部的锁。
例如图6-8使用了三级封锁协议解决了图6-3中的不行重复读问题。
调度时刻事务T1事务T2t112、SlockA读A=50SlockB读B=100求和=150 t2 XlockB 等待t3读A=50读B=100求和=150CommitUnlockAUnlockB等待t4 获得Xlock读B=100B←B*2写回B=200CommitUnlockB图6-8 可重复读封锁协议X锁S锁不丢失修改不读脏数据可重复读一级事务全程加锁不加锁√二级事务全程加锁事务开始加锁,读完即释放√√三级事务全程加锁事务全程加锁√√√表6-1不同级别的封锁协议返回本节6.2.3封锁出现的问题及解决方法1.活锁在多个事务13、请求对同一数据封锁时,总是使某一事务等待的状况称为活锁。
例如:假如事务T1封锁了数据R后,T2也请求封锁R,于是T2等待。
接着T3也请求封锁R。
假如T1释放R上的锁后,系统首先批准了T3的请求,T2只得继续等待。
接着T4也请求封锁R,T3释放R 上的锁后,系统又批准了T4的请求,……,T2有可能就这样永久等待下去。
2.死锁多个并发事务处于互相等待的状态,其中的每一个事务都在等待它们中的另一个事务释放封锁,这样才可以继续执行下去,但任何一个事务都没有释放自己已获得的锁,也无法获得其他事务已拥有的锁,所14、以只好互相等待下去,这就产生了死锁。
调度时刻事务T1事务T2t1XlockA t2 XlockBt3XlockB等待t4 XlockA等待…图6-9 死锁目前在数据库中解决死锁问题主要有两类方法,一类方法是实行肯定措施来预防死锁的发生,另一类方法是允许发生死锁,然后采纳肯定手段定期诊断系统中有无死锁,若有则解除之。
〔1〕死锁的预防。
1〕一次封锁法。
2〕顺序封锁法。
〔2〕死锁的检测与解除。
返回本节6.2.4可串行化调度所谓的两段锁协议是指全部事务必需分两个阶段对数据项进行加锁和解锁。
具体表达在:〔15、1〕在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁;〔2〕释放一个封锁之后,事务不再申请并获得对任何数据的封锁。
所谓两段锁的含义是:事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段。
在这个阶段,事务可以申请获得任何数据项上的任何类型的锁,但不能释放任何锁。
第二阶段是释放封锁,也称为收缩阶段。
在这个阶段,事务可以释放任何数据项上的任何类型的锁,但是不能申请任何锁。
返回本节6.2.5SQLServer的并发掌握机制1.SQLServer的空间管理及锁的级别2.SQLServer锁的类16、型1.SQLServer的空间管理及锁的级别〔1〕行和行级锁。
〔2〕页和页级锁。
〔3〕簇和簇级锁。
〔4〕表级锁。
〔5〕数据库级锁。
2.SQLServer锁的类型一般状况下,SQLServer能自动提供加锁功能,而不需要用户特地设置,这些功能表如今:〔1〕当使用SELECT语句访问数据库时,系统能自动用共享锁访问数据;在使用INSERT、UPDATE 和DELETE语句增加、修改和删除数据时,系统回自动给使用数据加排它锁。
〔2〕系统可用意向锁使锁之间的冲突最小化。
意向锁建立一个锁机制的分层结构,其结构17、按行级锁层和表级锁层设置。
〔3〕当系统修改一个页时,会自动加修改锁。
修改锁和共享锁兼容,而当修改了某页后,修改锁会上升为排它锁。
〔4〕当操作涉及到参考表或者索引时,SQLServer会自动提供模式稳定锁和模式修改锁。
返回本节6.3数据库恢复6.3.1 数据库系统的故障 6.3.2数据库备份技术 6.3.3数据库恢复策略6.3.4 SQLServer的数据备份和恢复返回首页 6.3.1 数据库系统的故障1.事务故障2.系统故障3.介质故障返回本节6.3.2数据库备份技术1.数据转储2.日志文件1.数据转储18、〔1〕静态转储和动态转储。
1〕静态转储是在系统中没有运行其他事务时进行的转储操作。
2〕动态转储是指转储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。