数据库并发控制练习和答案

合集下载

数据库第四、五章习题及答案

数据库第四、五章习题及答案

第4、5章练习题(数据库的安全性、完整性)一、选择题1.下面哪个不是数据库系统必须提供的数据控制功能。

A.安全性B.可移植性C.完整性D.并发控制答案:B2.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。

这是指数据的。

A.安全性B.完整性C.并发控制D.恢复答案:A3.数据库的是指数据的正确性和相容性。

A.安全性B.完整性C.并发控制D.恢复答案:B4.在数据系统中,对存取权限的定义称为。

A.命令 B.授权 C.定义 D.审计答案:B5.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的。

A.可靠性B.一致性C.完整性D.安全性答案:D6.下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的是A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO B.REVOKE UPDATE(XH) ON TABLE FROM PUBLICC.REVOKE UPDATE(XH) ON TABLE STUD FROM ZHAO D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC答案:C 7.把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是A)GRANT GRADE ON SC TO ZHAO B)GRANT UPDATE ON SC TO ZHAOC)GRANT UPDATE (GRADE) ON SC TO ZHAO D)GRANT UPDATE ON SC (GRADE) TO ZHAO 答案:C8.以下( D )不属于实现数据库系统安全性的主要技术和方法。

A. 存取控制技术B. 视图技术C. 审计技术D. 出入机房登记和加锁9.SQL中的视图提高了数据库系统的( D )。

A. 完整性B. 并发控制C. 隔离性D. 安全性10.安全性控制的防范对象是( B ),防止他们对数据库数据的存取。

《数据库原理及应用》作业及部分答案

《数据库原理及应用》作业及部分答案

《数据库原理及应用》作业一、选择题1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

在这几个阶段中,数据独立性最高的是__A_阶段。

A.数据库系统 B.文件系统 C.人工管理 D.数据项管理2.数据库是在计算机系统中按照一定的数据模型组织、存储和应用的B,支持数据库各种操作的软件系统叫B,由计算机、操作系统、DBMS、数据库、应用程序及用户等组成的一个整体叫B。

①A.文件的集合 B.数据的集合C.命令的集合 D.程序的集合②A.命令系统 B.数据库管理系统C.数据库系统 D.操作系统③A文件系统 B.数据库系统C.软件系统 D.数据库管理系统3.在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称这个属性为__A__。

A.候选码 B.数据项 C.主属性 D.主属性值4.在关系代数运算中,五种基本运算为__C__。

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影C.并、差、选择、投影、乘积 D .并、差、交、选择、乘积5.一个m:n联系转换为一个关系模式。

关系的码为___B___。

A.实体的码 B.各实体码的组合 C.n端实体的码 D.每个实体的码6.下面哪个不是数据库系统必须提供的数据控制功能__B__。

A.安全性 B.可移植性 C.完整性 D.并发控制7.在数据系统中,对存取权限的定义称为__B__。

A.命令 B.授权 C.定义 D.审计8.数据库的__B__是指数据的正确性和相容性。

A.安全性 B.完整性 C.并发控制 D.恢复9.对并发操作若不加以控制,可能会带来__D__问题。

A.不安全 B.死锁 C.死机 D.不一致10.设有两个事务T1、T2,其并发操作如图l所示,下面评价正确的是__B__。

A.该操作不存在问题 B.该操作丢失修改C.该操作不能重复读 D.该操作读“脏”数据T1 T2①读A=10②读A=10③A=A-5写回④ A=A-8写回图l 事务并发操作图11.数据库的基本特点是__B__。

(完整版)数据库练习题及答案解析

(完整版)数据库练习题及答案解析

第一章习题一、单项选择题1 •数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS )之间的关系是(A )。

A. DBS 包括DB 和DBMSB. DBMS 包括DB 和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D )。

I •人工管理阶段II.文件系统阶段III •数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I3. 下列四项中,不属于数据库系统特点的是(C )。

A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高4. 数据库系统的数据独立性体现在(B )。

A .不会因为数据的变化而影响到应用程序B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C. 不会因为存储策略的变化而影响存储结构D. 不会因为某些存储结构的变化而影响其他的存储结构5. 要保证数据库的数据独立性,需要修改的是(C )。

A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式6. 要保证数据库的逻辑数据独立性,需要修改的是(A )。

A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C ),它是模式的逻辑子集。

A.模式B.物理模式C. 子模式D. 内模式8. 下述(B )不是DBA 数据库管理员的职责。

A.完整性约束说明B.定义数据库模式C.数据库安全D.数据库管理系统设计9. 常见的数据模型有三种,它们是(B )A 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录10. 在E-R 图中,用来表示属性的图形是(B )A 矩形B 椭圆形C 菱形D 平行四边形二、填空题1. 描述数据库全体数据的全局逻辑结构和特性的是___________ 模式 ______ 。

事务调度与并发控制数据库的实施运行和维护_真题-无答案

事务调度与并发控制数据库的实施运行和维护_真题-无答案

事务调度与并发控制、数据库的实施运行和维护(总分29,考试时间90分钟)一、单项选择题1. 下述不属于数据库维护工作的是______。

A. 使用数据定义语言建立多个表、构建数据库总体框架B. 根据备份计划周期性的备份数据库C. 检测数据库的空间使用情况D. 调整数据库参数,进行性能优化2. 下列关于排他锁和共享锁的说法中错误的是______。

A. 只能有一个事务对加锁项加排他锁B. 排他锁也叫独占锁或X锁,共享锁也叫读锁或者S锁C. 当加了S锁以后,其他的事务还可以对加锁项加X锁D. 当加了S锁以后,其他的事务还可以对加锁项加S锁3. 以下选项中是参数调整中需要关注的对象的是______。

A. 内存分配B. 资源竞争C. 磁盘I/OD. 以上全部4. 关于查询优化问题,下列说法错误的是______。

A. 将频繁地向数据库发送的某条查询语句用存储过程来代替,可以提高查询效率B. 为经常出现在查询条件中的属性建立索引,可以提高查询效率C. 先执行表连接条件,后执行查询条件,有利于提高查询效率D. 将频繁访问的视图物化并进行维护,有利于提高查询效率5. 事务T0、T1和T2并发访问数据项A、B和C,下列属于冲突操作的是______。

A.T0中的readA. 和T0中的write(A)B.T0中的readB. 和T2中的readC.C.T0中的write(A)和T2中的write(C)&nbs6. 数据库实施主要包括______。

①用DDL定义数据库结构②数据装载③编写与调试应用程序④数据库试运行A. ①②③B. ①②④C. ②③④D. ①②③④7. 以下关于顺序加锁法及其缺点叙述错误的是______。

A. 该方法对数据库中事务访问的所有数据项规定一个加锁顺序B. 每个事务在执行过程中必须按顺序对所需数据项加锁C. 维护对这些数据项的加锁顺序很困难,代价非常大D. 事务按照固定的顺序对这些数据项进行加锁比较方便8. 数据库的维护工作主要包括______。

数据库原理与应用试题及答案

数据库原理与应用试题及答案

数据库原理与应用试题及答案一、选择题1. 数据库管理系统(DBMS)的主要功能是什么?A. 存储数据B. 管理数据C. 执行程序D. 以上都是答案:D2. 关系数据库中,表之间的关系有几种?A. 1种B. 2种C. 3种D. 4种答案:C3. SQL语言中的“SELECT”语句用于执行什么操作?A. 插入数据B. 更新数据C. 查询数据D. 删除数据答案:C4. 在数据库中,主键的作用是什么?A. 唯一标识表中的每条记录B. 存储数据C. 用于排序D. 用于分组答案:A5. 数据库的完整性约束包括哪些类型?A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 所有上述类型答案:D二、填空题6. 数据库设计通常分为三个阶段:需求分析、______、物理设计。

答案:概念设计7. 在关系数据库中,一个表的______是指表中数据的逻辑结构。

答案:模式8. 数据库的并发控制主要解决______、更新丢失和不一致的异常问题。

答案:数据竞态9. 数据库的______是指数据库中数据的独立性。

答案:规范化10. 在SQL中,使用______语句可以实现数据的删除。

答案:DELETE三、简答题11. 简述数据库的三级模式结构。

答案:数据库的三级模式结构包括外模式、概念模式和内模式。

外模式是用户与数据库交互的接口,概念模式是数据库的全局逻辑结构,内模式是数据库的物理存储结构。

12. 解释什么是事务的ACID属性。

答案:事务的ACID属性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

原子性指事务中的操作要么全部完成,要么全部不完成;一致性指事务执行的结果必须使数据库从一个一致的状态转移到另一个一致的状态;隔离性指并发执行的事务之间不会互相影响;持久性指一旦事务提交,其结果将永久保存在数据库中。

四、论述题13. 论述数据库备份与恢复的重要性及其常用方法。

数据库综合练习题及答案

数据库综合练习题及答案

练习题及答案第一部分:选择题一、单项选择题1.DBS是采用了数据库技术的计算机系统。

DBS是一个集合体,包含数据库、计算机硬件、软件和A.系统分析员B.程序员C.数据库管理员D.操作员2.模型是对现实世界的抽象,在数据库技术中,用模型的概念描述数据库的结构与语义,对现实世界进行抽象。

表示实体类型及实体间联系的模型称为A.数据模型B.实体模型C.逻辑模型D.物理模型3.关系模型概念中,不含有多余属性的超键称为A.候选键B.对键C.内键D.主键4.设R、S为两个关系,R的元数为4,S的元数为5,则与RS等价的操作是A.σ3<6(R×S) B.σ3<2(R×S) C.σ3>6(R×S) D.σ7<2(R×S)5.分布式数据库存储概念中,数据分配是指数据在计算机网络各场地上的分配策略,一般有四种,分别是集中式、分割式、全复制式和A. 任意方式B.混合式C.间隔方式D.主题方式6.数据库系统中,类是指具有相同的消息,使用相同的方法,具有相同的变量名和A. 变量值B. 特征C. 定义D. 类型7.随着计算机应用领域的扩大,第一代、第二代DBS不能适应处理大量的A.格式化数据B.网络数据C.非格式数据D.海量数据9.数据库并发控制概念中,使用X封锁的规则称为A.PS协议B.PX协议C.PSC协议D.两段封锁协议10.在数据库操作过程中事务处理是一个操作序列,必须具有以下性质:原子性、一致性、隔离性和A.共享性B.继承性C.持久性D.封装性11.面向对像模型概念中,类可以有嵌套结构。

系统中所有的类组成一个有根的A.有向无环图B.有向有环图C.无向有环图D.无向无环图12.在教学管理系统中,有教师关系T(T#,NAME),学生关系S(S#,NAME),学生成绩关系S(S#,NU)。

其中T#表示教师工号,S#表示学生学号,则T和N存在联系为A. 1:1B. 1:NC. M:ND. 无联系13.一个数据库一般不是由独立的对象组成的,对象的聚集形式的数学意义是A. 笛卡尔积B. 选择C. 投影D. 联接14.对象标识是指针一级的概念是一个强有力的数据操纵原语言,是集合、元组和递归等复合对象操纵的基础,标识是A.任意的B. 可以改变的C.不唯一的D.不能改变的15.数据库系统中除了可用层次模型和关系模型表示实体类型及实体间联系的数据模型以外,还有A. E-R 模型B. 信息模型C.网络模型D.物理模型第二部分:非选择题二、填空题16. 数据库系统中,存放___________ 的数据库,称为数据字典(DD)。

数据库线上考试题目及答案

数据库线上考试题目及答案

数据库线上考试题目及答案一、选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能是什么?A. 存储数据B. 管理数据C. 提供数据访问接口D. 所有选项都是答案:D2. 关系数据库中的主键约束用于保证数据的什么特性?A. 唯一性B. 完整性C. 一致性D. 可扩展性答案:A3. SQL(Structured Query Language)是一种用于什么的语言?A. 数据查询B. 数据定义C. 数据操纵D. 所有选项都是答案:D4. 在关系数据库中,一个表的行通常被称为什么?A. 字段B. 记录C. 索引D. 视图答案:B5. 数据库规范化的主要目的是什么?A. 提高查询速度B. 减少数据冗余C. 增加数据安全性D. 降低存储成本答案:B二、填空题(每空1分,共10分)6. 数据库中的_______用于定义数据表的结构。

答案:模式(Schema)7. 在SQL中,用于添加数据的命令是_______。

答案:INSERT8. 数据库事务的四大特性通常被称为ACID,其中C代表_______。

答案:一致性(Consistency)9. 在数据库中,_______用于优化查询性能。

答案:索引(Index)10. 数据库备份的目的是_______。

答案:数据恢复三、简答题(每题10分,共20分)11. 简述数据库的三级模式结构。

答案:数据库的三级模式结构包括外模式(External Schema)、概念模式(Conceptual Schema)和内模式(Internal Schema)。

外模式是用户视图,描述用户需要的数据;概念模式是全局视图,描述数据库的整体结构;内模式是存储视图,描述数据的物理存储方式。

12. 什么是数据库的并发控制,为什么它很重要?答案:数据库的并发控制是确保多个用户或应用程序能够同时访问数据库,而不会导致数据不一致或错误的一种机制。

它很重要,因为并发控制可以防止诸如脏读、不可重复读和幻读等问题,确保数据库的完整性和一致性。

王珊《数据库系统概论》章节题库(并发控制)【圣才出品】

王珊《数据库系统概论》章节题库(并发控制)【圣才出品】

第11章并发控制一、选择题1.实现数据库并发控制的主要方法是()。

A.授权B.索引C.日志D.封锁【答案】D【解析】数据库管理系统对事务的并发执行进行控制,以保证数据库一致性,最常用的方法是封锁的方法,即当一个事务访问某个数据项时,以一定的方式锁住该数据项,从而限制其他事务对该数据项的访问。

2.在并发控制技术中最常用的是封锁,对于共享锁(S)和排他锁(X)来说,下面列出的相容关系中,哪一个是正确的()。

A.X-X:相容B.S-S:相容C.S-X:相容D.X-S:相容【答案】B【解析】为了避免发生并发操作引起的数据不一致性问题,则采用数据封锁技术实现并发控制。

封锁是防止存取同一资源的用户之间相互干扰的机制,即当一个用户对数据库某个数据对象执行修改操作时,对该部分数据加锁,拒绝其他用户对该部分的并发访问要求,直至该事务执行完毕才释放数据对象;所以只有当两事务都是读取数据且都加S锁时才相容。

3.如果系统发生死锁,参与死锁的进程的个数至少是()个。

A.3B.1C.2D.4【答案】C【解析】由于各进程互相独立地活动,不断申请和释放软硬件资源,可能会出现这样一种状态:两个或两个以上的进程彼此等待对方拥有的而又不会释放的资源,则所有进程都不能进一步向前运行,这种状态就称为死锁。

因此,参与死锁的进程至少是两个。

4.对数据对象施加封锁可能会引起活锁和死锁问题,避免活锁的简单方法是采用()的策略。

A.顺序封锁法B.依次封锁法C.优先级高先服务D.先来先服务【答案】D【解析】活锁:某个事务永远得不到对某个数据资源的封锁,从而永远处于等待状态的现象;采用先来先服务的策略可以有效地避免活锁。

5.二级封锁协议可防止()。

A.不可重复读、丢失修改B.读“脏”数据C.读“脏”数据、丢失修改D.不可重复读、读“脏”数据【答案】C【解析】一级封锁协议可防止丢失修改;二级封锁协议可以防止丢失修改和读“脏”数据;三级封锁协议可防止丢失修改、读“脏”数据和不可重复读。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八章数据库并发控制一、选择题1.为了防止一个用户的工作不适当地影响另一个用户,应该采取()。

A. 完整性控制B. 访问控制C. 安全性控制D. 并发控制2. 解决并发操作带来的数据不一致问题普遍采用()技术。

A. 封锁B. 存取控制C. 恢复D. 协商3.下列不属于并发操作带来的问题是()。

A. 丢失修改B. 不可重复读C. 死锁D. 脏读4.DBMS普遍采用()方法来保证调度的正确性。

A. 索引B. 授权C. 封锁D. 日志5.事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放,这是()。

A. 一级封锁协议B. 二级封锁协议零级封锁协议 C. 三级封锁协议D.Q()。

6.如果事务T获得了数据项Q上的排他锁,则T对 B. 只能写不能读 A. 只能读不能写 C. 既可读又可写D. 不能读也不能写进行操作,可能有如下几种情况,7.设事务T1和T2,对数据库中地数据A)请问哪一种不会发生冲突操作(。

A. T1正在写A,T2要读A,正在写AT2也要写A B. T1要写A ,C. T1正在读AT2,D. T1正在读AT2也要读A )。

同时对数据库中同一数据进行操作,8.如果有两个事务,不会引起冲突的操作是(,一个是A. 一个是DELETESELECTB. DELETE 一个是SELECT,一个是两个都是UPDATEC.D. 两个都是SELECT在数据库系统中,死锁属于(9.)。

事务故障B. A. 系统故障 D. C. 介质故障程序故障二、简答题1. 在数据库中为什么要并发控制答:数据库是共享资源,通常有许多个事务同时在运行。

当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。

若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。

所以数据库管理系统必须提供并发控制机制。

2. 并发操作可能会产生哪几类数据不一致用什么方法能避免各种不一致的情况数据。

”脏“并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读答:(1)丢失修改(Lost Update)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。

(2)不可重复读(Non-Repeatable Read)不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。

(3)读“脏”数据(Dirty Read)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。

避免不一致性的方法和技术就是并发控制。

最常用的并发控制技术是封锁技术。

也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

3. 什么是封锁答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。

加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。

封锁是实现并发控制的一个非常重要的技术。

4. 基本的封锁类型有几种试述它们的含义。

答:基本的封锁类型有两种: 排它锁(Exclusive Locks,简称X锁) 和共享锁(Share Locks,简称S锁)。

排它锁又称为写锁。

若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。

这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。

共享锁又称为读锁。

若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。

这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

5. 什么是封锁协议不同级别的封锁协议的主要区别是什么答:在运用封锁技术对数据加锁时,要约定一些规则。

例如,在运用X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。

这些约定或者规则称为封锁协议(Locking Protocol)。

对封锁方式约定不同的规则,就形成了各种不同的封锁协议。

不同级别的封锁协议,例如《概论》中介绍的三级封锁协议,三级协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。

一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。

二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。

三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。

6. 不同封锁协议与系统一致性级别的关系是什么答:不同的封锁协议对应不同的一致性级别。

一级封锁协议可防止丢失修改,并保证事务T是可恢复的。

在一级封锁协议中,对读数据是不加S锁的,所以它不能保证可重复读和不读“脏”数据。

二级封锁协议除防止了丢失修改,还可进一步防止读“脏”数据。

在二级封锁协议中,由于读完数据后立即释放S锁,所以它不能保证可重复读。

在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。

所以三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。

7. 试述活锁的产生原因和解决方法。

答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。

避免活锁的简单方法是采用先来先服务的策略。

当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。

8. 请给出预防死锁的若干方法。

答:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。

防止死锁的发生其实就是要破坏产生死锁的条件。

预防死锁通常有两种方法:(1)一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。

(2)顺序封锁法预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。

不过,预防死锁的策略不大适合数据库系统的特点。

9. 请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁答:数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。

DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。

超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。

超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。

若时限设置得太长,又不能及时发现死锁发生。

DBMS并发控制子系统检测到死锁后,就要设法解除。

通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。

当然,对撤销的事务所执行的数据修改操作必须加以恢复。

10. 什么样的并发调度是正确的调度答:可串行化(Serializable)的调度是正确的调度。

可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度。

11. 试述两段锁协议的概念。

答:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。

·在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;·在释放一个封锁之后,事务不再申请和获得任何其他封锁。

“两段”的含义是,事务分为两个阶段:第一阶段是获得封锁,也称为扩展阶段。

在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。

第二阶段是释放封锁,也称为收缩阶段。

在这阶段,事务释放已经获得的锁,但是不能再申请任何锁。

意向锁的含义是什么为什么要引进意向锁12.答:引进意向锁是为了提高封锁子系统的效率。

该封锁子系统支持多种封锁粒度。

原因是:在多粒度封锁方法中一个数据对象可能以两种方式加锁—显式封锁和隐式封锁。

因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突;还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突;显然,这样的检查方法效率很低。

为此引进了意向锁。

意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。

例如事务T要对某个元组加X锁,则首先要对关系和数据库加IX锁。

换言之,对关系和数据库加IX锁,表示它的后裔结点—某个元组拟(意向)加X锁。

引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。

例如,事务T要对关系R加X锁时,系统只要检查根结点数据库和R本身是否已加了不相容的锁(如发现已经加了IX,则与X冲突),而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。

13. 试述常用的意向锁:IS锁,IX锁,SIX锁,给出这些锁的相容矩阵。

答:IS锁如果对一个数据对象加IS锁,表示它的后裔结点拟(意向)加S锁。

例如,要对某个元组加S 锁,则要首先对关系和数据库加IS锁IX锁如果对一个数据对象加IX锁,表示它的后裔结点拟(意向)加X锁。

例如,要对某个元组加X锁,则要首先对关系和数据库加IX锁。

SIX锁如果对一个数据对象加SIX锁,表示对它加S锁,再加IX锁,即SIX = S + IX。

相容矩阵(略)14. 理解并解释下列术语的含义:封锁,活锁,死锁,排它锁,共享锁,并发事务的调度,可串行化的调度,两段锁协议。

答:(略,已经在上面有关习题中解答)*25. 试述你了解的某一个实际的DBMS产品的并发控制机制。

答:(略,参见《概论》第8节,简单介绍了有关Oracle的并发控制机制。

)。

相关文档
最新文档