1、数据是描述事物的符号记录
2、数据库是长期存在于计算机内,有组织可共享的大量数据的集合。具有较小冗余度、较高数据独立性和易扩展性
3、数据库管理系统功能:数据操纵、数据定义、数据组织存储和管理、数据控制
4、数据库系统包括:数据库DB,数据库管理系统DBMS,数据库管理员DBA和应用程序
5、数据管理三个阶段:人工管理、文件管理、数据库管理系统
6、数据库系统比文件系统的优势:实现了整体数据结构化(本质区别)、数据共享性高冗余度低、数据独立性高、数据由数据库管理系统统一管理和控制。
7、数据独立性是指应用程序和数据之间相互独立,不受影响。数据独立性包括物理独立性和逻辑独立性。
8、逻辑独立性是指用户的应用程序与数据库的逻辑是相互独立的。
9、物理独立性是指用户的应用程序与数据的物理存储结构是相互独立的。
10、数据模型是对现实世界数据特征的抽象。
11、数据模型分为两类,第一类是概念模型,第二类是逻辑模型和物理模型
12、数据模型通常由数据结构、数据操作、完整性约束组成——三要素!!!!
数据结构是对系统的静态表述
数据操作是对系统的动态描述(查询和更新)
完整性约束保证数据的正确有效和相容
13、数据库主要的逻辑模型有:层次模型、网状模型、关系模型、面向对象模型
14、数据库三级模式的模式也称逻辑模式,是数据库全体数据的逻辑结构和特征的表述,是作用用户的公共数据视图。
15、外模式又称子模式或用户模式,是数据库用户可以看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图
16、内模式又称存储模式,是数据物理结构和存储方式的描述,是数据库内在的组织方式。
17、外模式/模式映像可以保证数据与程序的逻辑独立性,模式/内模式映像可以保证数据与程序的物理独立性。
18、索引属于内模式,视图属于外模式!!!
19、数据的完整性是指数据的正确性有效性和相容性。
20、实体内部的联系是指组成实体的各属性的联系,实体外部联系是指不同实体集之间的联系。
21、在用户观点下,关系模型中的逻辑结构是一张二维表,它由行和列组成
22、数据操作是集合操作,操作对象和操作结果都是关系,即元组的集合
23、数据库系统的结构:数据库系统的外部结构是体系结构,内部结构是模式结构
简答题:
1、数据管理技术发展的三个阶段和特点。文件系统和数据库系统的区别,数据库系统管理数据的优点?
2、数据模型的三要素是?常用的数据模型有哪些?
3、数据独立性由什么保证?
4、数据库系统的内部数据组织为何采用三级模式结构?
它把数据的具体组织留给DBMS管理,使用户可以逻辑抽象的处理数据,而不必关系数据在计算机中的表示和储存。使用三级模式结构还有很多优点:保证数据的独立性、简化了用户接口、有利于数据共享和加密。
1、候选码是指某一属性组的值可以唯一标识一个元组,而其子集不能,则称该属性组为候选码。域是一组具有相同数据类型的值的集合。包含在任一候选码称为主属性。
2、关系有三种类型:基本关系、查询表和视图。
3、基本关系操作:选择、投影、并、差、笛卡尔积!!!剩余的操作有:连接、交、除、
4、关系操作的特点是集合操作方式。
5、关系操作分为关系操作和关系演算,关系演算语言分为元组关系演算(ALPHA)和域关系演算(QBE),关系代数语言有ISBL。
6、关系模式完整性:实体完整性、参照完整性、用户定义的完整性。
7、关系代数中:象集和除法的概念。
8、连接是指从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
9、现实世界的实体以及实体间的各种联系都用关系来表示。
10、若U部分依赖于K,则K称为超码
11、关系模式是“型”,对关系的描述时静态的、稳定的;关系是“值“,是动态的,是随时间不停变化的
简答题:
1、关系模型的三类完整性有哪些?他们的含义是什么。
2、什么是关系的两个不变性?(指静态关系约束中的实体完整性约束和静态关系约束中的参照完整性约束。)
3、关系代数的五个基本运算是哪五个?其他运算如何用基本运算表达?
4、试述关系模型的完整性原则。在参照完整性中,什么情况下外码属性的值可以为空?
实体完整性是指若属性A是基本关系R的主属性,则属性A不能为空。当外码属性所对应不为主属性时,可以为空,否则不可以。
1、SQL的特点有:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供多种使用方式、语言简洁。
2、定义模式:CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
3、修改基本表:ALTER TABLE <表名>
ADD <新列名> <数据类型> [完整性约束]
DROP <列名> [CASCADE/RESTRICT]
ALTER COLUMN <列名> <新的数据类型>
4、索引有:B+树索引、散列索引、位图索引。用户不可以显式的选择索引!!!
5、建立索引:CREATE UNIQUE INDEX <索引名> ON <表名> <列名>
6、修改索引:ALTER INDEX <旧索引名> RENAME TO <新索引名>
7、数据字典:数据字典是关系数据库系统内部的一种系统表。
8、只有COUNT(*)可以处理空值,其余聚集函数不可以。
9、注意主码外码设置语句:PRIMARY KEY(SNO),FOREIGN KEY(SNO)REFERENCES <表名>(SNO)
10、建立视图语句!:CREATE VIEW <视图名> (列名、列名) AS <子查询> [WITH CHECK OPTION]
11、从数据字典中取出视图的定义,把定义中的子查询和用户的查询结合起来,转换成对应的对基本表的查询,然后执行修正的查询,这个过程叫视图消解。
12、视图的作用:简化用户操作、使用户可以以多种角度看待同一数据、提供了逻辑独立性、提供了数据的安全保护、可以清晰的表达查询。
13、视图的定义:视图是一个或几个基本表(或视图)导出的虚表。(注意视图可以由视图和基本表导出)
简答题:
1、如何理解数据库的架构!!!!!!!!!!!!!!!!!?
数据库架构是一个独立于数据库用户的非重复命名空间,可将架构视为对象的容器,在这个空间中包含数据库的各种对象,例如基本表、视图和索引。
1、数据库不安全因素:非授权用户对数据库的恶意存取和破坏、数据库的重要或敏感数据被泄露、安全环境的脆弱。
数据库的安全分为三个层次:网络系统的安全、操作系统的安全、数据库管理系统的安全。
数据库安全性是指保护数据库防止非法用户的越权使用、窃取、更改或破坏数据。
2、四个方面描述安全级别划分指标:安全策略、责任、保证和文档。
3、TCSEC/TDI将安全级别分为A1、B3、B2、B1、C2、C1、D(安全级递减)。其中B1是标记安全保护(被认为是真正意义上的安全产品)、C1是自主安全保护(有自主存取控制)。
4、数据库安全控制的方法:用户身份鉴别(指纹,瞳孔)、存取控制(自主、强制)、视图、审计、加密等
5、存取控制包括定义用户权限和合法权限检查。
6、用户权限的两个要素:数据库对象和操作类型。
7、在数据库中,定义存取权限叫授权。
8、自主存取控制(灵活):用户对于不同的数据库有不同的存取权限,不同的用户对同一对象也有不同的权限,用户还可以将权限转给他人
强制存取控制(严格):数据库对象有一定的密级,每个用户有一个许可证。数据对象只有满足密级的用户可访问。
9、GRANT语句:GRANT <权限> on <表名> to <用户名> [WITH GRANT OPTION]。revoke同理
10、数据库角色:数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。角色的作用是简化授权过程。
11、强制存取控制的规则:当主体许可证大于等于客体密级,主体才可以读取客体;当主体许可证小于客体密级,主体才可以写客体。这样防止了恶意写入将密级降低发生。
12、审计:审计功能把用户对数据库的所有操作自动记录下来放入审计日志(C2以上安全级别的DBMS必须有)分为用户级审计和系统级审计。
13、主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级。
14、审计事件:服务器事件(启动、停止)、系统权限、语句事件、模式对象事件。
15、数据库加密层次:OS层加密、DBMS内核层加密、DBMS外层加密。
简答题:
1、数据库安全性的任务是什么?
保护数据库防止非法用户的越权使用、窃取、更改或破坏数据。
2、数据库安全性控制常用方法和技术?
用户身份鉴别(指纹,瞳孔)、存取控制(自主、强制)、视图、审计、加密
3、什么是自主存取控制?什么是强制存取控制!!!!!!!!!!!!!!!!?
自主控制方法是用户对于不同的数据库有不同的存取权限,不同的用户对同一对象也有不同的权限,用户还可以将权限转给他人。
强制存取控制是数据库对象有一定的密级,每个用户有一个许可证。数据对象只有满足密级的用户可访问。
4、SQL的安全机制是什么?角色有什么作用?
数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。角色的作用是简化授权过程。
5、影响数据库安全性的因素有哪些?
非授权用户对数据库的恶意存取和破坏、数据库的重要或敏感数据被泄露、安全环境的脆弱。
1、!!定义:数据库的完整性是指数据的正确性和相容性。数据的完整性是数据的正确、有效、相容
2、为了维护数据库完整性,DBMS必须实现以下功能:提供定义完整性约束条件的机制、提供完整性检查方法、进行违约处理。
3、断言是更一般的约束。CREATE ASSERTION <断言名>
4、触发器:触发器是用户定义在关系表上的一类由事件驱动的特殊过程。
5、CREATE TRIGGER <触发器名> AFTER/BEFORE <触发事件,如INSERT、UPDATE> on <表名>
REFERENCING NEW ROW AS <新变量名s>
FOR EACH ROW...(应该不考)
6、触发器执行是由触发事件激活,并由数据库服务器自动启动的。也就是创建之后不启动。
7、触发器的又优点在于可以进行更加复杂的检查和操作,可以保证数据库的一致性;缺点在于检测和维护触发器需要很大的开销,降低了增删改效率。
8、同一个表上的多个触发器激活时遵循以下顺序:执行该表上的BEFORE触发器;激活触发器的SQL语句;执行该表上的AFTER触发器。
简答题:
1、什么是数据库的完整性?
数据库的完整性是指数据的正确性和相容性
2、DBMS的完整性控制机制应该具有哪些功能?
提供定义完整性约束条件的机制、提供完整性检查方法、进行违约处理。
3、DBMS在实现参照完整性时需要考虑哪方面内容?
4、触发器基本知识?
5、数据库完整性概念和安全性概念有什么区别和联系?
数据库完整性和安全性是两个不同的概念,相同点在于都是对数据库的数据进行控制,各自实现的功能目标不同。
6、关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束时,一般如何分别处理?
未被实体完整性和用户定义的完整性的操作一般处理的方式是拒绝执行。违反参照完整性的操作,不仅拒绝执行,有时根据语义执行附加操作,保证数据库的正确性。
1、数据依赖是一个关系内部属性与属性之间的一种约束关系。
2、一个好的模式应该不会发生插入异常、删除异常和更新异常,数据冗余应该尽可能少。
3、函数依赖:设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相同,而在Y的属性值不同,则称X函数确定Y,或Y函数依赖于X。
4、若X->Y,但Y包含于X,则称其未平凡的函数依赖。
5、完全函数依赖:在R(U)中,若X->Y,并且对于X的任意一个子集X',都有X'-|>Y,则称Y对X完全函数依赖。
6、传递函数依赖:在R(U)中,若X->Y(Y不包含于X),X不依赖于Y,Z依赖于Y,Z不包含于Y,则Z对X是传递函数依赖。
7、超码:如果U完全依赖于K,则K为超码,就是一个属性可以确定所有。
8、主码、主属性:候选码的任意一个叫主码,包含在任意一个候选码的属性叫主属性。
9、规范化:一个低一级范式的关系模式通过规范化分解可以转化为多个高一级范式的关系模式的集合,这个过程叫规范化。
10、2NF:若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。但是它仍然存在着非主属性对主键的传递依赖
11、3NF:关系模式R中若不存在这样的码X、属性组Y以及非主属性Z(Z∉Y),使得X->Y,Y->Z车鞥里,Y-|>X,则称R∈3NF。若R∈3NF,则每一个非主属性既不部分依赖于码,也不传递依赖于码
12、如果R∈3NF,那么R一定也属于2NF,反之不然。如果R∈BCNF,则一定∈3NF,反之也不然。
13、BCNF:关系模式R∈1NF,若X->Y且Y∉X时,必有X含有码,则R∈BCNF
14、1NF到2NF:消除非主属性对码的部分依赖;2NF到3NF:消除了非主属性对码的传递依赖;3NF到BCNF:消除主属性对码的部分和传递函数依赖;BCNF到4NF:消除非平凡且非函数依赖的多值依赖。
15、规范化的实质是概念的单一化。
16、若关系模式R中的属性全部都是主属性,则R必定是3NF
17、任何一个二元关系必定属于基于函数依赖的最高范式BCNF
18、自反律、增广律、传递律可以得出:X->Y,X->Z,则X->YZ;X->Y,WY->Z,则XW->Z;X->Y,Z∈Y,则X->Z
19、闭包:由被F逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包
20、Armstrong公理具有有效性和完备性。
21、求最小函数依赖集?
简答题:
1、关系规范化理论是指?
2、范式的判断?
3、模式分解的正确性标准?
4、判断无损连接性?判断是否保持函数依赖?
1、数据库设计:数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及应用系统,是之可以有效的存储和管理数据,满足各种用户需求。
2、数据库设计的特点:综合性、需要结构设计和行为设计相结合。数据库设计的方法:规范设计法、基于E-R模型的设计方法、3NF设计方法、UML方法、ODL方法等。
3、数据库设计步骤:需求分析、概念设计、逻辑设计、物理设计、数据库的实施、数据库的运行和维护
4、需求分析的成果:数据字典:数据字典是关于数据库中的数据的描述,即元数据,不是数据本身。
5、数据字典包括:数据项、数据结构、数据流、数据存储、存储处理。
需求分析时需要将系统抽象为数据流图。数据存储是建立数据流图最需要考虑的
6、概念设计:通过对用户需求进行综合归纳和抽象,形成一个具体数据库管理系统的概念模型。(重点在ER模型,局部、全局、优化的ER图)
7、扩展的ER模型多了ISA联系和PART-OF联系。
8、如果一个实体型的存在依赖于其他实体型的存在,则这个实体型叫弱实体型。
9、设计全局ER图时发生的冲突有三种:属性冲突(属性域冲突和属性取值单位冲突)、命名冲突(同名异义和异名同义)、结构冲突。
优化E-R模型的条件:实体个数少、实体包含属性少、实体间无冗余
10、逻辑设计:逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据类型,并对其优化。(对应设计的是三级模式的逻辑模式,也就是子模式)
设计步骤:将概念模型转换为某种数据模型、对数据模型进行优化、设计外模式。
11、并不是规范化程度越高关系就越优!
12、物理结构设计:是为逻辑数据模型选取一个最适合的应用环境的物理结构(包括存储结构和存储方法),(对应于三级模式的内模式的设计,也就是存储模式)
13、物理设计的步骤:确定数据库的物理结构(存取方法和方式)、对物理结构进行评价)
物理设计的目标:事务响应时间短、存储空间利用率高、事务吞吐量大
14、关系数据库物理设计的内容主要包括:关系模式选择存取方法、设计关系、索引等物理存储结构。
15、常用的存取方法:B+树索引、Hash索引、聚簇存取。
16、聚簇存取:为了诶高某个属性的查询速度,把这个属性上具有相同值的元组集放在连续的物理块中称为聚簇。
17、聚簇的作用:减少磁盘访问次数,缺点:只能提高某些应用性能,建立维护开销大,对于部分不适合的操作,可能适得其反。
18、确立数据的存放位置需要考虑:存取时间、存取空间利用率和维护代价。
19、数据库的应用程序设计应该与数据库设计同时进行。
20、数据库维护工作包括:数据库的转储和恢复、数据库的安全性完整性控制、数据库性能的监督分析和改造、数据库的重组织和重构造。
21、设计数据库应用系统是上述六个步骤的循环往复。
简答题:
1、数据库设计的六个阶段,各有什么成果出现?
2、ER图转关系模式
3、聚簇索引的作用和副作用?
4、数据字典的内容和作用是什么?
内容:数据字典是系统中各类数据描述的集合。数据字典是数据流图上所有成分的定义和解释的文字集合。数据字典的内容通常包括:数据项、数据结构、数据流、数据存储、处理过程五个部分。
作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。
5、什么是数据的再组织和重构造?为什么要再组织和重构造?
数据库的再组织是指按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。
数据库的重构造是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式。
数据库运行一段时间后,由于记录不断增删改查,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供数据重组织用的实用程序。
数据库应该环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,是原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。这就要进行数据库的重构造。
1、查询处理分为四个阶段:查询分析、查询检查、查询优化、查询执行
2、查询分析:词法语法分析,识别是否符合语法规范。
3、查询检查:对合法查询语句进行语义检查,还要检查安全性和完整性,还要检查用户存取权限。
4、查询优化:分为代数优化和物理优化(物理优化可以是基于代价、基于规则和基于语义的)
5、选择操作的实现:全表扫描法、索引扫描法
6、连接操作的实现(连接是最耗时的):嵌套循环、排序合并、索引连接、HASH JOIN。
7、HASH JOIN:第一步划分阶段(创建阶段),创建HASH表;第二步试探阶段(连接阶段),将两个表进行连接。
8、查询执行开销由:I/O代价、CPU代价、内存代价和通信代价组成。
9、计算查询代价是一般用查询处理读写的块数作为衡量单位。
10、查询树的启发式优化规则:选择运算尽可能先做、把投影运算和选择运算同时进行、把投影运算前或后的双目运算结合起来、把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算、找出公共子表达式。
11、代数优化的原则是:尽量减少查询过程中中间结果的大小。
12、物理优化:基于规则的启发式优化、基于代价估算的启发式优化、两者结合的优化。
13、查询计划的执行分为:自顶向下、自底向上。
14、查询树启发式优化方法(可能不会考概念,而是考设计):①分解选择运算②通过交换选择运算,将其尽可能移到书的叶端③通过交换投影运算,将其尽可能移到叶端④合并串接的选择和投影,以便同时执行或在一次扫描中完成⑤对内节点分组⑥生成程序
简答题:
1、查询处理的步骤?
2、查询树的启发式优化规则?
3、查询优化的一般步骤:把查询转换成内部表示、代数优化、物理优化、生成查询计划,选择代价最小的
重点在启发式优化!!!
1、事务的定义:事务是用户定义的一个数据库操作序列。通过BEGIN TRABSACTION COMMIT/ROLLBACK完成
2、事务的特性:原子性、一致性、持久性、隔离性。
3、故障的种类:事务内部故障、系统故障(软故障)、介质故障(硬故障)、计算机病毒。
4、事务内部的故障:非预期的,不可由应用程序控制的(死锁、溢出等)。这类恢复操作叫事务撤销。
5、系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。如CPU错误、操作系统错误、DBMS代码错误、断电等。需要撤销未完成事务并重做已提交事务。
6、恢复子系统可以让事务回滚。而介质故障除了回滚外,还要重做。(恢复技术是衡量系统优劣的重要指标)
7、介质故障也叫硬故障,如磁盘磁头损坏,磁场干扰等。影响最大。
8、数据库恢复的原理:冗余。!!
9、建立冗余数据的技术:数据转储、登记日志文件。!!
10、数据转储:数据转储是指DBA定期将整个数据库复制到存储介质上保存的过程。备用数据称为后援副本。
11、转储分为:静态转储(转储必须等待用户事务结束后操作)、动态转储(转储期间允许对数据库存储或修改)。
12、静态转储缺点:简单但降低数据库可用性;动态转储缺点并不一定保证数据的有效。
13、接上点:后援副本加上日志文件可以将数据库恢复到某一时刻的正确状态。
14、转储还分为海量和增量。
15、日志:日志文件是用来记录事务对数据库的更新操作的文件(重点在更新)。记录分为:以记录为单位、以数据块为单位。
16、日志记录的内容:事务的开始、事务的结束、事务的更新操作(事务标识、操作类型、操作对象、更新前的值、更新 后的值)
17、日志的作用:进行事物的故障恢复和系统故障恢复,并协助后援副本进行介质故障恢复。
18、为保证数据库是可恢复的,日志文件登记原则:登记次序严格按并发事务的执行时间次序;必须先写日志文件后写数据库。
19、事务故障的恢复步骤(系统自动完成,对用户透明):
反向扫描日志文件,查找该事务的更新操作。
对更新操作执行逆操作
继续反向扫描日志文件,直到读取到事务的开始标记
20、系统故障的恢复步骤(系统重启自动完成,不需用户参与):
正向扫描日志文件,找出在故障发生前已提交的事务,将事务标记加入重做队列;同时找出故障发生时尚未完成的事务,加入撤销队列。
对撤销队列的事务进行撤销处理
对重做队列的事务重做处理。
21、介质故障的恢复步骤(重装数据库,然后重做已完成事务):
装入最新版本的后援副本
装入相应的日志文件副本。
22、检查点的恢复技术(可以改善恢复效率):检查点记录内容:建立检查点时刻所有在执行的事务清单、这些事务最近的一个日志记录地址。
23、动态维护日志文件的方法:周期性执行建立检查点,保存数据库状态的操作。
24、数据库镜像就是在不同的设备上,同时存有两份数据库。把一个设备称为主设备,把另外一个设备称为镜像设备。一般只将关键数据和日志文件存入镜像。
25、恢复的基本原理:利用存储在后援副本、日志文件、数据库镜像中的冗余数据来重建数据库。
简答题:
1、事务的四个特性?事务的定义?
2、有哪三类故障?每类故障的恢复技术和策略是?简述恢复步骤?
事务故障的恢复:UNDO(撤销)
系统故障的恢复:UNDO+REDO(重做)
介质故障的恢复:重装后援副本+REDO
3、什么是日志,简述其作用?
4、事务的概念及4个特性,恢复技术保证事务的哪些特性?
恢复技术保证事务的原子性、一致性、永久性
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5、为什么登记日志要先写日志后写数据库?
写数据库和写日志文件是两个不同的操作,在这两个操作之间可能发生故障。如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了。反之不会产生影响。
6、什么是数据库镜像,它有什么用途?
数据库镜像:数据库管理系统自动把数据库或者其中的关键数据复制到另一个磁盘上。
用途:一是用于数据库恢复,二是提高数据库的可用性。
1、事务是并发控制的基本单位。
2、并发控制:并发控制指的是当多个用户同时更新运行时,用于保护数据库完整性的各种技术
3、并发操作带来的三个问题:丢失修改、不可重复读、读脏数据。
4、并发控制的主要技术:封锁、时间戳、乐观控制法、多版本并发控制。
5、封锁:封锁是事务在对某个数据对象操作之前,先向系统发出请求,对其加锁。
6、基本封锁类型:排它锁(X锁,写锁):加上此锁,只有当前事务可读可修改;共享锁(S锁,读锁):加上S锁,只有当前事务可读不可修改。
7、封锁协议:一级封锁协议:事务T在修改数据R之前必须对其加X锁,直到事务结束时才释放。
二级封锁协议:在一级封锁协议的基础上,事务T在读取数据R之前必须先对其加S锁,读完后才释放。
三级封锁协议:在一级封锁协议的基础上,事务T在读取数据R之前必须先对其加S锁,事务结束后才释放。‘
一级封锁协议可以防止丢失修改,并保证事务是可恢复的。
二级封锁协议可以防止丢失修改和读“脏”数据
三级封锁协议可以方式丢失修改、读“脏”数据和不可重复读
8、活锁是指低优先级事务可能永远等待现象;死锁是指不同事务循环等待现象。
9、避免活锁的方式是使用先来先服务策略!避免死锁的方式是一次封锁法(遵循两段锁协议)和顺序封锁法。但是常用的还是死锁解除。
10、死锁的解除一般使用超时法和事务等待图法。
11、可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次串行的执行这些事务的结构相同。
12、可串行化是并发事务调度准则。
13、冲突操作是指不同事务对同一个数据的读写操作和写写操作。冲突可串行化,则一定是可串行化调度。反之不一定。
14、两段锁协议是指事务必须分为两个阶段进行加锁和解锁:第一阶段获得封锁,称为扩展阶段;第二阶段释放封锁,又称收缩阶段。
15、两段锁协议也是可串行化调度的充分非必要条件。
简答题:
1、什么是封锁?常见的封锁有哪两种?
2、什么是并发操作,会带来哪三类不一致性?
3、什么是两段锁协议?遵守两段锁协议的事务并发执行可能造成死锁吗?举例
4、什么是活锁?什么是死锁?如何预防它们?
5、并发调度的可串行化的充分不必要条件是哪两个?
6、为什么要并发控制,并发控制可以保证事务哪些特性?
在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突,因此需要并发控制。并发控制可以保证事务的隔离性和一致性。!!!!
!!!!!!!!!!!!!!!!!!!!!!!
7、什么样的并发调度是正确的调度?
可串行化的调度和串行调度是正确的调度!
题型:
选择题20分、填空题20分、简答题10分、判断题20分、应用题16分、设计题24分。