分布式数据库系统及其应用(徐俊刚 第三版)重点课后习题答案
数据库系统教程(第三版课后答案)整理下载

第1章数据库概论1.1 基本内容分析1.1.1 本章的重要概念(1)DB、DBMS和DBS的定义(2)数据管理技术的发展阶段人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点。
(3)数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(1:1,1:N,M:N)。
(4)数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,ER模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。
(5)DB的体系结构三级结构,两级映像,两级数据独立性,体系结构各个层次中记录的联系。
(6)DBMSDBMS的工作模式、主要功能和模块组成。
(7)DBSDBS的组成,DBA,DBS的全局结构,DBS结构的分类。
1.1.2本章的重点篇幅(1)教材P23的图1.24(四种逻辑数据模型的比较)。
(2)教材P25的图1.27(DB的体系结构)。
(3)教材P28的图1.29(DBMS的工作模式)。
(4)教材P33的图1.31(DBS的全局结构)。
1.2 教材中习题1的解答1.1 名词解释·逻辑数据:指程序员或用户用以操作的数据形式。
·物理数据:指存储设备上存储的数据。
·联系的元数:与一个联系有关的实体集个数,称为联系的元数。
·1:1联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么E1和E2的联系称为“1:1联系”。
·1:N联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中一个实体有联系,那么E1和E2的联系是“1:N联系”。
·M:N联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1和E2的联系称为“M:N联系”。
·数据模型:能表示实体类型及实体间联系的模型称为“数据模型”。
分布式数据库习题

分布式数据库习题第一章请用自己的语言定义下列分布式数据库系统中的术语:全局/局部数据、全局/局部用户(应用)、全局/局部DBMS、全局/局部DB、全局外模式、全局概念模式、分片模式、分配模式、局部概念模式。
采用分布式数据库系统的主要原因是什么分布式数据库系统可分为那些类分布式DBMS具有哪些集中式DBMS不具备的功能请用自己的语言解析“什么时候需要进行数据分片和数据复制”。
在分布式数据库系统中,为什么要对数据进行分片什么是关系的片段关系的片段有哪些主要类型第二章概述分布式数据库系统的创建方法、方法特点和适用范围。
分布式数据库设计的主要目标是什么概述分布式数据库设计的关键问题及其解决方法。
数据分片应遵守哪些基本原则数据分片有哪些基本类型和方法为什么说在关系型分布式数据库中使用导出式水平分片,使关系之间的连接变得更加容易试举一例。
采用DATAID-D方法的分布式数据库设计与传统的集中式数据库设计在步骤和内容上有什么不同考虑图所示的公司数据库的分片和分布。
假设该公司有三个计算机站点,站点B和C分别属于部门2和3.现在希望在站点B和C上分别频繁访问EMPLOYEE和PROJECT表中有关工作在该部门的雇员和该部门管辖的项目信息。
雇员信息主要是指EMPLOYEE表的NAME,ESSN,SALARY和SUPERSSN属性。
站点A供公司总部(部门1)使用,经常存取为保险目的而记录的DEPENDENT信息外,还定期地存取所有雇员和项目的信息。
根据这些给出的要求,对COMPANY关系数据库中关系进行分片和分布。
EMPLOYEEDEPARTMENTDEPT_LOCATIONPROJECTWORKS_ONDEPENDENT图 COMPANY关系数据库模式的一个可能的关系数据库状态(主码用下标线标出)第三章概述基于关系代数等价变换的查询优化算法的基本原理和实现步骤。
概述基于半连接算法查询优化的基本原理和使用情形。
概述基于直接连接算法查询优化的基本原理和适用情形。
数据库原理与应用教程(第三版)第六章课后习题答案

6.学生选课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)(1)候选码(学号,课程号)(2)该关系模式是第一范式(3)因为存在部分函数依赖关系((学号,课程号)—P—>姓名),所以要进行关系模式的规范化R1(学号,姓名,所在系,性别)主码:学号R2(课程号,课程名,学分)主码:课程号R3(学号,课程号,成绩)主码:(学号,课程号)学号是引用了R1关系模式的外码,课程号是引用了R2的外码因为每个关系模式此时已经是不含有依赖函数关系了,所以也是第三范式了7.学生(学号,姓名,所在系,班号,班主任,系主任)(1)候选码(学号,班号)(2)第一范式(3)因为存在部分函数依赖关系((学号,班号)—P—>姓名),所以要进行关系模式的规范化R1(学号,姓名,所在系,系主任)R2(班号,班主任)R3(学号,班号)(删去)因为每个关系模式此时是含有依赖函数关系了学号—f—>所在系,所在系—f—>系主任所以:R1(学号,姓名,所在系)主码:学号所在系是引用了R3中“所在系”的外码R2(班号,班主任)主码:班号R3(所在系,系主任)主码:所在系8.教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数)(1)候选码(课程号,授课教师号)(2)第一范式(3)因为存在部分函数依赖关系((课程号,授课教师号)—P—>姓名),所以要进行关系模式的规范化(4)R1(课程号,课程名,学分)主码:课程号R2(授课教师号,教师名)主码:教师名R3(课程号,授课教师号,授课时数)主码:(课程号,授课教师号)课程号是引用了R1中的“课程号”的外码,授课教师号引用了R2的“授课教师号”的外码因为每个关系模式此时已经是不含有依赖函数关系了,所以也是第三范式了。
数据库原理及应用课后习题答案第1到3章

数据库原理及应⽤课后习题答案第1到3章1.3 习题1. 数据库的发展历史分为哪⼏个阶段?各有什么特点?答:从数据管理的⾓度看,数据库技术到⽬前共经历了⼈⼯管理阶段、⽂件系统阶段和数据库系统阶段。
⼈⼯管理阶段数据管理特点:数据不保存,没有对数据进⾏管理的软件系统,没有⽂件的概念,数据不具有独⽴性。
⽂件系统阶段数据管理特点:数据可以长期保存,由⽂件系统管理数据,⽂件的形式已经多样化,数据具有⼀定的独⽴性。
数据库系统阶段数据管理特点:采⽤复杂的结构化的数据模型,较⾼的数据独⽴性,最低的冗余度,数据控制功能。
2. 简述数据、数据库、数据库管理系统、数据库系统的概念。
答:数据是指描述事物的符号记录。
⼈们通过数据来认识世界,交流信息。
数据库是存储在⼀起的相关数据的集合,这些数据是结构化的,⽆有害的或不必要的冗余,并为多种应⽤服务;数据的存储独⽴于使⽤它的程序;对数据库插⼊新数据,修改和检索原有数据均能按⼀种公⽤的和可控制的⽅式进⾏。
数据库管理系统(DataBase Management System,简称DBMS)是专门⽤于管理数据库的计算机系统软件。
数据库管理系统能够为数据库提供数据的定义、建⽴、维护、查询和统计等操作功能,并完成对数据完整性、安全性进⾏控制的功能,它位于⽤户和操作系统之间,是⼀层数据管理软件。
数据库系统(DataBase System,简称DBS)是指在计算机系统中引⼊了数据库后的系统,由计算机硬件、数据库、数据库管理系统、应⽤程序和⽤户构成,即由计算机硬件、软件和使⽤⼈员构成。
3. 使⽤数据库系统有什么好处?答:简化管理,提⾼效率,提供安全。
4. 试述数据库系统的三级模式结构和⼆级映象的特点。
答:从数据库管理系统的⾓度看,数据库系统通常采⽤三级模式结构:外模式、模式和内模式。
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS 管理,使⽤户能逻辑地、抽象地处理数据。
数据库原理及应用课后习题答案

第一章习题一、选择题1.数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)之间的关系是(C)。
A)DB包含DBS和DBMS B)DBMS包含DBS和DBC)DBS包含DB和DBMS D)没有任何关系2.数据库系统的核心是(B)。
A)数据模型 B)数据库管理系统C)数据库 D)数据库管理员3.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指(D)。
A)数据与程序独立存放B)不同的数据被存放在不同的文件中C)不同的数据只能被队友的应用程序所使用D)以上三种说法都不对4.用树形结构表示实体之间联系的模型是(C)。
A)关系模型 B)网状模型 C)层次模型 D)以上三个都是5.“商品与顾客”两个实体集之间的联系一般是(D)。
A)一对一 B)一对多 C)多对一 D)多对多6.在E-R图中,用来表示实体的图形是(A)。
A)矩形 B)椭圆形 C)菱形 D)三角形7.在数据库管理系统提供的数据语言中,负责数据的模式定义和数据的物理存取构建的是(A)。
A)数据定义语言 B)数据转换语言 C)数据操纵语言 D)数据控制语言8.数据库系统的三级模式结构中,下列不属于三级模式的是(B)。
A)内模式 B)抽象模式 C)外模式 D)概念模式9.在数据库管理系统提供的语言中,负责数据的完整性、安全性的定义与检查以及并发控制、故障恢复等功能的是(D)。
A)数据定义语言 B)数据转换语言 C)数据操纵语言 D)数据控制语言10.下面关于数据库系统叙述正确的是(B)。
A)数据库系统避免了一切冗余B)数据库系统减少了数据冗余C)数据库系统比文件能管理更多的数据D)数据库系统中数据的一致性是指数据类型的一致11.下列叙述中,错误的是(C)。
A)数据库技术的根本目标是要解决数据共享的问题B)数据库设计是指设计一个能满足用户要求,性能良好的数据库C)数据库系统中,数据的物理结构必须与逻辑结构一致D)数据库系统是一个独立的系统,但是需要操作系统的支持12.在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是(D)。
数据库课后习题作业答案

数据库课后习题作业答案《数据库系统概论》课程习题及参考答案第⼀章绪论(教材37页)1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:数据:描述事物的符号记录称为数据。
数据的种类有⽂字、图形、图像、声⾳、正⽂等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按⼀定的数据模型组织、描述和储存,具有较⼩的冗余度、较⾼的数据独⽴性和易扩展性,并可为各种⽤户共享。
数据库系统:数据库系统(DBS)是指在计算机系统中引⼊数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发⼯具)、应⽤系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于⽤户与操作系统之间的⼀层数据管理软件。
⽤于科学地组织和存储数据、⾼效地获取和维护数据。
DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运⾏管理功能、数据库的建⽴和维护功能。
2.使⽤数据库系统有什么好处?答:使⽤数据库系统的好处是由数据库管理系统的特点或优点决定的。
使⽤数据库系统的好处很多,例如可以⼤⼤提⾼应⽤开发的效率,⽅便⽤户的使⽤,减轻数据库系统管理⼈员维护的负担等。
为什么有这些好处,可以结合第 5题来回答。
使⽤数据库系统可以⼤⼤提⾼应⽤开发的效率。
因为在数据库系统中应⽤程序不必考虑数据的定义、存储和数据存取的具体路径,这些⼯作都由 DBMS来完成。
此外,当应⽤逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独⽴性。
数据逻辑结构的改变是 DBA的责任,开发⼈员不必修改应⽤程序,或者只需要修改很少的应⽤程序。
从⽽既简化了应⽤程序的编制,⼜⼤⼤减少了应⽤程序的维护和修改。
使⽤数据库系统可以减轻数据库系统管理⼈员维护系统的负担。
因为 DBMS 在数据库建⽴、运⽤和维护时对数据库进⾏统⼀的管理和控制,包括数据的完整性、安全性,多⽤户并发控制,故障恢复等等都由DBMS执⾏。
(完整版)《数据库原理及应用》课后习题参考答案解析

《数据库原理与应用》课后习题参考答案第一章作业参考答案1. 单选题 C C D B C2. 判断题对错错错对3填空题网状模型用户商业智能数据挖掘系统设计4简答题1)数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。
3)数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。
主流数据库采用关系图模型。
数据库典型数据模型:层次数据模型网状数据模型关系数据模型其它数据模型(如对象数据模型、键值对数据模型、列式数据模型。
)2)数据库——是一种依照特定数据模型组织、存储和管理数据的文件,数据库文件一般存放在辅助存储器以便长久保存。
数据库具有如下特点:数据不重复存放;提供给多种应用程序访问;数据结构独立于使用它的应用程序;对数据增、删、改、检索由统一软件进行管理和控制。
3)数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结构。
在数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。
数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等4)数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个组成要素。
5)数据库管理系统(Database Manage System,DBMS )——是一种专门用来创建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。
数据库管理系统(DBMS)主要功能:创建数据库和表; 创建支持结构,如索引等; 读取数据库数据 ; 修改数据库数据; 维护数据库结构; 执行规则; 并发控制; 提供安全性;执行备份和恢复等等第二章作业参考答案1 单选题 C B D A A2. 判断题对对错对错3填空题全外连接数据约束候选键用户定义完整性4简答题外码键1)在关系模型中,使用“关系”来存储“实体”中的数据。
分布式数据库习题

分布式数据库习题第一章1.1请用自己的语言定义下列分布式数据库系统中的术语:全局/局部数据、全局/局部用户(应用)、全局/局部DBMS、全局/局部DB、全局外模式、全局概念模式、分片模式、分配模式、局部概念模式。
1.2采用分布式数据库系统的主要原因是什么?1.3分布式数据库系统可分为那些类?1.5分布式DBMS具有哪些集中式DBMS不具备的功能?1.6请用自己的语言解析“什么时候需要进行数据分片和数据复制”。
1.7在分布式数据库系统中,为什么要对数据进行分片?什么是关系的片段?关系的片段有哪些主要类型?第二章2.1概述分布式数据库系统的创建方法、方法特点和适用范围。
2.2分布式数据库设计的主要目标是什么?2.3概述分布式数据库设计的关键问题及其解决方法。
2.6数据分片应遵守哪些基本原则?数据分片有哪些基本类型和方法?2.7为什么说在关系型分布式数据库中使用导出式水平分片,使关系之间的连接变得更加容易?试举一例。
2.8采用DATAID-D方法的分布式数据库设计与传统的集中式数据库设计在步骤和内容上有什么不同?2.9考虑图2.12所示的公司数据库的分片和分布。
假设该公司有三个计算机站点,站点B和C分别属于部门2和3.现在希望在站点B和C上分别频繁访问EMPLOYEE和PROJECT表中有关工作在该部门的雇员和该部门管辖的项目信息。
雇员信息主要是指EMPLOYEE表的NAME,ESSN,SALARY和SUPERSSN属性。
站点A供公司总部(部门1)使用,经常存取为保险目的而记录的DEPENDENT信息外,还定期地存取所有雇员和项目的信息。
根据这些给出的要求,对COMPANY关系数据库中关系进行分片和分布。
EMPLOYEEDEPARTMENTDEPT_LOCATION PROJECTWORKS_ONDEPENDENT图2.12 COMPANY 关系数据库模式的一个可能的关系数据库状态(主码用下标线标出)第三章3.3概述基于关系代数等价变换的查询优化算法的基本原理和实现步骤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 1.1 采用分布式数据库系统的主要原因是什么? 集中式数据库系统的不足:1.数据按实际需要已经在网络上分布存储,如果再采用集中式处理,势必造成附加成本和通信开销,2,。应用程序集中在一台计算机上运行,一旦该计算机发生故障,将会影响整个系统的运行,可靠性不高。3集中式处理导致系统的规模和配置都不够灵活,系统的可扩展性较差。
1.2 分布式数据库系统有哪几种分类方法?这些方法是如何分类
的? 1.按局部数据库管理系统的数据模型的类型分类。 (1)同构型:同构同质型:各个站点上的数据库的数据模型都是同一类型的,而且是同一种DBMS。 同构异质型:各个站点上的数据库的数据模型都是同一类型的,但不是同一种DBMS。 (2)异构型:各个站点上的数据库的数据模型各不相同。 2.按分布式数据库系统全局控制系统类型分类 (1)全局控制集中型DDBS (2)全局控制分散型DDBS (3)全局控制可变型DDBS
1.3 什么是分布式数据库系统?它具有那些主要特点?怎样区分分
布式数据库系统与只提供远程数据访问的网络数据库系统? 分布式数据库系统是物理上分散而逻辑上集中的数据库系统,其可以看成是计算机网络和数据库系统的有机结合。 基本特点:物理分布性、逻辑整体性、站点自治性。 导出特点:数据分布透明性、集中与自治相结合的机制、存在适当的数据冗余度、事务管理的分布性。 区分:分布式数据库的分布性是透明的,用户感觉不到远程与本地结合的接缝的存在。
1.6分布式DBMS具有哪些集中式DBMS不具备的功能? 数据跟踪,分布式查询处理,分布式事务管理,复制数据管理,安全性,分布式目录管理
1.14分布式数据库系统的主要优点是什么?存在哪些技术问题? 分布式数据库系统优点:良好地可靠性和可用性;提高系统效率,降低通信成本;较大的灵活性和可伸缩性;经济型和保护投资;适应组织的分布式管理和控制;数据分布式具有透明性和站点具有较好的自治性;提高了资源利用率;实现了数据共享。 分布式数据库系统中存在的技术问题:数据的分割、分布和冗余度;异构数据库的互联;分布式数据库系统的查询处理; 分布式数据库系统的更新处理;分布式数据库系统的并发控制;分布式数据库系统的恢复控制;目录管理;数据安全性和保密性处理。
第三章 3.2 请用自己的语言阐述分布式数据库系统的两种设计方法及其适
用范围。 创建方法有:组合法、重构法 组合法的特点:剖析网络功能;剖析原有数据库系统;解决数据的一致性、完整性和可靠性;难度较大; 组合法适用范围:通常是异构或者同构异质DDBS 重构法的特点:根据实现环境和用户需求;按照DDBS的设计思想和方法;从总体设计做起,包括LDBS,重新建立一个DDBS;可有效解决数据一致性、完整性和可靠性问题。 重构法的适用范围:通常是同构异质或同构同质DDBS
3.3数据分片应遵守哪些基本原则?数据分片有哪些基本类型和方
法? 数据分片应遵守的基本原则:完整性条件,可重构性条件,不相交条件。 数据分片的基本类型和方法:水平分片和垂直分片
3.5 数据分布策略有哪几种形式?如何把设计好的数据片段分配到
相应的站点上? 数据分布策略:集中式、分割式、复制式、混合式。(P86) 分配方法:非冗余分配----最佳适应法。冗余分配-----所有得益站点法、附加复制法。
3.7为什么说在分布式数据系统中,数据独立性这一目标比集中式数
据库系统更为重要,也更为复杂? 在集中式数据库中,数据独立性包括逻辑独立性与数据的物理独立性,分别表示用户程序与数据的全局逻辑结构和数据的物理结构无关。在分布式数据库中,除了数据的逻辑独立性与数据的物理独立性之外,还有数据的分布独立性。所谓数据分布独立性是指用户或者用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况,逻辑片段的站点位置分片情况,以及各站点上数据库的数据模型等,也就是说全局数据的逻辑分片、片段的物理位置分配、各站点数据库的数据模型等情况对用户和用户程序是透明的。分布独立性也称为分布透明性,分布透明性包括三个层次:分片透明性、位置透明性和局部数据模型透明性。 第四章: 4.3概述基于关系代数等价变换的查询优化算法的基本原则和实现步骤。 基于关系代数等价变换的查询优化的基本原则:把查询问题转变为关系代数表达式,分析得到查询树(语法树)。进行从全局到片段的变换得到基于片段上的查询树,然后利用关系代数等价变换规则优化算法,,尽可能地先执行选择和投影操作。 基于关系代数等价变换查询优化的主要实现步骤如下: 1. 将一个查询问题转换成关系代数表达式。 2. 将关系代数表达式转换为查询树,对一个关系代数表达式进行语法分析,可以得到一棵语法树 3. 从全局查询到片段查询的变换:这个变换的典型方法是把基于全局关系的查询树中的全局关系名,用其重构该全局关系的各片段名替换,变换成相应片段上的查询树 4. 利用关系代数等价变换规则的优化算法对片段上的查询树进行优化处理,最后达到优化查询的目的。
4.4 概述基于半连接算法的查询优化的基本原理和适用情形。 (P121)基本原理是:通过半连接操作,可以减少操作关系的数据量,从而减少站点间数据的传输量。 适用情形:如果只需要一个关系中的一小部分元组参与和另一个关系连接的话,这是一个使数据传输量最小化的非常有效的方案。此时有T半方案是合适的。
第五章 5.1 概述分布式数据库系统中事务的定义、特性、结构和状态,以及分布式事务所特有的性质。 分布式数据库系统中的事务是一个分布式操作的序列,被操作的数据分布在不同的站点上,所以称为分布式事务。 分布式数据库系统中的事务具有事务的ACID四个特性,即原子性、一致性、隔离性和持久性。 分布式数据库系统中事务的结构:以Begin_Transaction原语作为一个事务的开始,以Commit原语作为一个事务成功完成的结束,而以Rollback或Abort原语作为事务失败的结束。 分布式数据库系统中的事务状态:活动状态、部分提交状态、提交状态、失败状态、终止状态。 分布式事务所特有的性质有大量的数据传递、通信原语和控制报文等。 5.4 什么是事务的提交点?为什么说他们很重要? 当一个事务所包含的所有对数据库的存取操作都已成功执行,并且所有操作对数据库的影响都已记录在日志中时,该事务就到达提交点。 之所以重要是因为提交点标志着事务已经成功执行,但其结果不一定已经写入到数据库中,在系统发生故障时,提交点是判断是执行回滚某一事务以取消它对数据库的影响还是执行重做某一事务以恢复它对数据库的影响的关键依据。
5.5日志、档案库和检查点的作用是什么?典型的日志包含哪些内容?为什么要“先写日志”? 日志的作用是为了能够从故障状态中恢复有影响的事务。 档案库的作用是为了防止因介质故障而破坏日志和数据库。 检查点的作用是为了便于恢复事务。 典型的日志包含了每个改变数据项值的写操作记录。 因为系统崩溃时主存中的内容可能丢失,所以恢复时只能考虑已写回磁盘的日志内容。因此,在事务到达提交点以前,还未写到磁盘的日志的任何部分,必须被写入磁盘,即“先写日志”。
5.7请用自己的语言描述两阶段提交协议的执行过程。 两阶段提交协议把事务提交过程分为两个阶段:第一阶段是表决阶段,目的是形成一个共同的决定。开始时,协调者在它的日志中写入一条开始提交的记录,再给所有参与者发送“准备(提交)”消息,并进入等待状态,当所有的参与者发回“建议提交”的消息时,协调者写入提交日志记录,并给所有参与者发送“全局提交”消息,然后进入提交状态;若至少有一个参与者发回“建议撤销”的消息,协调者就写入一条撤销日志记录,并给所有参与者发送“全局撤销”消息,然后进入撤销状态。 第二阶段是执行阶段,目的是实现这个决定。根据协调者的指令,参与者或者提交事务,或者撤销事务,并给协调者发送确认消息。此时,协调者在日志中写入一条事务结束记录并终止事务。
5.8 为什么说两阶段提交协议在不丢失运行日志信息的情况下,可从任何故障恢复?
因为在执行过程中维护了事务日志,记录了执行恢复所需要的信息。
5.9两阶段提交协议适合哪种故障发生的情况?谨慎两阶段提交协议的基本思想是什么? 两阶段提交协议适合通信故障很少发生,站点故障发生概率较高的系统中。 谨慎两阶段提交协议的基本思想是:满足两阶段提交协议的所有特征,并在决定插销前,给全局事务第二次机会。在协调者站点决定撤销之前,通过重新发送“准备”消息和重新设置一个定时器,允许协调者站点在另一个时间段与它没有收到消息的参与者站点通信。
5.10 在分布式数据库系统中对多副本数据的更新通常采用什么方法?快照方法的优点和缺点是什么? 主文本更新法、快照方法。 快照方法的优点:既避免了某些并发空控制的开销,又便于复杂查询的完成,是提高系统可用性的有效方法。 缺点:快照只是一个只读关系,其中数据只能读而不能写。
第六章
6.2 (P175~176)
6.5 什么是两阶段封锁协议?它如何保证可串行性?为什么人们更愿意采用严格两阶段封锁和严酷两阶段封锁? 如果一个事务所有的封锁操作都放在第一个解锁操作之前,那么就说该事务遵守两阶段封锁协议(2PL),这样的一个事务可以分为两阶段:第一阶段称为扩张阶段,事务只能获得新的数据项锁,而不能释放任何已持有的锁;第二阶段称为收缩阶段,该阶段事务只能释放已持有的锁,而不能获得任何新锁。 它限制了一个调度中可以发生的并发事务的数量,因而能够保证可串行性。 由于实现基本2PL协议,锁管理器必须要知道事务的锁点位置;保守2PL要事先声明读集和写集,这都是难以实现的。严格2PL和严酷2PL容易实现。
5.7 什么是多粒度封锁和意向锁?它们在什么情况下使用? 多粒度封锁是:封锁的粒度不是单一的一种粒度,而是有多种粒度。可以定义多粒度树,根节点是整个数据库,叶节点表示最小的封锁粒度。 意向锁是:如果对一个节点加意向锁,则说明该节点的下层节点正在被封锁。对任一节点封锁时,必须先对它的上层节点加意向锁。 具有意向锁的多粒度加锁方法中,任意事务T要对一个数据对象加锁,必须先对它的上层节点加意向锁。申请封锁时应该按自上而下的次序进行,释放锁时则应该按自下而上的次序进行。具有意向锁的多粒度加锁方法提高了系统的并发度, 减少了加锁和释放锁的开销。它已经在实际的DBMS系统中广泛应用,例如Oracle中。