数据库系统原理教程课后习题及答案(第十章)
(完整版)数据库课后习题及答案

第一章数据库系统概述选择题1实体-联系模型中,属性是指(C)A.客观存在的事物B.事物的具体描述C.事物的某一特征D.某一具体事件2对于现实世界中事物的特征,在E-R模型中使用(A)A属性描述B关键字描述C二维表格描述D实体描述3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A)A书号B书名C作者D出版社4一名作家与他所出版过的书籍之间的联系类型是(B)A一对一B一对多C多对多D都不是5若无法确定哪个属性为某实体的键,则(A)A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键填空题1对于现实世界中事物的特征在E-R模型中使用属性进行描述2确定属性的两条基本原则是不可分和无关联3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n5数据的完整性是指数据的正确性、有效性、相容性、和一致性简答题一、简述数据库的设计步骤答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。
分析的策略:自下而上——静态需求、自上而下——动态需求2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。
3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。
4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。
二、数据库的功能答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构2提供数据查询语言3提供数据操纵语言4支持大量数据存储5控制并发访问三、数据库的特点答:1数据结构化。
2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复第二章关系模型和关系数据库选择题1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的A将A关系的关键字放入B关系中B建立新的关键字C建立新的联系D建立新的实体2关系S和关系R集合运算的结果中既包含S中元组也包含R中元组,但不包含重复元组,这种集合运算称为(A)A并运算B交运算C差运算D积运算3设有关系R1和R2,经过关系运算得到结果S,则S是一个(D)A字段B记录C数据库D关系4关系数据操作的基础是关系代数。
数据库原理教程习题答案(全)

0000000000第1章数据库系统概述习题参考答案税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。
典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。
银行使用数据库存储客户基本信息、客户存贷款信息等。
典型的数据处理包括处理客户存取款等。
超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。
典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。
1.2 DBMS是数据库管理系统的简称,是一种重要的程序设计系统。
它由一个相互关联的数据集合和一组访问这些数据的程序组成。
数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。
数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。
数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。
数据库模式是数据库中使用数据模型对数据建模所产生设计结果。
对于关系数据库而言,数据库模式由一组关系模式构成。
数据字典是DBMS维护的一系列内部表,用来存放元数据。
所谓元数据是关于数据的数据。
1.3 DBMS提供如下功能:(1)数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。
(2)数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。
(3)事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。
(4)数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。
(5)数据库的建立和维护:提供实用程序,完成数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组和性能监测等。
第十章练习题及答案

第十章数据库恢复技术一、选择题1.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是(A )。
A. 原子性B. 一致性C. 独立性D. 持久性2.表示两个或多个事务可以同时运行而不互相影响的是(C)。
A. 原子性B. 一致性C. 独立性D. 持久性3. 事务的持续性是指(B )A.事务中包括的所有操作要么都做,要么都不做。
B.事务一旦提交,对数据库的改变是永久的。
C.一个事务内部的操作对并发的其他事务是隔离的。
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。
4.SQL语言中的COMMIT语句的主要作用是(C)。
A. 结束程序B. 返回系统C. 提交事务D. 存储数据5.SQL语言中用(B)语句实现事务的回滚A. CREATE TABLEB. ROLLBACKC. GRANT和REVOKED. COMMIT 6.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为(A )。
A. 介质故障B. 运行故障C. 系统故障D. 事务故障7.在DBMS中实现事务持久性的子系统是(B D )。
A. 安全管理子系统B. 完整性管理子系统C. 并发控制子系统D. 恢复管理子系统8. 后援副本的作用是(C)。
A. 保障安全性B. 一致性控制C. 故障后的恢复D. 数据的转储9.事务日志用于保存(D C)。
A. 程序运行过程B. 程序的执行结果C. 对数据的更新操作D. 数据操作10.数据库恢复的基础是利用转储的冗余数据。
这些转储的冗余数据包括(C)。
A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、审计档案、日志文件C. 日志文件、数据库后备副本D. 数据字典、应用程序、数据库后备副本选择题答案:(1) A (2) C (3) B (4) C (5) B(6) A (7) D (8) C (9) C (10) C二、简答题1.试述事务的概念及事务的四个特性。
第10章怎样管理和利用数据练习题答案解析

(C)前述(I)(II)和(IV);
(D)前述(I)(II)(IV)和(V);
(E)前述(I)(II)(III)(IV)和(V);
答案:E
解释:
本题目考查数据库系统与数据库管理系统的相关概念。
选择(E),数据库系统包括数据库、数据库管理系统、数据库应用、数据库管理员以及计算机基本系统。
答案:D
解释:
本题考核数据库管理系统的基本功能。
AB C项不对,用户和数据库管理系统都是依据同样的数据库语言。用户的定义、操作、控制,则分别依赖于DBMS的DDL、DML、DCL。这三个语言都是DBMS的子集。
具体内容请参考课堂视频“数据库管理系统的基本功能”和第十章课件。
3、当前大部分数据库系统,被称为结构化数据库,其核心数据模型是关系模型,因此“关系”是数据库领域的重要概念。围绕“关系”,回答下列问题。
第10章 怎样管理和利用数据
1、数据库系统是信息社会中重要的系统,其基本构成如下图示意。仔细理解数据库、数据库系统和数据库管理系统等概念,回答下列问题。
图10-1
(1)关于为什么要用“数据库”,下列说法正确的是_____。
(A)因为数据库可以使不同地点的人员实时地共享数据,一个地点的人员对数据库中数据进行了修改,另一个地点的人员可以马上了解这种修改,这种实时共享数据是纸面数据、非数据库数据所达不到的;
图10-3
(1)从用户角度看数据库管理系统的基本功能是_____。
(A)数据库定义功能;
(B)数据库操纵功能;
(C)数据库控制功能;
(D)数据库的建立和维护功能;
(E)以上全部;
答案:E
解释:
本题考核数据库管理系统的基本功能。
数据库系统原理教程课后习题及答案(第十章)

第11章并发控制1 .在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
2 .并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。
( l )丢失修改(lost update ) 两个事务 Tl 和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了) Tl 提交的结果,导致Tl 的修改被丢失。
( 2 )不可重复读( Non 一 Repeatable Read ) 不可重复读是指事务 Tl 读取数据后,事务几执行更新操作,使 Tl 无法再现前一次读取结果。
( 3 )读“脏”数据( Dirty Read ) 读“脏’夕数据是指事务 Tl 修改某一数据,并将其写回磁盘,事务几读取同一数据后, Tl 由于某种原因被撤销,这时 Tl 已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。
避免不一致性的方法和技术就是并发控制。
最常用的技术是封锁技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
3 .什么是封锁?基本的封锁类型有几种?试述它们的含义。
答:封锁就是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务 T 就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
基本的封锁类型有两种:排它锁( Exclusive Locks ,简称 x 锁)和共享锁 ( Share Locks,简称 S 锁)。
排它锁又称为写锁。
数据库原理教程习题答案(全)

0000000000第1章数据库系统概述习题参考答案税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。
典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。
银行使用数据库存储客户基本信息、客户存贷款信息等。
典型的数据处理包括处理客户存取款等。
超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。
典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。
DBMS是数据库管理系统的简称,是一种重要的程序设计系统。
它由一个相互关联的数据集合和一组访问这些数据的程序组成。
数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。
数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。
数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。
数据库模式是数据库中使用数据模型对数据建模所产生设计结果。
对于关系数据库而言,数据库模式由一组关系模式构成。
数据字典是DBMS维护的一系列内部表,用来存放元数据。
所谓元数据是关于数据的数据。
DBMS提供如下功能:(1)数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。
(2)数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。
(3)事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。
(4)数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。
(5)数据库的建立和维护:提供实用程序,完成数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组和性能监测等。
数据库系统原理课后习题参考答案

数据库系统原理课后习题参考答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。
P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。
P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。
两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。
4.请简述关系模型与网状模型、层次模型的区别。
P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。
第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。
P48答:关系数据库的基本特征是使用关系数据模型组织数据。
2.请简述什么是参照完整性约束。
P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系规范化过程。
数据库原理课后习题答案(人民邮电大学出版社)赵杰编

习题参考答案第1章一、填空题1.答案:【1】分类【2】组织【3】存储【4】检索【5】维护2.答案:【1】逻辑结构【2】存储空间【3】数据存取方法3.答案:【1】数据冗余【2】不一致性【3】数据联系弱4.答案:【1】应用程序【2】数据5.答案:【1】1968年【2】Information Management System【3】层次6.答案:【1】记录7.答案:【1】数据的完整性【2】数据的安全性【3】并发控制、【4】数据库的恢复8.答案:【1】数据项【2】记录9.答案:【1】概念模型【2】数据模型10.答案:【1】数据结构【2】数据操作【3】数据的完备性约束条件11.答案:【1】层次数据库【2】网状数据库【3】关系数据库、【4】面向对象的数据库12.答案:【1】实体内部的联系【2】实体与实体之间的联系13.答案:【1】一对一的联系【2】一对多的联系【3】多对多的联系14.答案:【1】三级模式【2】子模式【3】模式【4】存储模式15.答案:【1】数据库【2】硬件【3】软件【4】数据库管理员(DBA)16.答案:【1】数据库管理员【2】系统分析员【3】应用程序员【4】用户二、选择题1.C 2.C 3.A 4.A 5.C 6.B 7.A①B⑤C⑦D④E③8.D9.C 10.B 11.C 12.A三、简答题1.参照1.2.1数据库发展阶段的划分。
2.答案一:数据库是集中、统一地保存和管理某一单位或某一领域内所有有用信息的系统。
这个系统根据数据之间的自然联系结构而成,数据冗余较少,且具有较高的数据独立性,能为多种应用服务。
答案二:数据库是以一定的组织方式存储在一起的、能为多个用户共享的、具有尽可能附录2 习题参考答案275 小的冗余度、与应用彼此独立的、相互关联的数据集合。
3.数据结构指数据的组织方式,包括物理方式与逻辑方式。
数据字典(简称DD)是对系统中数据的详尽描述,是各类数据属性的清单。
在RDBMS中,数据字典通常采用和普通数据同样的表示方式,DD在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第11章并发控制1 .在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
2 .并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏’夕数据。
( l )丢失修改(lost update ) 两个事务Tl 和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)Tl 提交的结果,导致Tl 的修改被丢失。
( 2 )不可重复读(Non 一Repeatable Read ) 不可重复读是指事务Tl 读取数据后,事务几执行更新操作,使Tl 无法再现前一次读取结果。
( 3 )读“脏”数据(Dirty Read ) 读“脏’夕数据是指事务Tl 修改某一数据,并将其写回磁盘,事务几读取同一数据后,Tl 由于某种原因被撤销,这时Tl 已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。
避免不一致性的方法和技术就是并发控制。
最常用的技术是封锁技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
3 .什么是封锁?基本的封锁类型有几种?试述它们的含义。
答:封锁就是事务T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务T 就对该数据对象有了一定的控制,在事务T 释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
基本的封锁类型有两种:排它锁(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 做任何修改。
4 .如何用封锁机制保证数据的一致性?答:DBMS 在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务Tl 在对A 进行修改之前先对A 执行xock ( A ) ,即对A 加x 锁。
这样,当几请求对A 加x 锁时就被拒绝,几只能等待Tl 释放A 上的锁后才能获得对A 的x 锁,这时它读到的A 是Tl 更新后的值,再按此新的A 值进行运算。
这样就不会丢失Tl 的更新。
DBMS 按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可重复读和读“脏’夕数据等数据不一致性。
5 .什么是活锁?什么是死锁?答:如果事务Tl 封锁了数据R ,事务几又请求封锁R ,于是几等待。
几也请求封锁R ,当Tl 释放了R 上的封锁之后系统首先批准了几的请求,几仍然等待。
然后几又请求封锁R ,当几释放了R 上的封锁之后系统又批准了几的请求……几有可能永远等待,这就是活锁的情形。
活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。
如果事务Tl 封锁了数据Rl ,几封锁了数据凡,然后Tl 又请求封锁几,因几已封锁了几,于是Tl 等待几释放几上的锁。
接着几又申请封锁Rl ,因Tl 已封锁了Rl ,几也只能等待Tl 释放Rl 上的锁。
这样就出现了Tl 在等待几,而几又在等待T }的局面,T }和几两个事务永远不能结束,形成死锁。
6 .试述活锁的产生原因和解决方法。
答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。
避免活锁的简单方法是采用先来先服务的策略。
当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。
11 .请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?答:数据库系统一般采用允许死锁发生,DBMS 检测到死锁后加以解除的方法。
DBMS 中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。
超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。
超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。
若时限设置得太长,又不能及时发现死锁发生。
DBMS 并发控制子系统检测到死锁后,就要设法解除。
通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。
当然,对撤销的事务所执行的数据修改操作必须加以恢复。
12 .什么样的并发调度是正确的调度?答:可串行化(Serializable )的调度是正确的调度。
可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同,称这种调度策略为可串行化的调度。
9 .设Tl ,几,几是如下的3 个事务:Tl :A : = A + 2 ;T2:A : = A * 2 ;T3:A : = A **2 ; ( A <-A*A)设A 的初值为0 。
( l )若这3 个事务允许并行执行,则有多少可能的正确结果,请一一列举出来。
答:A 的最终结果可能有2 、4 、8 、16 。
因为串行执行次序有Tl T2T3、Tl T3T2、T2T1T3、T2T3Tl 、T3T1T2、T3T2 Tl 。
对应的执行结果是16 、8 ·4 ·2 ·4 ·2 。
( 2 )请给出一个可串行化的调度,并给出执行结果答:最后结果A 为16 ,是可串行化的调度。
( 3 )请给出一个非串行化的调度,并给出执行结果。
答:最后结果A 为0 ,为非串行化的调度。
( 4 )若这3 个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。
答:( 5 )若这3 个事务都遵守两段锁协议,请给出一个产生死锁的调度。
答:11.试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。
证明:首先以两个并发事务Tl 和T2为例,存在多个并发事务的情形可以类推。
根据可串行化定义可知,事务不可串行化只可能发生在下列两种情况:( l )事务Tl 写某个数据对象A ,T2读或写A ;( 2 )事务Tl 读或写某个数据对象A ,T2写A 。
下面称A 为潜在冲突对象。
设Tl 和T2访问的潜在冲突的公共对象为{A1,A2 …,An }。
不失一般性,假设这组潜在冲突对象中X =(A 1 , A2 ,…,Ai }均符合情况1 。
Y ={A i + 1 ,…,An }符合所情况(2 )。
VX ∈x , Tl 需要XlockX ①T2 需要Slockx 或Xlockx ②1 )如果操作①先执行,则Tl 获得锁,T2等待由于遵守两段锁协议,Tl 在成功获得x 和Y 中全部对象及非潜在冲突对象的锁后,才会释放锁。
这时如果存在w ∈x 或Y ,T2已获得w 的锁,则出现死锁;否则,Tl 在对x 、Y 中对象全部处理完毕后,T2才能执行。
这相当于按Tl 、T2的顺序串行执行,根据可串行化定义,Tl 和几的调度是可串行化的。
2 )操作②先执行的情况与(l )对称因此,若并发事务遵守两段锁协议,在不发生死锁的情况下,对这些事务的并发调度一定是可串行化的。
证毕。
12 .举例说明,对并发事务的一个调度是可串行化的,而这些并发事务不一定遵守两段锁协议。
答:13 .为什么要引进意向锁?意向锁的含义是什么?答:引进意向锁是为了提高封锁子系统的效率。
该封锁子系统支持多种封锁粒度。
原因是:在多粒度封锁方法中一个数据对象可能以两种方式加锁―显式封锁和隐式封锁。
因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突,还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突,显然,这样的检查方法效率很低。
为此引进了意向锁。
意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。
例如事务T 要对某个元组加X 锁,则首先要对关系和数据库加ix 锁。
换言之,对关系和数据库加ix 锁,表示它的后裔结点―某个元组拟(意向)加X 锁。
引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。
例如,事务T 要对关系R 加X 锁时,系统只要检查根结点数据库和R 本身是否已加了不相容的锁(如发现已经加了ix ,则与X 冲突),而不再需要搜索和检查R 中的每一个元组是否加了X 锁或S 锁。
14 .试述常用的意向锁:IS 锁、ix 锁、SIX 锁,给出这些锁的相容矩阵。
答:IS锁:如果对一个数据对象加IS 锁,表示它的后裔结点拟(意向)加S 锁。
例如,要对某个元组加S 锁,则要首先对关系和数据库加IS 锁IX 锁:如果对一个数据对象加ix 锁,表示它的后裔结点拟(意向功口X 锁。
例如,要对某个元组加X 锁,则要首先对关系和数据库加ix 锁。
SIX 锁:如果对一个数据对象加SIX 锁,表示对它加S 锁,再加IX 锁,即SIX = S + IX 。
相容矩阵:15 .理解并解释下列术语的含义:封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。
答:(略,已经在上面有关习题中解答)16 .试述你了解的某一个实际的DBMS 产品的并发控制机制。
答:(略,参见简单介绍了有关Oracle 的并发控制机制。
)如有侵权请联系告知删除,感谢你们的配合!。