数据库并发控制练习和答案
数据库第四、五章习题及答案
第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. 分布式数据库中的并发控制主要采用了哪种技术来保证数据的一致性?A. 串行处理B. 并发控制C. 分布式事务D. 锁机制2. 在分布式数据库中,通常采用哪种一致性模型来确保所有节点上的数据保持一致?A. 强一致性B. 弱一致性C. 最终一致性D. 最终一致性加上补偿事务3. 以下哪个选项描述了分布式数据库中常见的分布式事务协议?A. PaxosB. RaftC. ZooKeeperD. all of the above4. 在分布式数据库中,如何实现数据的水平扩展?A. 数据复制B. 数据分片C. 数据分区D. 数据压缩5. 分布式数据库中的分片主要有哪两种方式?A. 基于范围的分片B. 基于哈希的分片C. 基于策略的分片D. 基于范围和哈希的分片6. 在分布式数据库中,如何处理跨分片的数据一致性?A. 使用分布式事务B. 使用分布式锁C. 使用全局事务D. 使用局部事务7. 以下哪个选项描述了分布式数据库中的读写分离策略?A. 将读操作和写操作分开在不同的节点上执行B. 将读操作放在远程节点上进行,而写操作放在本地节点上进行C. 将所有的写操作放在一个节点上,所有的读操作放在另一个节点上D. 使用读写分离技术8. 在分布式数据库中,如何避免过多的网络通信开销?A. 使用缓存技术B. 使用消息队列C. 使用数据压缩技术D. 使用分布式数据库中间件9. 分布式数据库中的分布式锁主要用于解决什么问题?A. 避免数据不一致B. 提高系统性能C. 控制并发访问D. 保证数据安全性10. 以下哪个选项描述了分布式数据库中的数据同步策略?A. 定期将数据从主节点复制到从节点B. 实时同步数据C. 使用增量同步技术D. 使用全量同步技术11. 分布式数据库中的并发控制主要涉及到哪些方面?A. 事务隔离B. 锁机制C. 事务调度D. 数据一致性12. 在分布式数据库中,什么是乐观锁态?A. 事务未提交前,其他事务可以读取到修改的数据。
数据库学习课程第二章习题和答案
数据库学习课程第二章习题和答案一.单项选择1.SQL语言是 B 的语言,易学习.A 过程化B 非过程化C 格式化D 导航式提示:SQL是一种介于关系代数与关系演算之间的结构化查询语言,它是高度非过程化的.2.SQL语言是 C 语言.A 层次数据库B 网络数据库C 关系数据库D 非数据库提示:SQL是关系数据库标准语言.3.SQL语言具有 B 的功能.A 关系规范化,数据操纵,数据控制B 数据定义,数据操纵,数据控制C 数据定义,关系规范化,数据控制D 数据定义,关系规范化,数据操纵提示:SQL语言自身不具备关系规范化功能.4.在SQL中,用户可以直接操作的是 D .A 基本表B 视图C 基本表和视图D 基本表和视图5.在SQL语言中,实现数据检索的语句是 A .A SELECTB INSERTC UPDATED DELETE6.SELECT语句执行结果是 C .A 数据项B 元组C 表D 数据库7.在SQL语句中,对输出结果排序的语句是 B .A GROUP BYB ORDER BYC WHERED HA VING8.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用 D .A WHEREB GROUP BYC ORDER BYD HA VING9.在SELECT语句中使用*表示 B .A 选择任何属性B 选择全部属性C 选择全部元组D 选择主码10.在SELECT语句中,使用MAX(列名)时,该”列名”应该 D .A 必须是数值型B 必须是字符型C 必须是数值型或字符型D 不限制数据类型11.使用CREATE TABLE语句创建的是 B .A 数据库B 表C 试图D 索引12.下列SQL语句中,修改表结构的是 A .A ALTERB CREATEC UPDATED INSERT13.在SQL中使用UPDATE语句对表中数据进行修改时,应使用的语句是 D .A WHEREB FROMC V ALUESD SET14.视图建立后,在数据库中存放的是 C .A 查询语句B 组成视图的表的内容C 视图的定义D 产生视图的表的定义15.以下叙述中正确的是 B .A SELECT命令是通过FOR子句指定查询条件B SELECT命令是通过WHERE子句指定查询条件C SELECT命令是通过WHILE子句指定查询条件D SELECT命令是通过IS子句指定查询条件16.与WHERE AGE BETWEEN 18 AND 23完全等价的是 D .A WHERE AGE>18 AND AGE<23B WHERE AGE<18 AND AGE>23C WHERE AGE>18 AND AGE<=23 D WHERE AGE>=18 AND AGE<=2317.在查询中统计记录(元组)的个数时,应使用 C 函数.A SUMB COUNT(列名)C COUNT(*)D A VG18.在查询中统计某列中值的个数应使用 B 函数.A SUMB COUNT(列名)C COUNT(*)D A VG19.已知基本表SC(S#,C#,GRADE),其中S#为学号,C#为课程号,GRADE为成绩.则”统计选修了课程的学生人数”的SQL—SELECT语句为 A .A SELECT COUNT(DISTINCT S#)FROM SCB SELECT COUNT(S#)FROM SC C SELECT COUNT()FROM SCD SELECT COUNT(DISTINCT *)FROM SC20.在数据库中有如图所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL 操作 B 不能执行.A 从职工表中删除行(‘025’,’王芳’,’03’,720)B 将行(‘005’,’乔兴’,’04’,750)插入到职工表中C 将职工号为”001”的工资改为700D 将职工号为”038”的部门号改为’03’提示:由于职工表中的职工号为主码,不能向其中插入同主码的记录.21.若用如下SQL语句创建一个表studentCREATE TABLE student(NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INT)可以插入到student 表中的是 B .A (‘1031’,’曾华’,男,23)B (‘1031’,’曾华’,NULL,NULL)C (NULL,’曾华’,’男’,’23’)D (‘1031’,NULL,’男’,23)提示:A 中性别SEX 属性值格式不正确,C 中NO 属性值不能为空,D 中NAME 属性值不能为空.22.假设学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE).要查询选修”COMPUTER ”课程的”女”同学的姓名,将涉及关系 D .A SB SC,C C S,SCD S,SC,C 二.填空1.SQL 语言的数据定义功能包括 定义数据 、 定义基本表 、 定义视图 、 定义索引 。
第八章 数据库并发控制练习和答案
第八章数据库并发控制一、选择题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、零级封锁协议6.如果事务T获得了数据项Q上得排她锁,则T对Q( )。
A、只能读不能写B、只能写不能读C、既可读又可写D、不能读也不能写7。
设事务T1与T2,对数据库中地数据A进行操作,可能有如下几种情况,请问哪一种不会发生冲突操作() .A、T1正在写A,T2要读AB、T1正在写A,T2也要写AC、T1正在读A,T2要写AD、T1正在读A,T2也要读A8。
如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突得操作就是() .A、一个就是DELETE,一个就是SELECTB、一个就是SELECT,一个就是DELETEC、两个都就是UPDATED、两个都就是SELECT9.在数据库系统中,死锁属于()。
A、系统故障B、事务故障C、介质故障D、程序故障二、简答题1、在数据库中为什么要并发控制?答:数据库就是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取与/或修改同一数据得情况.若对并发操作不加控制就可能会存取与存储不正确得数据,破坏数据库得一致性。
所以数据库管理系统必须提供并发控制机制。
2、并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致得情况?答: 并发操作带来得数据不一致性包括三类:丢失修改、不可重复读与读“脏”数据.(1)丢失修改(LostUpdate)两个事务T1与T2读入同一数据并修改,T2提交得结果破坏了(覆盖了)T1提交得结果,导致T1得修改被丢失。
数据库事务处理与并发控制试卷
数据库事务处理与并发控制试卷(答案见尾页)一、选择题1. 数据库事务的基本特性包括哪些?A. 原子性B. 一致性C. 隔离性D. 持久性2. 在数据库系统中,如何实现事务的隔离性?A. 使用锁机制B. 使用多版本并发控制(MVCC)C. 使用归档日志D. 使用时间戳排序3. 什么是死锁?如何避免死锁?A. 死锁是指两个或多个事务互相等待对方释放资源B. 避免死锁的方法包括按顺序请求资源、超时设置、资源分级等C. 死锁是数据库系统的正常现象D. 死锁无法通过任何方法避免4. 什么是并发控制?为什么需要并发控制?A. 并发控制是为了防止多个事务同时修改同一条记录导致数据不一致B. 并发控制是为了提高数据库系统的性能C. 并发控制是为了确保数据库系统的数据完整性D. 并发控制是为了优化数据库系统的查询速度5. 在数据库系统中,如何处理事务的持久性?A. 使用日志记录事务的执行过程B. 使用备份恢复机制C. 使用事务日志D. 使用缓存机制6. 什么是ACID属性?请简要解释每个属性的含义。
A. 原子性(Atomicity):事务作为一个整体被执行,不可分割B. 一致性(Consistency):事务必须使数据库从一个一致性状态变换到另一个一致性状态C. 隔离性(Isolation):并发的事务之间不会互相干扰D. 持久性(Durability):一旦事务提交,则其结果就是永久的,不会被回滚7. 在数据库系统中,如何实现并发控制中的最小权限原则?A. 限制每个用户只能访问他们需要的数据B. 限制每个用户只能执行他需要的操作C. 限制每个用户只能访问他创建的数据D. 限制每个用户只能访问他被授权的数据8. 什么是锁?请简要介绍几种常见的锁类型。
A. 共享锁(Shared Lock):允许多个事务同时读取数据,但不允许写入B. 排他锁(Exclusive Lock):只允许一个事务读取或写入数据C. 更新锁(Update Lock):在读取数据的同时,准备更新数据D. 行级锁(Row-Level Locking):锁定数据的一行,而不是整个表9. 在数据库系统中,如何解决冲突?请简要介绍几种冲突解决方法。
数据库系统原理练习题(附参考答案)
数据库系统原理练习题(附参考答案)一、单选题(共100题,每题1分,共100分)1.在SELECT语句的语法结构中,【】用于对查询的结果进行排序。
A、ORDER BY子句B、WHERE子句C、GROUP BY子句D、HAVING子句正确答案:A2.将符合要求的初始数据装载到数据库中去是指A、数据库维护B、数据库试运行C、应用程序设计D、加载数据正确答案:D3.下列关于存储函数与存储过程的说法中,错误的是A、存储过程可以拥有输出参数B、可以直接对存储函数进行调用,且不需要使用CALL语句C、存储过程中必须包含一条RETURN语句D、对存储过程的调用,需要使用CALL语句正确答案:C4.能唯一标识该关系的元组的属性称为该关系的A、超键B、分量C、码D、超码正确答案:C5.下列关于MySQL中的常量的说法中,错误的是A、常量是指在程序运行过程中值不变的量B、常量的使用格式取决于值的数据类型C、字符串常量是指用单引号或双引号括起来的字符序列D、一个十六进制值通常指定为一个字符串常量,每对十六进制数字被转换为一个字符,其最前面有一个大写字母“O”或小写字母“o”正确答案:D6.在数据定义语言包括的SQL语句中,用于对数据库或数据库对象进行修改的是【】A、CREATEB、ALTERC、DROPD、UPDATE正确答案:B7.在关系的一个码中移去某个属性,它仍然是这个关系的码,这样的码称为A、主属性B、全码C、外码D、超码正确答案:D8.下列关于数据库外模式的说法,正确的是A、外模式不能重叠B、不可被多个应用程序所共享C、一个外模式可以只为一个应用程序使用D、一个数据库只能有一个外模式正确答案:C9.下列关于索引的说法中,错误的是A、索引文件需要占用磁盘空间B、创建的索引越多越好C、DBMS会将一个表的所有索引保存在同一个索引文件中D、创建索引能够提高数据文件的访问效率正确答案:B10.下列不属于数据库系统三级模式结构的是A、外模式B、内模式C、模式D、数据模式正确答案:D11.下列关于SQL的说法中,错误的是A、SQL不是某个特定数据库供应商专有的语言B、掌握SQL可以帮助用户与几乎所有的关系数据库进行交互C、SQL 简单易学D、SQL 语句区分大小写正确答案:D12.属于行为设计阶段的是A、逻辑设计B、概念设计C、功能设计D、物理设计正确答案:C13.下列不属于数据库的建立和维护功能的是A、数据库的性能监视B、数据库空间的维护C、数据定义D、数据库的分析正确答案:C14.下列关于数据控制语言的说法中,错误的是A、GRANT语句用于授予权限B、REVOKE语句用于收回权限C、数据控制语言主要用于数据执行流程管理D、数据控制语言包括的主要SQL语句是GRANT和REVOKE 正确答案:C15.下列属于新一代数据库系统的是A、面向对象数据库系统B、关系数据库系统C、层次数据库系统D、网状数据库系统正确答案:A16.DBMS提供【】来严格地定义模式。
数据库并发控制练习和答案
第八章数据库并发控制练习和答案(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第八章数据库并发控制一、选择题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. 零级封锁协议6.如果事务T获得了数据项Q上的排他锁,则T对Q()。
A. 只能读不能写B. 只能写不能读C. 既可读又可写D. 不能读也不能写7.设事务T1和T2,对数据库中地数据A进行操作,可能有如下几种情况,请问哪一种不会发生冲突操作()。
A. T1正在写A,T2要读AB. T1正在写A,T2也要写AC. T1正在读A,T2要写AD. T1正在读A,T2也要读A8.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是()。
A. 一个是DELETE,一个是SELECTB. 一个是SELECT,一个是DELETEC. 两个都是UPDATED. 两个都是SELECT9.在数据库系统中,死锁属于()。
A. 系统故障B. 事务故障C. 介质故障D. 程序故障二、简答题1. 在数据库中为什么要并发控制答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
数据库原理与应用教程第二版答案
数据库原理与应用教程第二版答案对于《数据库原理与应用教程第二版》,提供了一些基本的答案和解析:第一章:数据库系统概述1. 数据库是什么?数据库是一个长期存储在计算机内的、有组织的、可共享的大量数据的集合,它具有较小的冗余度、高质量和可靠性、易扩展和维护的特点。
2. 计算机处理数据的基本方式:输入、处理和输出。
3. 数据管理的三个基本概念:数据、数据库、数据库管理系统(DBMS)。
4. 数据的基本概念:实体、属性、码、关系。
5. 数据库系统的结构:外模式、模式、内模式。
6. 数据模型的作用:描述数据组织和关系、实现数据的逻辑表示、支持数据操作和查询。
第二章:关系数据库基础1. 实体和实体集的概念:实体是对现实世界中一个独立的数据项的描述,实体集是具有相同或相似特征的实体的集合。
2. 关系数据库的概念:关系数据库是一种以关系为基础的数据库,关系是指一个具有特定名称的二维表。
3. 关系之间的联系:主键、外键、参照完整性。
4. 关系数据库的完整性约束:实体完整性、参照完整性、用户定义的完整性约束。
5. SQL语言:数据定义语言(DDL)、数据操作语言(DML)。
6. 数据库的范式:第一范式、第二范式、第三范式。
第三章:关系数据库管理系统1. DBMS的角色和功能:数据定义、数据操作、数据控制、数据完整性、并发控制、故障恢复、安全性。
2. 数据库管理员的职责:数据库的设计、安装和配置、备份和恢复、维护和优化、安全和权限管理。
3. DBMS的体系结构:单层体系结构、两层体系结构、三层体系结构。
第四章:数据库设计1. 数据库设计的步骤:需求分析、概念设计、逻辑设计、物理设计。
第五章:查询语言基础1. SQL语言的概念:结构化查询语言,是一种用于管理关系型数据库的语言。
2. SQL的基本语句:CREATE、SELECT、INSERT、UPDATE、DELETE。
3. 查询的基本结构:FROM子句、WHERE子句、SELECT子句、ORDER BY子句。
《数据库概论》练习题及答案
C、模式与外模式D、三层模式
12.下面得选项不就是关系数据库基本特征得就是(A)。
A、不同得列应有不同得数据类型B、不同得列应有不同得列名
C、与行得次序无关D、与列得次序无关
13.一个关系只有一个(C)。
A、候选码B、外码
C、主码D、超码
14.解决并发操作带来得数据不一致问题普遍采用(B)技术。
A、更新视图B、查询
C、在视图上定义新得表D、在视图上定义新得视图
26.关系模式中,满足2NF得模式(B)。
A、可能就是1NF B、必定就是1NF
C、必定就是3NF D、必定就是BCNF
27.概念结构设计就是整个数据库设计得关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS得(B)。
13.SQL得中文全称就是_结构化查询语言。
14.“三分技术,七分管理,十二分基础数据”就是数据库建设得基本规律。
15.事务就是一系列得数据库操作,就是数据库应用程序得基本逻辑单元。
16.数据库得完整性就是指数据得正确性与相容性。
三、名词解释:(每小题3分,共15分)
1、数据独立性
数据独立性就是指建立在数据得逻辑结构与物理结构分离得基础上,用户以简单得逻辑结构操作数据而无需考虑数据得物理结构,转换工作由数据库管理系统实现。
3、BCNF每一个决定因素都包含码得关系模式
4、自然连接特殊得等值连接,它要求两个关系中进行比较得分量必须就是相同得属性组,并且在结果中把重复得属性去掉
5、参照完整性
6、数据
7、数据库管理系统
8、候选码
9、意向锁、
10、数据库
四、问答题:(每小题4分,共20分)
数据管理考试题库及答案
数据管理考试题库及答案一、单项选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪一项?A. 数据定义B. 数据存储C. 数据维护D. 数据加密答案:D2. 在关系数据库中,一个表的主键是用来做什么的?A. 唯一标识表中的每条记录B. 存储表的名称C. 存储表的创建日期D. 存储表的描述信息答案:A3. SQL语言中,用于查询数据的命令是?A. SELECTB. INSERTC. UPDATED. DELETE答案:A4. 数据库设计中,规范化的主要目的是什么?A. 提高查询速度B. 减少数据冗余C. 增加数据存储空间D. 降低系统性能答案:B5. 在数据库中,外键的作用是什么?A. 唯一标识表中的每条记录B. 用于建立表之间的关系C. 存储表的创建日期D. 存储表的描述信息答案:B6. 数据库中的事务具有哪些特性?(多选)A. 原子性B. 一致性C. 隔离性D. 持久性答案:ABCD7. 数据库的并发控制主要解决什么问题?A. 数据不一致性B. 数据冗余C. 数据存储空间不足D. 数据安全性答案:A8. 数据库恢复的主要目的是?A. 提高查询速度B. 恢复因系统故障而丢失的数据C. 增加数据存储空间D. 降低系统性能答案:B9. 在数据库中,索引的作用是什么?A. 唯一标识表中的每条记录B. 用于建立表之间的关系C. 提高查询效率D. 存储表的描述信息答案:C10. 数据库中的视图是什么?A. 存储在数据库中的物理表B. 一个虚拟的表,其内容由查询定义C. 存储表的创建日期D. 存储表的描述信息答案:B二、多项选择题(每题3分,共15分)1. 数据库管理系统(DBMS)的主要功能包括哪些?(多选)A. 数据定义B. 数据存储C. 数据维护D. 数据加密答案:ABC2. 在关系数据库中,以下哪些是表的组成部分?(多选)A. 列B. 行C. 主键D. 索引答案:ABCD3. SQL语言中,以下哪些命令用于数据操作?(多选)A. SELECTB. INSERTC. UPDATED. DELETE答案:BCD4. 数据库设计中,规范化的目的是?(多选)A. 提高查询速度B. 减少数据冗余C. 增加数据存储空间D. 降低系统性能答案:AB5. 数据库中的事务具有哪些特性?(多选)A. 原子性B. 一致性C. 隔离性D. 持久性答案:ABCD三、简答题(每题10分,共30分)1. 简述数据库管理系统(DBMS)的主要功能。
数据库第10、11章习题及答案 (1)
第10、11章练习题(数据库恢复技术及并发控制)一、选择题 1.( C )是DBMS 的基本单位,它是用户定义的一组逻辑一致的程序序列。
A .程序B .命令C .事务D .文件 2.事务的原子性是指( A ) 。
A .事务中包括的所有操作要么都做,要么都不做B .事务一旦提交,对数据库的改变是永久的C .一个事务内部的操作及使用的数据对并发的其他事务是隔离的D .事务必须是使数据库从一个一致性状态变到另一个一致性状态 3.事务的一致性是指( D )。
A .事务中包括的所有操作要么都做,要么都不做B .事务一旦提交,对数据为的改变是永久的C .一个事务内部的操作及使用的数据对并发的其他事务是隔离的D .事务必须是使数据库从一个一致性状态变到另一个一致性状态 4.事务的隔离性是指( C )。
A .事务中包括的所有操作要么都做,要么都不做B .事务一旦提交,对数据库的改变是永久的C .一个事务内部的操作及使用的数据对并发的其他事务是隔离的D .事务必须是使数据库从一个一致性状态变到另一个一致性状态 5.事务的持续性是指( B )。
A .事务中包括的所有操作要么都做,要么都不做B .事务一旦提交,对数据库的改变是永久的C .一个事力内部的操作及使用的数据对并发的其他事务是隔离的D .事务必须是使数据库从一个一致性状态变到另一个一致性状态6.若数据库中只包含成功事务提交的结果,则此数据库就称为处于( B )状态。
A .安全B .一致C .不安全D .不一致7.若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为( B )。
A .事务故障B .系统故障C .介质故障D .运行故障 8.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为( C )。
A .事务故障B .系统故障C .介质故障D .运行故障 9.( B )用来记录对数据库中数据进行的每一次更新操作。
数据库系统概论 第七到八章 习题及答案
第七、八章习题一、选择题: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.授权编译系统和合法性检查机制一起组成了____子系统。
A.安全性B.完整性C.并发控制D.恢复答案:A7.____是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。
A.程序B.命令C.事务D.文件答案:C8.事务的原子性是指____。
A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态答案:A9.事务是数据库进行的基本工作单位。
如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于____状态。
A.安全性B.一致性C.完整性D.可靠性答案:B10.事务的一致性是指____。
A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态答案:D11.事务的隔离性是指____。
A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态答案:C12.事务的持续性是指____。
数据库原理习题及答案
数据库原理1、如果关系模式R满足2NF,且每个非主属性都不传递依赖于R的每个关系键,则称关系模式R属于()。
A、3NF2、下列选项中可以用来做时间戳的是()。
A、逻辑计数器3、运行在单台计算机上,不与其他计算机系统交互的数据库系统是指()。
A、集中式系统4、数据库系统并发控制主要采用的技术手段是时间戳、()等。
A、封锁5、PowerBuilder中,如果要将用户对数据窗口中数据的操作更新到数据库,必须调用数据窗口控件对象的函数()。
D、update()6、PowerBuilder中如果要将数据窗口中数据从数据库检索出来,必须调用数据窗口控件对象的函数()。
C、retrieve()7、三层系统架构的优点不包括()D、结构更加的明确8、在PowerBuilder自带的ASA中建立新数据库时,ASA完成的工作不包括()。
D、打开应用主窗口9、如果SQL查询需要去掉查询结果中的重复组,应使用( )。
C、DISTINCT10、关系数据库的规范化理论中起着核心的作用、作为模式分解和模式设计的基础的是()。
B、函数依赖11、为了提高磁盘数据的存储和访问速度,出现了很多存取技术,但不包括()。
D、高速硬盘12、用于保证数据库字段取值合理性的完整性约束是()。
A、域完整性13、如果关系模式R所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于()。
A、1NF14、对R(U,F)有:若X→Y,X→Z为F所蕴涵,则X→YZ为F所蕴涵,这种性质是()。
C、合成性15、事务的最后一条语句被执行后,事务处于()。
A、部分提交状态16、事务的()意味着一旦事务执行成功,在系统中产生的所有变化将是永久的。
B、持久性17、在静态散列中,如果我们插入一条记录,而桶没有足够的空间,就会发生()。
D、桶溢出18、数据库中的数据一般只部分更新,很少全部更新,如果全部备份,效率较低,可采用()解决。
B、增量备份19、某关系模式R,属性集U=ABCD,函数依赖集F={A→B, C→B,B→D},属性子集U1=CD,则F在U1上的投影为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的并发控制机制。
)。