数据库期末复习资料.doc

上传人:xin****828 文档编号:6701611 上传时间:2020-03-02 格式:DOC 页数:14 大小:35.21KB
返回 下载 相关 举报
数据库期末复习资料.doc_第1页
第1页 / 共14页
数据库期末复习资料.doc_第2页
第2页 / 共14页
数据库期末复习资料.doc_第3页
第3页 / 共14页
点击查看更多>>
资源描述
第一章绪论1、数据(Data):数据是数据库中存储的基本对象;数据的定义:描述事物的符号记录;数据的种类:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等;数据的含义称为数据的语义,数据与其语义是不可分的。2、数据库(Database,简称DB):定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库的基本特征:1) 数据按一定的数据模型组织、描述和储存;2) 可为各种用户共享、易扩展、冗余度较小;3) 数据独立性较高。数据库具有永久存储、有组织和可共享三个基本特点。3、数据库管理系统(DBMS): 数据库管理系统是位于用户与操作系统之间的一层数据管理软件。 主要功能:1) 数据定义功能;2) 数据组织、存储和管理;3) 数据操纵功能;4) 数据库的事务管理和运行管理;5) 数据库的建立和维护功能;6) 其他功能。4、数据库系统(DBS): 定义:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员系统构成。5、数据库技术的产生和发展: 三个阶段:人工管理阶段、文件系统、数据库系统。6、数据库系统的特点:1) 数据结构化:不仅数据内部结构化,整体也是结构化的;2) 数据的共享性高,冗余度低,易扩充;3) 数据独立性高(物理逻辑性和逻辑独立性);物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由DBMS的二级映像功能来保证的4) 数据由DBMS统一管理和控制。7、数据模型: (1)数据模型是数据库系统的核心和基础; (2)两类数据模型: 第一类是概念模型,第二类是逻辑模型和物理模型; (3)数据模型的组成要素:数据结构、数据操作和完整性约束; (4)概念模型的基本概念:1) 实体(Entity):客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念;2) 属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画;3) 码(Key):唯一标识实体的属性集称为码;4) 域(Domain):属性的取值范围称为该属性的域。5) 实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体称为实体型;6) 实体集(Entity Set):同一类型实体的集合称为实体集;7) 联系(Relationship):实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系; (5)三大经典模型:层次模型、网状模型、关系模型。8、数据库系统结构:(1)模式是数据库中全体数据的逻辑结构和特征的描述。(2)三级模式:内模式、模式、外模式。 模式:是数据库中全体数据的逻辑结构和特征的藐视,是所有用户的公共视图;一个数据库只有一个模式;外模式:是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;一个数据库可以有多个外模式; 内模式:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式;一个数据库只有一个内模式。 (3)二级映像:外模式/模式,模式/内模式; 保证了数据库系统中的数据能够有较高的逻辑独立性和物理独立性。第二章关系数据库1、关系(1)码 候选码(Candidate key):若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;主码(Primary key):若有多个候选码,则选定其中一个为主码;全码(All-key):最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码;主属性(Prime attribute):候选码的诸属性称为主属性;非主属性( Non-Prime attribute):而不包含在任何侯选码中的属性称为非主属性或非码属性。 (2)关系的三种类型:基本关系、查询表、视图表; (3)基本关系的性质:1) 列是同质的(Homogeneous)2) 不同的列可出自同一个域a) 其中的每一列称为一个属性b) 不同的属性要给予不同的属性名3) 列的顺序无所谓,,列的次序可以任意交换4) 任意两个元组的候选码不能相同5) 行的顺序无所谓,行的次序可以任意交换6) 分量必须取原子值(最基本的一条)(4)关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件;最基本的一条就是:关系的每一个分量必须是一个不可分的数据项。(5)关系数据库中,关系模型是型,关系是值;关系模式是对关系的描述。2、关系操作 (1)基本关系操作: 常用的关系操作包括查询操作和插入、删除、修改操作两大部分;查询:选择、投影、连接、除、并、交、差;数据更新:插入、删除、修改;查询的表达能力是其中最主要的部分;选择、投影、并、差、笛卡尔基是5种基本操作。(2)关系操作的特点:集合操作方式,即操作的对象和结果都是集合,一次一集合的方式。3、关系的完整性 三类完整性约束:实体完整性、参照完整性、用户定义的完整性;其中前两种是关系模式中必须满足的,被称作是关系的两个不变性。(1)实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值且必须唯一。 说明:1) 实体完整性规则是针对基本关系而言的;2) 关系模型中以主码作为唯一性标识;3) 主码中的属性即主属性不能取空值。 (2)参照完整性:外码:设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码;基本关系R称为参照关系(Referencing Relation);基本关系S称为被参照关系(Referenced Relation)或目标关系(Target Relation)。 说明:1) 关系R和S不一定是不同的关系;2) 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上;3) 外码并不一定要与相应的主码同名。 参照完整性规则: 若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。 参照完整性规则就是定义外码与主码之间的引用规则。 (3)用户定义的完整性针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。4、关系代数 关系代数运算符:集合运算符、专门的关系运算符、算术比较运算符、逻辑运算符。 【此部分可以复习书本p55-60,为重点】第三章关系数据库标准语言SQL1、SQL特点 SQL集数据查询、数据定义、数据操纵、数据控制功能于一体;1) 数据定义a) 创建数据对象 create e.g. Create databaseb) 修改数据对象 alter e.g. alter tablec) 删除数据对象 drop e.g drop view2) 数据查询a) 一般查询 selectb) 集合查询 count, avg, sum, max, min3) 数据操纵a) Insert delete update4) 数据控制a) Grantb) revoke 主要特点:综合统一,高度非过程化,面向集合的操作方式,以同一种语法结构提供多种使用方式,语言简洁、易学易用。2、外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。3、数据定义操作对象操作方式创建删除修改数据库Create databaseDrop databaseAlter database表Create tableDrop tableAlter table视图Create viewDrop view索引Create indexDrop view (1)定义数据库Create database Drop database Alter database (2)定义基本表 创建表: Create table ( 列完整性约束条件, 列完整性约束条件,表级完整性约束条件)表级完整性约束包括:Primary key 名(字段,字段2)foreign key 名 reference 表2(字段,字段2)Check 名 内容default 修改表:Alter table add 完整性约束 drop alter column 删除表: Drop table (3)数据查询【重点!】 Select all | distinct 别名, 别名From 别名, 别名Where Group by having Order by ASC | Desc , ASC | Desc (4)数据更新 插入数据: 格式1:Insert into (列名表) value (元组值)格式2:Insert into (列名表)value (元组值), (元组值), (元组值),格式3:Insert into (列名表)Select 查询语句 修改数据:update set =, =, where 删除数据:Delete from where (5)定义和删除索引Create unique cluster index ON (列名 ,列名 )Drop index 建议索引的条件:1) 以查询为主要服务的数据库;2) 值域大的字段上;3) 经常出现在where条件,order by,group by中的字段上;4) 经常出现在连接条件中的字段上。第四章数据库安全性1、计算机系统三类安全性问题 技术安全类,管理安全类,政策法律类。2、用户标识与鉴别 (1)用户标识和鉴别是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份; (2)基本方法:1) 系统提供一定的方式让用户标识自己的名字或身份;2) 系统内部记录着所有合法用户的标识;3) 每次用户要求进入系统时,由系统核对用户提供的身份标识;4) 通过鉴定后才提供机器使用权;5) 用户标识和鉴定可以重复多次;6) 比如:用户名,密码。3、存取控制 (1)主要包括两部分:定义用户权限,并将用户权限登记到数据字典中;合法权限检查。 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统。 (2)常用存取控制方法 自主存取控制(Discretionary Access Control,简称DAC):1) 同一用户对于不同的数据对象有不同的存取权限2) 不同的用户对同一对象也有不同的权限3) 用户还可将其拥有的存取权限转授给其他用户强制存取控制(Mandatory Access Control,简称 MAC):1) 每一个数据对象被标以一定的密级2) 每一个用户也被授予某一个级别的许可证3) 对于任意一个对象,只有具有合法许可证的用户才可以存取4、 自主存取控制(DAC)(1)用户权限是由两个要素组成的:数据库对象和操作类型。(2)通过SQL的grant和revoke语句实现。(3)定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作。(4)授权格式:GRANT ,. ON TO ,. WITH GRANT OPTION; (5)不允许循环授权; (6)发出grant:DBA,数据库对象的创建者,拥有该权限的用户。(7)回收格式: REVOKE ,. ON FROM ,.;(8)授予的权限可以由DBA或授权者收回5、创建数据库模式的权限 (1)对数据库模式的授权由DBA在创建用户时实现;(2)格式:CREATE USER WITHDBA | RESOURCE | CONNECT (3)说明:只有系统的超级用户才有权创建一个新的数据库用户;新创建的数据库用户只有三种权限:connect、resource、DBA。 (4)权限和可执行的操作对照拥有的权限可否执行的操作CREATE USERCREATE SCHEMACREATE TABLE登录数据库 执行数据查询和操纵DBA可以可以可以可以RESOURCE不可以不可以不可以不可以CONNECT不可以不可以不可以可以,但必须拥有相应权限 (5)数据库角色:是被命名的一组与数据库操作相关的权限,角色是权限的集合。6、强制存取控制(MAC)(1)是指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段;(2)MAC不是用户能直接感知或进行控制的。(3)在MAC中,DBMS所管理的全部实体被分为主体和客体两大类;主体是系统中的活动实体,客体是系统中的被动实体;(4)MAC机制就是通过对比主体的Lable和客体的Lable,最终确定主体是否能够存取客体;(5)规则: 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。7、视图机制 视图机制间接地实现支持存取谓词的用户权限定义。第五章数据库完整性1、数据库的完整性:数据的正确性和相容性。2、为维护数据库的完整性,DBMS必须能够:1) 提供定义完整性约束条件的机制2) 提供完整性检查的方法3) 违约处理3、实体完整性(1)关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义; (2)实体完整性检查和违约处理:插入或对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查。包括:1) 检查主码值是否唯一,如果不唯一则拒绝插入或修改;2) 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。4、参照完整性(1)关系模型中的参照完整性在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码,用REFERENCES指明其参照的主码。 (2)可能破坏参照完整性的情况和违约处理:被参照表(例如Student)参照表(例如SC)违约处理可能破坏参照完整性 插入元组拒绝可能破坏参照完整性 修改外码值拒绝删除元组可能破坏参照完整性拒绝/级连删除/设置为空值修改主码值可能破坏参照完整性拒绝/级连修改/设置为空值5、触发器(1)触发器是用户定义在关系表上的一类由事件驱动的特殊程序(过程)。(2)格式: CREATE TRIGGER BEFORE | AFTER ON FOR EACH ROW | STATEMENT WHEN (3)表的创建者可以在表上创建触发器,并且一个表上只能创建一定数量的触发器; (4)触发事件:INSERT、DELETE、UPDATE;(5)触发器类型:1) 行级触发器(FOR EACH ROW):对每一行触发一次;2) 语句级触发器(FOR EACH STATEMENT):触发动作只发生一次;(6)触发动作体:匿名PL/SQL过程块,或对已有存储过程的调用。(7)触发器的执行,是由触发事件激活的,并由数据库服务器自动执行。(8)触发器激活时执行顺序:1) 执行该表上的BEFORE触发器;2) 激活触发器的SQL语句;3) 执行该表上的AFTER触发器。(9)删除触发器:DROP TRIGGER ON ;触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户删除。第六章关系数据理论本章可考题目:1、判断分解的无损连接性和保持函数依赖2、求属性集闭包3、求极小函数依赖4、分解关系模式,将1NF分解为3NF1、范式 按属性间依赖情况划分。 (1)第一范式:每一分量必须是不可分的数据项; 存在问题:数据冗余太大,更新异常,插入异常,删除异常; (2)第二范式:每一个非主属性完全依赖于码; 存在问题:插入异常,删除异常,修改复杂; (3)第三范式:每一个非主属性既不部分依赖于码也不传递依赖于码; (4)BCNF:每一个决定属性因素都包含码; 一个满足BCNF的关系模式有:1) 所有非主属性对每一个码都是完全函数依赖;2) 所有的主属性对每一个不包含它的码,也是完全函数依赖;3) 没有任何属性完全函数依赖于非码的任何一组属性;2、Armstrong公理系统(有效性,完备性) (1)自反律:若YXU,则XY为F所蕴含。 (2)增广律:若XY为F所蕴含,且ZU,则XZYZ为F所蕴含。 (3)传递律:若XY及YZ为F所蕴含,则XZ为F所蕴含。3、推理规则(1)合并规则:由XY,XZ,有XYZ。(2)伪传递规则:由XY,WYZ,有XWZ。(3)分解规则:由XY及ZY,有XZ。4、函数的依赖闭包 (1)在关系模式R中为F所逻辑蕴含的函数依赖的全体叫作F的闭包,记为F+。 (2)设F为属性集U上的一组函数依赖,XU,XF+ =A|XA能由F根据Armstrong公理导出,XF+称为属性集X关于函数依赖集F的闭包。 (3)求闭包算法 求属性集X(XU)关于U上的函数依赖集F的闭包XF+输入:X,F输出:XF+步骤:(1)令X(0)=X,i=0(2)求B,这里B= A|($V)($W)(VWFVX(i)AW);(3)X(i+1)=BX(i)(4)判断X(i+1)=X(i)吗?(5)若相等或X(i)=U ,则X(i)就是XF+ , 算法终止。(6)若否,则i=i+l,返回第(2)步。5、最小依赖集 (1)如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。 F中任一函数依赖的右部仅含有一个属性。 F中不存在这样的函数依赖XA,使得F与F-XA等价。 F中不存在这样的函数依赖XA, X有真子集Z使得F-XAZA与F等价。 (2)极小化过程: 1)逐一检查F中各函数依赖FDi:XY,若Y=A1A2Ak,k 2,则用 XAj|j=1,2,k 来取代XY。2)逐一检查F中各函数依赖FDi:XA,令G=F-XA,若AXG+, 则从F中去掉此函数依赖。3)逐一取出F中各函数依赖FDi:XA,设X=B1B2Bm,逐一考查Bi(i=l,2,m),若A(X-Bi)F+ ,则以X-Bi取代X。6、分解算法1) 极小化函数依赖集2) 把函数依赖集按左部相同分组3) 有没有一组属性整体包含另一组之中4) 若有,两组放在一个关系里面5) 若无,一组为一个关系,其中左部是他们的主码6) 结束7、判断分解的无损连接性和保持函数依赖第七章数据库设计本章可考题目:1、设计E-R图2、E-R图向关系模型转换1、数据库设计的基本步骤(了解各个阶段的工作) (1)需求分析 (2)概念结构设计:E-R图 (3)逻辑结构设计阶段 (4)物理设计阶段 (5)数据库实施阶段 (6)数据库运行和维护阶段2、概念结构设计 (1)四类方法:自顶向下,自底向上,逐步扩张,混合策略; (2)各分E-R图之间的冲突:属性冲突、命名冲突、结构冲突;3、E-R图向关系模型转换 (1)E-R图由实体型、实体的属性、实体型之间的联系三个要素组成; (2)遵循原则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码;4、数据库的物理设计(了解什么情况下需要建立索引)1) 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引);2) 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;3) 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引;第九章关系查询处理和查询优化本章可考题目:1、根据SQL语句写出等价关系代数表达式2、对查询树进行优化1、查询处理 (1)查询的四个阶段:查询分析、查询检查、查询优化、查询执行; (2)查询优化方法: 代数优化:指关系代数表达式的优化,即按照一定的规则,改变代数表达式中操作的次序和组合,使查询执行更高效; 物理优化:指存取路径和底层操作算法的选择,选择的依据可以是基于规则、代价或者语义。2、代数优化 (1)关系代数表达式等价变换规则【11条】p269 (2)查询树启发式优化规则1) 选择运算应尽可能先做。在优化策略中这是最重要、最基本的一条2) 把投影运算和选择运算同时进行3) 把投影同其前或其后的双目运算结合起来4) 把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算5) 找出公共子表达式(3)方法: 1) 利用等价变换规则4把形如F1F2Fn(E)变换为F1(F2(Fn(E)。2) 对每一个选择,利用等价变换规则49尽可能把它移到树的叶端。3) 对每一个投影利用等价变换规则3,5,10,11中的一般形式尽可能把它移向树的叶端。4) 利用等价变换规则35把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。使多个选择或投影能同时执行,或在一次扫描中全部完成。5) 把上述得到的语法树的内节点分组。每一双目运算(, ,-)和它所有的直接祖先为一组(这些直接祖先是(,运算)。第十章数据库恢复技术本章可考题目:基本以选择、填空为主1、了解事务的概念及四个特性;2、了解数据库的几种故障以及恢复方法;3、恢复实现操作的两种方法;1、事务 (1)事务是用户定义的一个数据库操作序列,这些操作要么全做要么全部做,是一个不可分割的工作单位; (2)事务通常以begin transaction开始,以commit和rollback结束; (3)事务的四大特性:原子性、一致性、隔离性、持续性。原子性(Atomicity):事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做一致性(Consistency):事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态一致性状态:数据库中只包含成功事务提交的结果隔离性(Isolation):在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样持续性(Durability):一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中2、数据库故障 (1)事务内部的故障: 有的是可以通过事务程序发现,有的是非预期的; 如运算溢出、并发事务发生死锁而被撤销该事务、违反了某些完整性限制; (2)系统故障: 指造成系统停止运转的任何事件,使得系统要重新启动; 如CPU故障、操作系统故障、DBMS代码错误、系统断电; (3)介质故障: 如磁盘损坏、磁头碰撞、瞬间磁场干扰。 (4)计算机病毒3、恢复的实现操作 (1)恢复操作的基本原理:冗余; (2)建立冗余数据最常用的技术:数据转储、登录日志文件; (3)数据转储:转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程,备用的数据称为后备副本或后援副本; 数据转储分类:动态转储和静态转储,海量转储和增量转储; (4)登记日志文件: 日志文件(log)是用来记录事务对数据库的更新操作的文件; 两种格式:以记录为单位和以数据块为单位的日志文件; 登记日志文件的原则:登记的次序严格按并行事务执行的时间次序,必须先写日志文件,后写数据库。4、各种故障的恢复策略 (1)事务故障:由恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改;【不需要用户干预】 (2)系统故障:Undo 故障发生时未完成的事务,Redo 已完成的事务;【不需要用户干预】 (3)介质故障:重新安装数据库,然后重做已完成的事务(Redo)。5、具有检查点的恢复技术 (1)内容:1) 在日志文件中增加检查点记录(checkpoint);2) 增加重新开始文件;3) 恢复子系统在登录日志文件期间动态地维护日志;(2)动态维护日志文件的方法:周期性地执行如下操作:建立检查点,保存数据库状态。第十一章并发控制本章可考题目:本章也基本以选择、填空为主1、判断并发控制带来的三种数据不一致性;2、了解两种基本类型的封锁;3、了解解决活锁和死锁的方法;1、并发控制(1)并发控制机制的任务:1) 对并发操作进行正确调度2) 保证事务的隔离性3) 保证数据库的一致性(2)并发操作带来的数据不一致性1) 丢失修改(Lost Update)2) 不可重复读(Non-repeatable Read)3) 读“脏”数据(Dirty Read) 产生不一致性的主要原因是并发操作破坏了事务的隔离性; (3)并发控制的主要技术有:封锁(主要)、时间戳、乐观控制法。2、封锁 (1)基本封锁类型:排它锁(写锁,X锁),共享锁(读锁,S锁); (2)排它锁:若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁;保证其他事务在T释放A上的锁之前不能再读取和修改A; (3)共享锁:若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁;保证其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改;3、活锁和死锁 (1)活锁:避免活锁的方式是采用先来先服务的策略;当多个事务请求封锁同一数据对象时,按请求封锁的先后次序对这些事务排队,该数据对象上的锁一旦释放,首先批准申请队列中第一个事务获得锁; (2)死锁: 解决死锁的两类方法:一类是采取一定措施预防死锁发生,一类是允许死锁发生,采用一定手段定期诊断系统中有无死锁,若有则解除之; 死锁的预防:一次封锁法,顺序封锁法; 死锁的诊断和解除:超时法,等待图法。4、并发调度的可串行性 (1)可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同; (2)可串行性:是并发事务正确调度的准则;按照这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。5、可串行化调度的充分条件一个调度Sc在保证冲突操作的次序不变的情况下,通过交换两个事务不冲突操作的次序得到另一个调度Sc,如果Sc是串行的,称调度Sc为冲突可串行化的调度;一个调度是冲突可串行化,一定是可串行化的调度;冲突可串行化调度是可串行化调度的充分条件,不是必要条件。6、两段锁协议(1)两段封锁协议是最常用的一种封锁协议,理论上证明使用两段封锁协议产生的是可串行化调度。(2)两段锁协议指所有事务必须分两个阶段对数据项加锁和解锁:在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁;(3)“两段”锁的含义:事务分为两个阶段 第一阶段是获得封锁,也称为扩展阶段;事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁; 第二阶段是释放封锁,也称为收缩阶段;事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁;(4)事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件;若并发事务都遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的;若并发事务的一个调度是可串行化的,不一定所有事务都符合两段锁协议;遵守两段锁协议的事务可能发生死锁。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!