




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章1. 四大基本概念:数据 :数据库中存储的基本对象,它是描述事物的符号记录。种类有:文字、图形、 图象、声音等。特点是:数据与其语义是不可分的。数据库 :(Database,简称 DB) 是长期储存在计算机内、有组织的、可共享的大量数据集 合。其特点是: 数据按一定的数据模型组织、 描述和储存; 可为各种用户共享; 冗余度较小; 数据独立性较高;易扩展。 (特点:永久存储、有组织、可共享)数据库管理系统: 是位于用户与操作系统之间的一层数据管理软件。数据库管理系统的主要功能: 数据定义功能; 数据组织、存储和管理; 数据操纵功 能;数据库的事物管理和运行管理; 数据库的建立和维护功能;
2、其他功能。数据库系统 :是指在计算机系统中引入数据库后的系统。 一般由数据库、 数据库管理系 统(及其开发工具) 、应用系统、数据库管理员(和用户)构成。在不引起混淆的情况下常常把数据库系统简称为数据库。2. 数据管理技术的三个阶段及其特点 人工管理阶段:特点: 1、数据不保存。2、没有软件系统对数据进行管理。3、这一时期没有文件的概念, 数据的组织方式必须由程序员自行 设计。4、一组数据对应一组程序,数据是不共享的。5、数据不具有独立性, 当数据结构发生变化时, 应用程序要变化。 文件系统阶段:特点: 1、数据可以长期保存。2、由文件系统管理数据。3、数据共享性差 , 冗余度大文件是面向应用
3、的。4、数据独立性差是不具有弹性的无结构的数据集合,文件之间是孤立的,不能反映事物间联系。数据库系统阶段: 特点:数据的管理者: DBMS数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化数据控制能力:由 DBMS 统一管理和控制3、数据库系统的特点 :数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高; 数据有 DBMS 统一管理和控制。4、数据模型的组成要素 :数据结构、数据操作和完整性约束。数据结构是对系统静态特性的描述。数据操作是对系统动态特性的描述。5、概念模型:基本概念 :实体: 客观存在并可相互区
4、别的事物称为实体。属性: 实体所具有的某一特性称为属性。码: 唯一标识实体的属性集称为码。域: 属性的取值范围称为该属性的域。实体型: 具有相同属性的实体具有的共同的特征和性质,即 : 用实体名及其 属性名集合来抽象和刻画同类实体 。实体集: 同型实体的集合称为实体集。联系: 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体 (型)内部的联系 和实体(型)之间的联系。概念模型的表示方法: 实体联系方法,用 E-R 图来描述。E-R 图:实体型 :矩形表示,矩形框内写明实体名。属性: 椭圆表示,用无向边将其与相应实体连接起来。联系: 菱形表示,菱形框内写明联系名, 并用无向边分别与有关
5、实体连接起来,同 时在无向边旁标上联系的类型( 1:1、 1:n 或 m:n)。联系可以有属性。6、关系模型: 在用户观点下, 关系模型中数据的逻辑结构是一张二维表, 它由行和列组成。 关系模型中的基本概念: 关系( Relation ):一个关系通常对应一张表; 元组( Tuple):表中的一行即为一个元组; 属性( Attribute ):表中的一列即为一个属性,给每一个属性起一个名称即属性名; 主码( Key):表中的某个属性组,它可以唯一确定一个元组; 域( Domain ):属性的取值范围; 分量:元组中的一个属性值; 关系模式:对关系的描述,一般表示为:关系名(属性 1,属性 2,
6、属性 n) 关系模型中,实体及实体间的联系都是用关系来表示。 例学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)关系必须是规范化的,满足一定的规范条件。最基本的规范条件:关系的每一个分量 必须是一个不可分的数据项。关系模型的优缺点: 优点: 建立在严格的数学概念的基础上。 概念单一。数据结构简单、清晰,用户易懂易用 关系模型的存取路径对用户透明。缺点 存取路径对用户透明导致查询效率往往不如非关系数据模型7、数据库系统的三级模式数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。 模式
7、(逻辑模式) ,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 一个数据库只有一个模式。 定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有 关的安全性、完整性要求外模式 (子模式 Subschema)或用户模式 ,是数据库用户能够看见和使用的局部数据的 逻辑结构和特征的表述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式。 外模式是保证数据库安全性的一个有力措施。 每个用户只能看见和访问所对应的外模式 中的数据,数据库中的其余数据是不可见的。内模式 (存储模式 Storage Sche
8、ma),是数据物理结构和存储方式的描述, 是数据在数据 库内部的表示方式。 一个数据库只有一个内模式。8、数据库的二级映像功能: 数据库管理系统在三级模式之间提供了两层映象:外模式 /模式映象、模式 /内模式映象。外模式 /模式映象 定义外模式与模式之间的对应关系 每一个外模式都对应一个外模式模式映象 映象定义通常包含在各自外模式的描述中外模式 /模式映象如何保证数据的逻辑独立性? 当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变。 应用程序是依据数据的外模式编写的, 从而应用程序不必修改, 保证了数据与程序的逻辑独 立性,简称数据的逻辑独立性。模式 /内模式映象模式内模式
9、映象定义了数据全局逻辑结构与存储结构之间的对应关系。 数据库中模式内模式映象是唯一的该映象定义通常包含在模式描述中 模式 /内模式映象如何保保证数据的物理独立性? 当数据库的存储结构改变了(例如选用了另一种存储结构) ,数据库管理员修改模式 内模式映象,使模式保持不变。 应用程序不受影响。保证了数据与程序的物理独立性, 简称 数据的物理独立性。9、数据库系统一般由 数据库、数据库管理系统(及其开发工具) 、应用系统和数据库管理 员构成。第四章1、安全性级别TCSEC 将系统划分为四组( ABCD)七个等级,依次是 D、C1、 C2、B1、B2、 B3、A1。 D 级: 是最低级别 。将一切不符
10、合更高标准的系统均归于 D 组。如 DOS实操作系统中 安全标准为 D 级的典型例子。C1 级: 非常初级的自主安全保护 。能够实现对用户和数据的分离,进行 自主存取控制 DAC),保护或限制用户权限的传播。C2 级: 安全产品的最低档次 。提供受控的存取保护,将 C1 级的 DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。达到 全” (Security) 这一特色。B1 级: 标记安全保护。 “安全” (Security) 对系统的数据加以标记,对标记的主体和客体实施C2级的产品在其名称中往往不突出“安或“可信的” (Trusted) 产品。 强制存取控制 ( MAC)、审计等安
11、全机制。B2 级:结构化保护。 建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和 MAC。经过认证的 B2 级以上的安全系统非常稀少。B3 级:安全域。A1 级:验证设计,即提供 B3 级保护的同时给出系统的形式化设计说明和验证以确信 各安全保护真正实现。2、数据库安全性控制方法:3、用户标识与鉴别是系统提供的最外层安全保护措施。用户标识:用一个用户名或用户标识号来标明用户身份。口令:系统核对口令以鉴别用户身份。基本方法系统提供一定的方式让用户标识自己的名字或身份; 系统内部记录着所有合法用户的标识; 每次用户要求进入系统时,由系统核对用户提供的身份标识; 通过鉴定后才提供机器使
12、用权。用户标识和鉴定可以重复多次该方法简单易行,但用户名和口令容易被人窃取。4、存取控制存取控制机制的组成: 定义存取(用户)权限 检查存取权限 定义存取权限:指定哪些用户可以对数据对象进行哪些操作。 检查存取权限:检查操作请求是否超出了定义的权限。常用存取控制:自主存取控制( DAC): C2级,非常灵活。同一用户对于不同的数据对象有不同的存取权限 不同的用户对同一对象也有不同的权限用户还可将其拥有的存取权限转授给其他用户强制存取控制 (MAC): B1 级,比较严格。每一个数据对象被标以一定的密级 每一个用户也被授予某一个级别的许可证 对于任意一个对象,只有具有合法许可证的用户才可以存取5
13、、用户权限有 数据库对象 和 操作类型 两个要素组成。6、自主存取控制( DAC)方法 主要通过 SQL提供的 grant 语句和 revoke 语句来实现。 授权: 定义存取权限成为授权。GRANT语句的 一般格式:GRANT ,.ON TO ,.WITH GRANT OPTION;GRANT功能(作用) :将对指定操作对象的指定操作权限授予指定的用户。发出 GRANT语句的对象: DBA(数据库管理员) , 数据库对象创建者,已经拥有该权限的 用户。 DBA 拥有对数据库所有对象的所有权限,用户对自己建立的基本表和视图拥有全部的操作权限。接受权限的用户:一个或多个具体用户,或PUBLIC,
14、即全体用户。WITHG RANTO PTION:获得某种权限的用户还可以把这种权限再授予别的用户。若没有指 定该语句,则用户只能使用该权限,不能传播该权限。例 1 把查询 Student 表权限授给用户 U1GRANT SELECT (INSERT/UPDATE(Sno) 或者为 ALL PRIVILEGES( 全部操作权限 ) ON TABLE StudentTO U1; 或者 TO U1 ,U2, U3;或者 TO PUBLIC;例 2 把对表 SC的 insert 权限授予 U5,并允许将此权限在授予其他用户。GRANT INSERTON SCTO U5WITH GRANT OPTION
15、;执行例 2 后, U5不仅拥有了对表 SC的 INSERT权限,还可以传播此权限: U5 可以将此权限授予 U6(即有 U5 发出下列语句)GRANT INSERTON SCTO U6WITH GRANT OPTION;REVOKE回( 收 )REVOKE 语句的一般格式为:REVOKE ,.ON FROM ,.CASCADE|RESTRICT;REVOKE 语句功能:从指定用户那里收回对指定对象的指定权限CASCADE: 联级回收例 把用户 U4 修改学生学号的权限收回REVOKE UPDATE(Sno)ON TABLE StudentFROM U4;或者为 PUBLIC例 把用户 U5对
16、 SC 表的 INSERT权限收回REVOKE INSERTON TABLE SCFROM U5 CASCADE;/直/ 接或间接从 U5 得到的 insert 权限也将被回收 注: 系统不同,缺省回收不同,有的是缺省为CASCAD,E有的为 RESTRICT7、强制存取控制( MAC)方法在 MAC中, DBMS所管理的全部实体被分为 主体 和 客体 两大类。主体 是系统中的活动实体, 既包括 DBMS所管理的实际用户, 也包括代表用户的各进程。 客体 是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等等。 对于主体和客体, DBMS为它们每个实例(值)指派一个敏感度标记(La
17、bel )。敏感度标记 被分成若干 级别 ,通常为:绝密 (Top Secret) 、机密 (Secret) 、可信 (Confidential) 、公开 (Public) 等。主体的敏感度标记被称为 许可证级别 ,客体的敏感度标记称为 密级 。 当某一用户(或一主体)以标记 label 注册入系统时,系统要求他对任何客体的存取 必须遵循如下 规则 :(1) 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;(2) 仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。第五章1、数据库的完整性是指 数据的正确性和相容性 。2、完整性控制机制: ( 1)提供定义完整性
18、月数条件的机制(2)提供完整性检查的方法( 3)违约处理3、实体完整性定义 :PRIMARY KEY定义, 表级完整性约束或列级完整性约束。实体完整性:主属性不能为空。例: CREATE TABLE Student(Sno CHAR(5) PRIMARY KEY Sname CHAR(20) NOT NULL , SsexCHAR(1),Sage INT ,SdeptCHAR(15);CREATE TABLE Student(SnoCHAR(5),Sname CHAR(20) NOT NULL ,SsexCHAR(1),Sage INT ,Sdept CHAR(15) ,PRIMARY KEY
19、( Sno)/*) ;CREATE TABLE SC(Sno CHAR(9) NOT NULL,Cno CHAR(4) NOT NULL,Grade SMALLINT,PRIMARY KEY ( Sno,Cno ) /* );4、实体完整性检查和违约处理/* 在列级定义主码 */在表级定义主码 */一组属性为主码,只能在表级定义主码 */按照实体完整性规则 ,系统自动检查 :1 )主码值是否唯一。 2)主码各属性是否为空。5、参照完整性定义 :创建表时 ,FOREIGN KEY定义。 参照完整性:外码取值为空或者等于相对应的主码的某个元祖的值。例: CREATE TABLE SC(Sno CH
20、AR(5) ,Cno CHAR(3) ,Grade int,Primary key (Sno, Cno)foreign key (Sno) references Student(Sno), foreign key (Cno) references Course(Cno) );6、实现参照完整性要考虑的几个问题:1 )外码能否接受空值问题2) 在被参照关系中删除元组的问题3) 在参照关系中插入元组时的问题4) 修改关系中主码的问题1 ) 外码能否接受空值问题 在实现参照完整性时,系统除了应该提供定义外码的机制,还应提供定义外码列是否 允许空值的机制。例 1: 学生(学号,姓名,性别,专业号,年龄
21、) 专业(专业号,专业名) 在学生关系中的专业号列可以取空值。例 2: 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号 ,课程号,成绩) 选修关系中的学号列不能取空值。2 )在被参照关系中删除元组的问题一般地, 当删除被参照关系的某个元组, 而参照关系存在若干元组, 其外码值与被参照 关系删除元组的主码值相同,这时可有三种不同的策略:(1) 级联删除( CASCADE)S(2) 受限删除( RESTRICTE)D 仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同 时,系统才执行删除操作,否则拒绝此删除操作。(3) 置空值删除( NULLI
22、FIES ) 删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。这三种处理方法,哪一种是正确的,要依应用环境的语义来定3 )在参照关系中插入元组时的问题一般地, 当参照关系插入某个元组, 而被参照关系不存在相应的元组, 其主码值与参照 关系插入元组的外码值相同,这时可有以下策略:(1)受限插入 仅当被参照关系中存在相应的元组,其主码值与参照关系插入元组的外码值相同 时,系统才执行插入操作,否则拒绝此操作。(2)递归插入 首先向被参照关系中插入相应的元组, 其主码值等于参照关系插入元组的外码值, 然后向参照关系插入元组。4 ) 修改关系中主码的问题(1) 不允许修改主码在有些 RDBM
23、S中,修改关系主码的操作是不允许的。(2) 允许修改主码在有些 RDBMS中,允许修改关系主码, 但必须保证主码的唯一性和非空, 否则拒绝修改。 若修改的是被参照关系,则与删除类似,有三种策略:级联修改:修改被参照关系主码值的同时,修改参照关系中相应的外码值。 受限修改:拒绝此修改操作。只当参照关系中没有任何元组的外码值等于被参照关 系中某个元组的主码值时,才能被修改。置空值修改: 修改被参照关系主码值的同时, 将参照关系中相应的外码值置为空值。 例: CREATE TABLE SC(Sno CHAR(5) NOT NULL,Cno CHAR(3) NOT NULL,Grade SMALLIN
24、T,Primary key (Sno, Cno)foreign key (Sno) references Student(Sno),ON DELETE CASCADE级连删除ON UPDATE CASCADE,级连更新foreign key (Cno) references Course(Cno)ON DELETE CASCADEON UPDATE CASCADE);7、用户定义的完整性: 元组上的约束条件的定义。列值非空( NOT NULL)列值唯一 (UNIQUE) CHECK 短语例: CREATE TABLE Student(Sno CHAR(5) ,Sname CHAR(20) NO
25、T NULL,Ssex CHAR(1) ,Sage INT ,Sdept CHAR(15) ,PRIMARY KEY( Sno)CHECK(Ssex=女 OR Sname NOT LIKE Ms.%) ;8、完整性约束命名子句CREATE TABLE Student(Sno NUMERIC( 6)CONSTRAINT C1 CHECKSname CHAR(20)CONSTRAINT C2 NOT NULLSsex CHAR(2)CONSTRAINT C3 CHECKCONSTRAINT C4 PRIMARY KEY ) ;注:C1、C2、C3、C4为约束名 修改表中的完整性限制(Sno BET
26、WEEN 90000 AND 99999),(Ssex IN (男,女), ( Sno)constraint 为定义约束名的关键字ALTER TABLE Student DROP CONSTRAINT C4 ;ALTER TABLE Student ADD CONSTRAINT C1 CHECK ( Sno BETWEEN 900000 AND 999999);第九章1、RDBMS查询处理的 4 个阶段:查询分析,查询检查,查询优化和查询执行。2、集中式数据库中查询总代价 =磁盘存取块数( I/O 代价) +处理机时间( CPU代价) +内存代价 在集中式数据库中 I/O 代价是最主要的。分布
27、式数据库中查询总代价 =I/O 代价 +CPU代价 +内存代价 +通信代价3、查询优化的 总目标:( 1)选择有效的策略( 2)求得给定关系表达式的值( 3)使得查询 代价最小 ( 实际上是较小 )4、代数优化 常用的等价变换规则:( 1) 连接、笛卡尔积交换律设 E1和 E2是关系代数表达式, F 是连接运算的条件,则有(2)连接、笛卡尔积的结合律设 E1, E2, E3是关系代数表达式, F1和 F2是连接运算的条件,则有( 3) 投影的串接定律这里, E是关系代数表达式, Ai(i=1 ,2, n) ,Bj(j=1 ,2, m)是属性名且 A1, A2, An构成B1,B2, Bm的子集
28、。(4)选择的串接定律这里, E 是关系代数表达式, F1、 F2是选择条件。 选择的串接律说明选择条件可以合并。这样一次就可检查全部条件。(5)选择与投影操作的交换律选择条件 F只涉及属性 A1, An。若 F 中有不属于 A1, An 的属性 B1, Bm则有更一般的规则:(6) 选择与笛卡尔积的交换律如果 F中涉及的属性都是 E1 中的属性,则如果 F=F1 F2,并且 F1只涉及 E1中的属性, F2只涉及 E2中的属性, 则由上面的等价 变换规则 1,4,6 可推出:若 F1只涉及 E1中的属性, F2涉及 E1和 E2两者的属性,则仍有它使部分选择在笛卡尔积前先做。(7) 选择与并
29、的分配律设 E=E1E2,E1,E2 有相同的属性名,则 F(E1E2) F(E1) F(E2)(8) 选择与差运算的分配律若 E1与 E2 有相同的属性名,则F(E1-E2) F(E1)- F(E2)(9) 选择对自然连接的分配律 F(E1 E2) F(E1)F(E2)F 只涉及 E1 与 E2 的公共属性(10) 投影与笛卡尔积的分配律设E1和E2是两个关系表达式, A1, An是E1的属性, B1, Bm是 E2的属性, 则(11) 投影与并的分配律设 E1和 E2 有相同的属性名,则5、查询树的启发式优化1. 选择运算应尽可能先做。在优化策略中这是最重要、最基本的一条2. 把投影运算和
30、选择运算同时进行3. 把投影同其前或其后的双目运算结合起来4. 把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算5. 找出公共子表达式6、查询优化树的示例 例 3 求选修了 2 号课程的学生姓名。用 SQL表达:SELECT Student.SnameFROM Student , SCWHERE Student.Sno=SC.Sno AND SC.Cno= 2; 把 SQL语句转换成查询树,如下图所示为了使用关系代数表达式的优化法,假设内部表示是关系代数语法树,则上面的查询 树如下图所示。对查询树进行优化如下图第十章1、事务: 是用户定义的一个数据库操作序列,这些操作要么全做,要么
31、全不做,是一个不 可分割的工作单位。2、事务的四大特点 :原子性( Atomicity )一致性( Consistency )隔离性( Isolation ) 持续性( Durability )。3、事务是恢复和并发控制的基本单位。4、四大类故障 :事务内部的故障、系统故障、介质故障、计算机病毒5、恢复机制涉及的 两个关键问题 : 第一, 如何建立冗余数据; 第二, 如何利用这些冗余数据 实施数据库恢复。6、建立冗余数据值 常用的技术 是:数据转储和登录日志文件。7、数据转储分类静态转储: 在系统中无运行事务是进行的转储操作。 简单, 但会降低数据库的可用性。 动态转储 :转储期间允许对数据库
32、进行存取或修改。 即转储和用户事务可以并发执行。 优点:不用等待正在运行的用户事务结束,不会影响新事务的运行。 缺点:不能保证副本中的数据正确有效。海量转储: 每次转储全部数据库。 增量转储: 每次只转储上一次转储后更新过的数据。8、日志文件 :用来记录事务对数据库的更新操作的文件。 登记日志文件时必须遵循的 两条原则 :( 1)登记的次序严格按并发事务执行的时间 次序。(2)必须先写日志文件,在写数据库。9、事务故障的回复 (由系统自动完成) 步骤:(1)反向扫描文件日志 (即从最后向前扫描日志文件) ,查找该事务的更新操作。( 2)对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”
33、( BeforImage, BI )写入数据库。插入操作, “更新前的值”为空,则相当于做删除操作 删除操作,“更新后的值”为空,则相当于做插入操作 若是修改操作,则用 BI ( Before Image ) 代替 AI (After Image )( 3) 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。( 4)如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。10、系统故障的回复( 由系统在重新启动时自动完成) 步骤:(1)正向扫描日志文件(即从头扫描日志文件)Redo 队列 : 在故障发生前已经提交的事务 T1, T3, T8 .Undo队列 : 故障发生时尚未
34、完成的事务 T2, T4, T5, T6, T7, T9 .(2)对 Undo 队列事务进行 UNDO处理。反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作。T2, T4, T5, T6, T7, T9(3)对 Redo 队列事务进行 REDO处理。正向扫描日志文件,对每个REDO事务重新执行登记的操作。T1, T3, T8 .11、介质故障的回复 步骤:(1)装入最新的后备数据库副本,使数据库恢复到最近一次转储时的一致性状 态。(对于 静态转储 的数据库副本,装入后数据库即处于一致性状态。对于 动态转储 的数据 库副本,还须同时装入转储时刻的日志文件副本,利用与恢复系统故障相同的方法
35、(即 REDO+UND),O 才能将数据库恢复到一致性状态。 )(2)装入有关的日志文件副本,重做已完成的事务。首先扫描日志文件, 找出故障发生时已提交的事务的标识, 将其记入重做队列。 然后正 向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值” 写入数据库。第十一章1、多事务执行方式 串行执行、交叉并发方式、同时并发方式2、为什么要进行并发控制? 当多个用户并发地存取数据库时就会产生多个事务同时存取同一数据的情况。 若对并发 操作不加控制就可能会存取和存储不正确的数据,破坏是事务的一致性和数据库的一致性。 所以数据库管理系统必须提供并发控制机制。3、数据库管理系
36、统中并发控制机制的责任:保证事务的隔离性和一致性,DBMS需要对并发操作进行正确调度。4、并发操作带来的 数据不一致性 主要有:丢失修改、不可重复读、读“脏”数据。5、并发控制技术:封锁。Y=Yes,相容的请求N=No ,不相容的请求8、三级封锁协议:1 级封锁协议 :事务 T 在修改数据 R 之前必须先对其加 X锁,直到事务结束才释放。 正常结束( COMMI)T非正常结束( ROLLBAC)K1 级封锁协议可防止丢失修改在 1 级封锁协议中, 如果是读数据, 不需要加锁的, 所以它不能保证可重 复读和不读“脏”数据。2 级封锁协议 :1 级封锁协议 +事务 T在读取数据 R前必须先加 S锁
37、,读完后即可释放 S 锁。2 级封锁协议可以防止丢失修改和读“脏”数据。在 2 级封锁协议中, 由于读完数据后即可释放 S 锁,所以它不能保证可重复读。3 级封锁协议 :1 级封锁协议 + 事务 T 在读取数据 R之前必须先对其加 S锁,直到事务 结束才释放。3 级封锁协议可防止丢失修改、读脏数据和不可重复读。三级封锁协议总结:9、活锁: 某个事务永远处于等待状态。避免活锁的简单方法是采用先来先服务的策略。10、死锁: 多个事务同时处于等待状态。 每个事务都在等待其它事务释放锁使其能够继续执 行,从而出现多个事务互相等待的僵局,每个事务永远不能结束。11、死锁的预防:不易实现,故 DBMS在解
38、决死锁问题上普遍采用诊断并解除死锁的方法1)一次封锁法 :要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继 续执行。一次封锁法存在的问题:降低并发度、扩大封锁范围。 将以后要用到的全部数据加锁,势必扩大了封锁的范围,从而降低了系统的并发度。 2)顺序封锁法 :顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个 顺序实行封锁。顺序封锁法存在的问题:维护成本高。 数据库系统中可封锁的数据对象极其众多, 并且随数据的插入、 删除等操作而不断地变化,要维护这样极多而且变化的资源的封锁顺序非常困难,成本很高。12、死锁诊断与解除死锁诊断方法:1 )超时法: 如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。 优点:实现简单缺点: 有可能误判死锁。 时限若设置得太长,死锁发生后不能及时发现。2 )等待图法 :用事务等待图动态反映所有事务的等待情况。 事务等待图是一个有向图 G=(T, U)T为结点的集合,每个结点表示正运行的事务U为边的集合,每条边表示事务等待的情况若T1等待 T2,则 T1, T2之间划一条有向边,从 T1指向 T2 并发控制子系统周期性地(比如每隔1 min)检测事务等待图,如果发现图中存在回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 圆的面积课件教学评价
- 2025年医院护理部主任竞聘面试经验与题目预测
- 2025年心理治疗师初级面试模拟试卷及参考答案
- 课与课件融合案例
- 2025年安全操作规范知识题库
- 2025年农机长助理笔试核心考点精解
- 2025年无人机航拍技术初级复习手册
- 2025年干部学院教师招聘笔试模拟练习题及答案
- 乌塔课文教学课件
- 2025年新疆安全生产培训考试强化训练
- 数据中心负荷计算方法
- 水箱拆除专项施工方案
- YY/T 1851-2022用于增材制造的医用纯钽粉末
- GB/T 20858-2007玻璃容器用重量法测定容量试验方法
- 纪委案件审理课件教材
- 生活中的会计课件
- 辽宁大学学生手册
- 湘美版美术一年级上册全册课件
- 酒水购销合同范本(3篇)
- 师说一等奖优秀课件师说优质课一等奖
- 学习罗阳青年队故事PPT在急难险重任务中携手拼搏奉献PPT课件(带内容)
评论
0/150
提交评论