江山市建设局网站,本地主机 搭建网站,flash全屏网站模板,网站优化自己可以做吗前言
今天刚结束考试#xff0c;考的范围基本没有超过这套重点内容#xff0c;觉得整理的这份资料还算比较有用#xff0c;遂睡前整理了下分享给大家#xff0c;希望能帮到要准备数据库期末又时间紧张的学弟学妹~
文章参考#xff1a;
1.课程老师发《数据库期末考试复习…前言
今天刚结束考试考的范围基本没有超过这套重点内容觉得整理的这份资料还算比较有用遂睡前整理了下分享给大家希望能帮到要准备数据库期末又时间紧张的学弟学妹~
文章参考
1.课程老师发《数据库期末考试复习重点2022》 2.HNU数据库系统教学PPT 3.《数据库系统概论》官网考试平台 http
重点大纲前言文章参考第一章 绪论1.1 数据库的4个基本概念数据、数据库、数据库管理系统和数据库系统1.2数据库系统的特点、数据库系统与文件系统的区别与联系1.3数据库系统的三级模式结构外模式、模式、内模式数据库的二级映像功能与数据独立性逻辑独立性、物理独立性第二章 关系数据库2.1 码、主属性、非主属性、外码2.2 关系代数 并、差、交、笛卡尔积、选择、投影、连接、除运算。2.3关系代数查询及关系运算第三章 关系数据库标准语言SQL3.1 SQL的基本概念基本表、视图。3.2基本表及视图的定义、查询、更新3.3 数据查询:常用的SQL语句常用的查询、修改、删除、分组、排序等SQL 语句3.4 能熟练使用通配符3.5多表连接查询、复合条件连接查询、嵌套查询3.6 数据更新 插入数据、修改数据、删除数据3.7 空值的处理第四章 数据库安全性4.1 数据库的安全性4.2实现数据库安全性控制常用的方法和技术4.3能熟练使用SQL语句完成对关系模式的授权/回收操作第五章 数据库的完整性5.1数据库的完整性5.2实体完整性、参照完整性、用户定义完整性第六章 关系数据理论6.1对函数依赖、码、主属性、非主属性、外码等有深入的理解多值依赖6.2掌握规范化理论能够判断给定关系模式的规范化程度6.3掌握模式的分解,能够按要求对给定关系模式进行分解修改为符合更高一级的范式6.4 掌握数据依赖的公理系统能求解闭包和最小依赖集。求XF的算法极小函数依赖集第七章 数据库设计7.1掌握数据库的设计方法与设计的步骤7.2根据语义设计系统的E-R图并将E-R图转换为关系模式写出关系名称和所有属性7.3数据库设计方面有自己独到的理解第八章 嵌入式SQL8.1理解主变量8.2理解嵌入式SQL中引入游标的作用8.3 理解存储过程第九章 关系查询处理和查询优化9.1关系代数表达式的优化策略及步骤9.2代数优化、物理优化第十章 数据库恢复技术10.1对事务的基本概念及事务的ACID特性有一定的理解和掌握10.2 理解数据库系统中故障的种类10.3掌握数据库恢复技术数据转储、登记日志文件对恢复子系统及其功能有一定的掌握。10.4掌握并能熟练使用具有检查点的恢复技术。第十一章 并发控制11.1并发控制及并发操作带来的数据不一致性11.2封锁技术及基本封锁类型排他锁和共享锁、三级封锁协议11.3活锁和死锁死锁的预防、诊断与解除11.4可串行化调度及两段锁协议判断一个并发调度是不是冲突可串行化调度。11.5理解封锁粒度及多粒度封锁。11.6能熟练使用并发控制进行事务调度第一章 绪论
1.1 数据库的4个基本概念数据、数据库、数据库管理系统和数据库系统
数据描述事物的符号记录是数据库中存储的基本对象
数据库是长期存储在计算机内有组织的可共享的大量数据的集合
数据库管理系统位于用户与操作系统之间的一层数据管理软件是基础软件是一个大型复杂的软件系统
数据库系统由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
1.2数据库系统的特点、数据库系统与文件系统的区别与联系
特点 数据结构化 数据的共享性高冗余度低且易扩充 数据的独立性高 数据由数据库管理系统统一管理和控制
区别
文件系统面向某一应用程序共享性差冗余度大独立性差记录内有结构整体无结构应用程序自己控制。
数据库系统面向现实世界共享度高冗余度小具有高度的物理独立性和一定的逻辑独立性整体结构化用数据模型描述由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力
联系
文件系统和数据库系统都是计算机系统中管理数据的软件。数据库中数据的组织和存储是通过操作系统中文件系统来实现的。
1.3数据库系统的三级模式结构外模式、模式、内模式
数据库的二级映像功能与数据独立性逻辑独立性、物理独立性
外模式亦称子模式或用户模式是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。
模式亦称逻辑模式是数据库中全体数据的逻辑结构和特征的描述是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。
内模式亦称存储模式是数据在数据库系统内部的表示即对数据的物理结构和存储方式的描述。
三级模式结构的优点数据库的三级模式是对数据的三个抽象级别它把数据的具体组织留给DBMS管理使用户能逻辑抽象地处理数据而不必关心数据在计算机中地存储和表示。
为了能在内部实现这三个抽象层次地联系和转换数据库系统在这三级模式之间提供了两层映像外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库中的数据能够具有较高的逻辑独立性和物理独立性。
逻辑独立性当模式改变时由数据库管理员对各个外模式/模式的映像作相应改变可以使外模式保持不变。应用程序是依据数据的外模式编写的从而应用程序不必修改保证了数据与程序的逻辑独立性。
物理独立性当数据库的存储结构改变由数据库管理员对模式/内模式映像作相应改变可以使模式保持不变从而应用程序也不必改变保证了数据与程序的物理独立性。
第二章 关系数据库
2.1 码、主属性、非主属性、外码
候选码能唯一地标示一个元组的某一个属性组而其子集不能
全码关系模式的所有属性组是这个关系模式的候选码
主码若一个关系有多个候选码则选定其中一个为主码
主属性候选码的诸属性称为主属性
非主属性不包含任何候选码中的属性
外码设F是基本关系R的一个或一组属性但不是关系R的码。如果F与基本关系S的主码Ks相对应则称F是R的外码
2.2 关系代数 并、差、交、笛卡尔积、选择、投影、连接、除运算。 除运算步骤R÷S
1.找R中和S不重合属性的取值集合
2.对每个值求在重合属性上象集
3.求S在重合属性组上的投影
4.象集包含投影的值为答案
2.3关系代数查询及关系运算 题目中含有至少多个全部的就包含除法除数为这个至少/全部的限制
第三章 关系数据库标准语言SQL
3.1 SQL的基本概念基本表、视图。
SQL结构化查询语言是关系数据库的标准语言
基本表本身独立存在的表SQL中一个关系就对应一个基本表一个或多个基本表对应一个存储文件一个表可以带若干索引
视图是从一个或多个基本表中导出的表数据库中只存放视图的定义而不存放视图对应的数据视图是一个虚表用户可以在视图上再定义视图
3.2基本表及视图的定义、查询、更新
表
定义
CREATE TABLE Student(Sno CHAR(9) RRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)
);CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno)
);更新
ALTER TABLE Student ADD S_en DATE;
ALTER TABLE Student ALTER COLUMN Sage INT;删除
DROP TABLE Student CASCADE;
DROP TABLE Student RESTRICT;视图
定义
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE SdeptIS
WITH CHECK OPTION;//删除
DROP VIEW IS_Student CASCADE;//查询更新同基本表 更新无法转换为对基本表的更新则不能执行
3.3 数据查询:常用的SQL语句常用的查询、修改、删除、分组、排序等SQL 语句
SELECT Sno,Sname FROM Student;
SELECT * FROM Student;//查询经过计算的值并取别名(空格)
SELECT Sname Name,2014-Sage BIRTHDAY,LOWER(Sdept) DEP FROM Student;//去除表中重复的行
SELECT DISTINCT Sno FROM SC;//简写条件
WHERE Sage BETWEEN 20 AND 23; //包括20和23
WHERE Sdept IN (CS,MA);
WHERE SdeptCS AND Sage20;//ORDER BY
SELECT Sno,Grade
FROM SC
WHERE Cno3
ORDER BY Grade DESC; //默认为ASC 升序//聚集函数 除了COUNT,还有AVG MAX MIN SUM
SELECT COUNT(*) FROM Student; //查询学生总人数
SELECT COUTN(DISTINCT Sno) FROM SC; //查询选修了课程的学生人数//GROUP BY
//求各个课程号及相应的选课人数
SELECT Cno,COUNT(Sno)
FROM SC
GROUP BY Cno;
//使用HAVING选择满足条件的组
SELECT Sno
FROM SC
GROUP BY Sno
HAVING COUNT(*)33.4 能熟练使用通配符
WHERE Sname LIKE 刘%;
WHERE Sname NOT LIKE 欧_;
WHERE Cname LIKE DB\_%I__ ESCAPE\; \\ ESCAPE\表示“\”为换码字符3.5多表连接查询、复合条件连接查询、嵌套查询
多表连接查询
//1.等值
WHERE Student.SnoSC.Sno//2.自然连接 显式指出保留哪个值
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROM Student,SC
WHERE Student.SnoSC.Sno;//多表
SELECT Student.Sno,Sname,Cname,Grade
FROM Student.SnoSC.SnoAND SC.CnoCourse.Cno;复合条件连接查询
SELECT Student.Sno,Sname
FROM Student,SC
WHERE Student.SnoSC.Sno ANDSC.Cno2 AND SC.Grade90;
自身连接 需取别名以区分
SELECT FIRST.Cno,SECOND.Cno
FROM Course FIRST,Course SECOND
WHERE FIRST.CpnoSECOND.Cno;嵌套查询
SELECT Sno
FROM Studen
WHERE Sdept IN(SELECT SdeptFROM StudentWHERE Sname刘晨);
省EXIST
UNION 并集去重
UNION ALL 并集不去重
INTERSECT 交集
EXCEPT 差集
3.6 数据更新 插入数据、修改数据、删除数据
插入
INSERT INTO Student(Sno,SnameSage) VALUES(200801,陈东,18);INSERT INTO SC VALUES(200801,1,NULL);INSERT INTO Dept_age(Sdept,Avg_age)SELECT Sdept,AVG(Sage)FROM StudentGROUP BY Sdept;修改
UPDATE Student SET Sage22 WHERE Sno234345;UPDATE SC
SET Grade0
WHERE Sno IN(SELECT SnoFROM StudentWHERE SdeptCS);删除
DELETE FROM Student WHERE Sno23456;DELETE FROM Studen;DELETE
FROM SC
WHERE Sno IN(SELECT SnoFROM StudentWHERE SdeptCS);3.7 空值的处理
WHERE Grade IS NULL;
WHERE Grade IS NOT NULL;第四章 数据库安全性
4.1 数据库的安全性
保护数据库以防止不合法使用所造成的数据泄露、更改或破坏
4.2实现数据库安全性控制常用的方法和技术
1.用户标识和鉴别该方法由系统提供一定的方法让用户标识自己的名字或身份。每次用户要求进入系统时由系统进行核对通过鉴定后才提供系统的使用权
2.存取控制通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库所有未被授权的人员无法存取数据。例如C2级别中的自主存取控制B1级别中的强制存取控制
3.视图机制为不同的用户定义视图通过视图机制把要保密的数据对无权存取的用户隐藏起来从而自动地对数据提供一定程度地安全保护
4.审计建立审计日志把用户对数据库的所有操作自动记录下来放入审计日志中DBA可以利用审计跟踪信息重现导致数据库现有状况的一系列事件找出非法存取数据的人、时间和内容等
5.数据加密对存储和传输的数据进行加密处理从而使得不知道解密算法的人无法获知数据的内容
补充
自主存取控制方法定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。
强制存取控制方法每一个数据对象被强制地标以一定的密级每一个用户也被强制地授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
4.3能熟练使用SQL语句完成对关系模式的授权/回收操作
授权
GRANT UPDATE(Sno) SELECT
ON TABLE Student
TO U1
WITH GRANT OPTION;//全部权限
GRANT ALL PRIVILIGES
ON TABLE Student,Course
TO U2,U3;//全部用户
GRANT SELECT
ON TABLE Student
TO PUBLIC;
回收
REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4;REVOKE UPDATE(Sno) SELECT
ON TABLE Student
FROM U1 CASCADE; //级联收回
角色
CREATE ROLE R1;GRANT SELECT
ON TABLE Student
TO R1;GRANT R1 TO U1;
REVOKE R1 FROM U1;REVOKE SELECT
ON TABLE Student
FROM R1;第五章 数据库的完整性
5.1数据库的完整性
据库的完整性是指数据的正确性和相容性
5.2实体完整性、参照完整性、用户定义完整性
实体完整性:主码 PRIMARY KEY
检查主码是否唯一不唯一则拒绝插入或修改检查主码的各个属性是否为空只要有一个为空将拒绝插入或修改
参照完整性外码 FOREIGN KEY
FOREIGN KEY(Sno) REFERENCES Student(Sno)ON DELETE CASCADEON UPDATE CASCADE,
FOREIGN KEY(Cno) REFERENCES Course(Cno)ON DELETE NO ACTIONON UPDATE CASCADE,用户定义完整性:
NOT NULLUNIQUECHECK (…) 列级表级皆可
完整性约束命名子句(创建表时)
CONSTRAINT C1 CHECK (Sage30)CONSTRAINT C1 NOT NULL//删除
ALTER TABLE Student
DROP CONSTRAINT C1;第六章 关系数据理论
6.1对函数依赖、码、主属性、非主属性、外码等有深入的理解
X—Y关系r中不可能存在两个元组在X上的属性值相等而在Y上的属性值不等则称X函数确定Y或Y函数依赖于X
ps函数依赖是指R的一切关系均要满足的约束条件
非平凡的函数依赖X—Y,但Y∉x
平凡的函数依赖X—Y,但Y∈x 对任一关系模式平凡函数依赖必然成立
决定因素若X—Y,则称X为这个函数依赖的决定属性组
Y对X完全函数依赖在R(U)中如果X—Y并且对于X的任一真子集X’,都有X-\-Y。记作
部分函数依赖X—Y但Y不完全函数依赖于X。记作
传递函数依赖 多值依赖 定义有点绕其实就是从函数依赖的一对一关系变成了一对多
平凡的多值依赖X——Y而Z∅即Z为空
性质
对称性。若X——Y则X——Z其中ZU-X-Y传递性。若X——YY——Z则X——Z-Y函数依赖可以看做是多值依赖的特殊情况若X——YX——Z则X——YZ若X——YX——Z则X——Y∩Z若X——YX——Z则X——Y-ZX——Z-Y
多值依赖和函数依赖的区别
多值依赖的有效性与属性集的范围有关 候选码K为RU,F中的属性或属性组合若U完全依赖于K则K为R的候选码
超码U部分函数依赖于K。 候选码是最小的超码
主码候选码中的一个
主属性包含在任何一个候选码中的属性
全码整个属性是码候选码/主码
外码关系模式R中的属性X并非R中的码但X是另一个关系模式的码则称X为R的外部码
6.2掌握规范化理论能够判断给定关系模式的规范化程度 6.3掌握模式的分解,能够按要求对给定关系模式进行分解修改为符合更高一级的范式
实行模式分解的三条准则 分解具有无损连接性lossless join 分解要保持函数依赖preserve functional dependency 分解既要保持函数依赖又要具有无损连接性 6.4 掌握数据依赖的公理系统能求解闭包和最小依赖集。
Armstrong公理系统 求XF的算法 极小函数依赖集 第七章 数据库设计
7.1掌握数据库的设计方法与设计的步骤 需求分析准确了解与分析用户需求包括数据与处理。 概念结构设计通过对用户需求进行综合、归纳与抽象形成一个独立于具体DBMS的概念模型。 逻辑结构设计将概念结构转换为某个DBMS所支持的数据模型并对其进行优化。 数据库物理设计为逻辑数据模型选取一个最适合应用环境的物理结构包括存储结构和存取方法。 数据库实施设计人员运用DBMS提供的数据语言、工具及宿主语言根据逻辑设计和物理设计的结果建立数据库编制与调试应用程序组织数据入库并进行试运行。 数据库运行和维护在数据库系统运行过程中对其进行评价、调整与修改。 7.2根据语义设计系统的E-R图并将E-R图转换为关系模式写出关系名称和所有属性
例子 7.3数据库设计方面有自己独到的理解
第八章 嵌入式SQL
8.1理解主变量
在SQL语句中使用的主语言程序变量简称为主变量
8.2理解嵌入式SQL中引入游标的作用
游标是系统为用户开设的一个数据缓冲区存放SQL语句的执行结果
用户可以用SQL语句逐一从游标中获取记录并赋给主变量交由主语言进一步处理 8.3 理解存储过程
存储过程由过程化SQL语句书写的过程经编译和优化后存储在数据库服务器中使用时只要调用即可。
第九章 关系查询处理和查询优化
9.1关系代数表达式的优化策略及步骤
优化策略
选择尽可能先做投影选择同时进行把投影和其前或其后的双目运算笛卡尔乘积、自然连接结合起来执行把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算找出公共子表达式选取合适的连接运算
查询优化的一般步骤
把查询转换成某种内部的表示语法树利用优化算法把原始的语法树转换成优化的形式选择低层的存取路径生成查询计划选择代价最小的 9.2代数优化、物理优化
代数优化改变查询语句中操作的次序和组合不涉及底层的存取路径
物理优化就是要选择高效合理的操作算法或存取路径求得优化的查询计划
第十章 数据库恢复技术
10.1对事务的基本概念及事务的ACID特性有一定的理解和掌握
事务是用户定义的一个数据库操作序列这些操作要么全做要么全不做是一个不可分割的工作单位
事务是恢复和并发控制的基本单位
事务的ACID特性 原子性 事务是数据库的逻辑工作单位 一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态 隔离性 一个事务的执行不能被其他事务干扰 持续性/永久性 事务一旦提交它对数据库中数据的改变就是永久的
10.2 理解数据库系统中故障的种类 事务内部的故障 运算溢出 并发事务发生死锁而被选中撤销该事务 违反了某些完整性限制而被终止等 恢复事务撤销UNDO 系统故障 整个系统的正常运行突然被破坏 操作系统故障 数据库管理系统代码错误 系统断电 恢复1.撤销所有未完成的事务重做所有已提交的事务 介质故障/硬故障/外存故障 磁盘损坏 磁头碰撞 瞬时强磁场干扰 恢复需要重新装入发生介质故障前某个时刻的数据库数据副本并重做REDO自备份相应副本数据库之后的所有成功执行事务将这些事务已提交的更新结果重新反应到数据库中去。无需UNDO操作 计算机病毒 恢复通过数据库的安全机制、审计机制等实现对数据库的授权访问和保护
10.3掌握数据库恢复技术数据转储、登记日志文件对恢复子系统及其功能有一定的掌握。
数据转储数据库管理员定期地将整个数据库复制到磁盘、磁带或其他存储介质上保存起来的过程
要想恢复到故障发生时的状态必须重新运行自转储以后的所有更新事务 静态转储在系统中无运行事务时进行的转储操作降低了数据库的可用性 动态转储转储操作与用户事务并发进行不能保证副本中的数据正确有效。需要把动态转储期间各事务对数据库的修改活动登记下来建立日志文件 海量转储每次转储全部数据库 增量转储只转储上次转储后更新过的数据
日志文件用来记录事务对数据库的更新操作的文件
以记录为单位的日志文件 作用 进行事务故障恢复进行系统故障恢复协助后备副本进行介质故障恢复。
原则
登记的次序严格按并发事务执行的时间次序必须先写日志文件后写数据库
事故恢复的基本步骤
反向扫描日志文件查找该事务的更新操作对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库读到此事务的开始标志事务故障恢复就完成了
系统故障的恢复
正向扫描日志文件 重做队列撤销队列 Undo故障发生时未完成的事务反向扫描日志文件对每个撤销事务的更新操作执行逆操作Redo已完成的事务正向扫描日志我文件对每个重做事务重新执行登记的操作即将“更新后的值”写入是数据库
介质故障的恢复需要数据库管理员的介入
重装数据库装入有关的日志文件副本重做已完成的事务
10.4掌握并能熟练使用具有检查点的恢复技术。
提高恢复效率
在日志文件中增加检查点记录增加重新开始文件恢复子系统在登录日志文件期间动态地维护日志
检查点记录建立检查点时刻所有正在执行的事务清单这些事务最近一个日志记录的地址
重新开始文件记录各个检查点记录在日志文件中的地址
动态维护日志文件的方法
周期性的执行建立检查点保存数据库状态
利用检查点的恢复步骤
从重新开始文件中找到最后一个检查点记录在日志文件中的地址由该地址在日志文件中找到最后一个检查点记录由该检查点记录得到检出点建立时刻所有正在执行的事务清单从检查点开始正向扫描日志文件直到日志文件结束撤销检查点后未完成事务包括检查点前事务开始后的修改重做检查点后已完成事务只重做检查点后的 第十一章 并发控制
11.1并发控制及并发操作带来的数据不一致性
由于并发操作破坏了事务的隔离性
丢失修改不可重复读读脏数据
11.2封锁技术及基本封锁类型排他锁和共享锁、三级封锁协议
封锁事务T在对某个数据对象操作之前先向系统发出请求对其加锁。加锁后事务T就对该数据对象有了一定的控制在事务T释放它的锁之前其他的事务不能更新此数据对象
排他锁/写锁若事务T对数据对象A加上X锁则其他事务在T释放A上的锁之前不能再读取和修改A
共享锁/读锁若事务T对数据对象A加上S锁则事务T可以读A但不能修改A其他事务只能再对A加S锁而不能加X锁直到T释放A上的锁大家都可以读
三级封锁协议
一级在事务T修改数据R之前必须先对其加X锁直到事务结束才释放只读不锁还存在2、3问题
二级一级封锁协议加上事务T在读取数据R之前必须先对其加S锁读完后即可释放S锁还存在2问题
三级一级封锁协议加上事务T在读取数据R之前必须先对其加S锁直到事务结束才释放
11.3活锁和死锁死锁的预防、诊断与解除
活锁某事务T永远等待
避免方法采用先来先服务
死锁你等我我等你几个事务永远不能结束
预防 一次封锁法 要求每个事务必须一次将所有要使用的数据全部加锁否则不能继续执行 问题过早加锁降低系统并发度难于事先精确确定封锁对象 顺序封锁法 预先对数据对象规定一个封锁顺序所有事务都按这个顺序实行封锁 问题维护成本高难于实现
诊断与解除由DBMS的并发控制子系统定期检测系统中是否存在死锁一旦检测到就要设法解除
诊断 超时法 如果一个事务的等待时间超过了规定的时限就认为发生了死锁 等待图法 用事务等待图G(T,U)动态反映所有事务的等待情况生成回路则表示系统中出现了死锁
解除选择一个处理死锁代价最小的事务将其撤销释放此事务持有的所有的锁使其他事务能继续运行下去
11.4可串行化调度及两段锁协议判断一个并发调度是不是冲突可串行化调度。
可串行化调度多个事务的并发执行是正确的并且仅当其结果与按某一次序串行地执行这些事务时的结果相同
冲突操作读写、写写
冲突可串行化调度一个调度Sc在保证冲突操作的次序不变的情况下通过交换两个事务不冲突操作的次序得到另一个调度Sc’如果Sc’是串行的称调度Sc是冲突可串行化的调度
两段锁协议指所有事务必须分两个阶段对数据项加锁和解锁是可串行化调度的充分条件
在对任何数据进行读、写操作之前事务首先要获得对该数据的封锁在释放一个封锁之后事务不再申请和获得任何其他封锁
遵守三级封锁协议在不同程度上保证数据一致性必然遵守两段锁协议保证并发调度的正确性
11.5理解封锁粒度及多粒度封锁。
封锁粒度封锁对象的大小
封锁粒度越小并发度越高系统开销越大
多粒度封锁在一个系统中同时支持多种封锁粒度供不同的事务选择
对某个数据对象加锁系统要检查
该数据对象所有上级结点所有下级结点
意向锁对任一结点加基本锁必须先对它的上层结点加意向锁
无需逐个检查下一级结点的显示封锁提高了对某个数据对象加锁时系统的检查效率
意向共享锁 \ IS锁意向排他锁 \ IX锁共享意向排他锁 \ SIX锁
锁的强度 11.6能熟练使用并发控制进行事务调度
注标“*”号章节不考第8章需要复习8.1到8.3