数据库系统结构第6版答案

合集下载

计算机网络基础(段标第6版) 第5章 习题参考答案

计算机网络基础(段标第6版) 第5章 习题参考答案

填空1层次型域名系统。

2域3第一,主机名字的唯一性;第二,要便于管理;第三,要便于映射。

4商业组织,教育机构,军事部门5一系列的域名服务器6存储一转发7POP3,IMAP4,SMTP,MIME8用户名,at,邮箱服务器的名字。

9浏览Internet上WWW页面的软件。

IO0从服务端下载文件11客户程序,服务程序12用户就可以像远程主机本地终端一样地进行工作,并可使用远程主机对外开放的全部资源。

13客户机/服务器,TeInet服务器、Te1r1et客户机和通信协议组成14DNS15一是电信的铜缆接入技术;二是基于有线电视CATV网传输设施的电缆调制解调器接入技术;三是基于光缆的宽带光纤接入技术;四是基于无线电传输手段的无线接入技术。

16NA是网络地址转换简称。

该技术可以将内部网络地址转换成指定的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现内部地址网络内与外部网络的通信需求。

判断:1对2错3错4错5对6错7对8错9对简答:IDNS的分层管理机制是采用一个规则的树型结构的名字空间,每个节点都有一个独立的节点名字2一个节点的域由该节点以及该节点以下的名字空间组成。

一个域是树状域名空间的一棵子树,每个域都有一个域名,域名定义了该域在分布式主机数据库中的位置。

3DNS系统采用的是一个联机分布式数据库系统,采用客户机/服务器模式。

4域名解析是由一系列的域名服务器来完成的。

域名服务器是运行在指定主机上的软件,能够完成从域名到IP地址的映射。

5Internet上的电子邮件客户机是电子邮件使用者用来收发、浏览存放在邮件服务器上的电子邮件的工具6当用户编辑好需要发送的邮件后,通过用户接口交给邮件传送程序。

发送信件时,邮件传送程序作为远程目的计算机邮件服务器的客户,与目的主机建立连接,并将邮件传送到目的主机。

接收方计算机的邮件传输程序在收到邮件后,将邮件存放在接收方的邮箱中,等待用户来读取。

由于用户接口的屏蔽作用,用户在发送和接收邮件时看不见邮件传输程序的工作情况。

数据库系统概念第六版课后习题部分答案2s

数据库系统概念第六版课后习题部分答案2s

C H A P T E R2Introduction to the Relational ModelPractice Exercises2.1Consider the relational database of Figure??.What are the appropriateprimary keys?Answer:The answer is shown in Figure2.1,with primary keys under-lined.2.2Consider the foreign key constraint from the dept name attribute of in-structor to the department relation.Give examples of inserts and deletes tothese relations,which can cause a violation of the foreign key constraint.Answer:•Inserting a tuple:(10111,Ostrom,Economics,110,000)into the instructor table,where the department table does not have thedepartment Economics,would violate the foreign key constraint.•Deleting the tuple:(Biology,Watson,90000)from the department table,where at least one student or instructortuple has dept name as Biology,would violate the foreign key con-straint.employee(person name,street,city)works(person name company name,salary)company(company name,city)Figure2.1Relational database for Practice Exercise2.1.12Chapter2Introduction to the Relational Model2.3Consider the time slot relation.Given that a particular time slot can meetmore than once in a week,explain why day and start time are part of theprimary key of this relation,while end time is not.Answer:The attributes day and start time are part of the primary keysince a particular class will most likely meet on several different days,and may even meet more than once in a day.However,end time is notpart of the primary key since a particular class that starts at a particulartime on a particular day cannot end at more than one time.2.4In the instance of instructor shown in Figure??,no two instructors havethe same name.From this,can we conclude that name can be used as asuperkey(or primary key)of instructor?Answer:No.For this possible instance of the instructor table the namesare unique,but in general this may not be always the case(unless theuniversity has a rule that two instructors cannot have the same name,which is a rather unlikey scenario).2.5What is the result offirst performing the cross product of student andadvisor,and then performing a selection operation on the result with thepredicate s id=ID?(Using the symbolic notation of relational algebra,this query can be written as␴s id=I D(student×advisor).)Answer:The result attributes include all attribute values of studentfollowed by all attributes of advisor.The tuples in the result are asfollows.For each student who has an advisor,the result has a rowcontaining that students attributes,followed by an s id attribute identicalto the students ID attribute,followed by the i id attribute containing theID of the students advisor.Students who do not have an advisor will not appear in the result.Astudent who has more than one advisor will appear a correspondingnumber of times in the result.2.6Consider the following expressions,which use the result of a relationalalgebra operation as the input to another operation.For each expression,explain in words what the expression does.a.␴year≥2009(takes)1studentb.␴year≥2009(takes1student)c. ID,name,course id(student1takes)Answer:a.For each student who takes at least one course in2009,displaythe students information along with the information about whatcourses the student took.The attributes in the result are:ID,name,dept name,tot cred,course id,section id,semester,year,gradeb.Same as(a);selection can be done before the join operation.c.Provide a list of consisting ofExercises3ID,name,course idof all students who took any course in the university.2.7Consider the relational database of Figure??.Give an expression in therelational algebra to express each of the following queries:a.Find the names of all employees who live in city“Miami”.b.Find the names of all employees whose salary is greater than$100,000.c.Find the names of all employees who live in“Miami”and whosesalary is greater than$100,000.Answer:a. name(␴city=“Miami”(employee))b. name(␴salary>100000(employee))c. name(␴city=“Miami”∧salary>100000(employee))2.8Consider the bank database of Figure??.Give an expression in therelational algebra for each of the following queries.a.Find the names of all branches located in“Chicago”.b.Find the names of all borrowers who have a loan in branch“Down-town”.Answer:a. branch name(␴branch city=“Chicago”(branch))b. customer name(␴branch name=“Downtown”(borro w er1loan))。

数据库课后答案

数据库课后答案

第1章思考与实践1.选择题(1) 从数据库的整体结构看,数据库系统采用的数据模型有(C )。

A.网状模型、链状模型和层次模型 B.层次模型、网状模型和环状模型C.层次模型、网状模型和关系模型 D.链状模型、关系模型和层次模型(2) 数据库系统的构成为:数据库、计算机系统、用户和( D )。

A.操作系统 B.文件系统 C.数据集合 D.数据库管理系统(3) 用二维表形式表示的数据模型是( B )。

A.层次模型 B.关系模型 C.网状模型 D.网络模型(4) 关系数据库管理系统的3种基本关系运算不包括( A )。

A.比较 B.选择 C.连接 D.投影(5) 数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是( B )。

A.DBMS包括DB和DBS B.DBS包括DB和DBMSC.DB包括DBS和DBMS D.DB、DBS和DBMS是平等关系(6) 在关系理论中,把二维表表头中的栏目称为( D )。

A.数据项 B.元组 C.结构名 D.属性名(7) 下面有关关系数据库主要特点的叙述中,错误的是( D )。

A.关系中每个属性必须是不可分割的数据单元B.关系中每一列元素必须是类型相同的元素C.同一关系中不能有相同的字段,也不能有相同的记录D.关系的行、列次序不能任意交换,否则会影响其信息内容(8) 以一定的组织方式存储在计算机存储设备上,能为多个用户所共享的与应用程序彼此独立的相关数据的集合称为( A )。

A.数据库 B.数据库系统 C.数据库管理系统 D.数据结构(9) 设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是( B )。

A.m∶n B.1∶m C.m∶k D.1∶1(10) 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过( B )。

A.候选键 B.主键 C.外键 D.超键2.填空题(1) 关系数据库中每个关系的形式是(主外键引用0020 )。

数据库系统原理练习题库(附参考答案)

数据库系统原理练习题库(附参考答案)

数据库系统原理练习题库(附参考答案)一、单选题(共100题,每题1分,共100分)1.属于数据库结构设计阶段的是A、程序设计B、功能设计C、事务设计D、逻辑结构设计正确答案:D2.人工管理阶段,计算机主要应用于A、数据集成B、科学计算C、过程控制D、故障恢复正确答案:B3.下列关于数据控制语言的说法中,正确的是A、REVOKE语句用于授予权限B、GRANT语句用于收回权限C、数据控制语言主要用于数据执行流程管理D、数据控制语言包括的主要SQL语句是GRANT和REVOKE正确答案:D4.下列属于关联分析算法的是A、AprioriB、GMMC、RedisD、HBase正确答案:A5.同一数据被反复存储的情况是A、删除异常B、插入异常C、更新异常D、数据冗余正确答案:D6.产生数据不一致的主要原因是并发操作破坏了事务的A、持续性B、一致性C、原子性D、隔离性正确答案:D7.DBMS提供【】来严格地定义模式。

A、模式描述语言B、子模式描述语言C、内模式描述语言D、程序设计语言正确答案:A8.关系数据库以【】作为数据的逻辑模型。

A、二维表B、关系C、关系模型D、数据库正确答案:C9.关于调用存储过程的说法,错误的是A、可以从交互式界面调用B、可以使用CALL语句来调用存储过程C、可以由嵌入式SQL调用D、不是所有的SQL接口都能调用存储过程正确答案:D10.可唯一标识实体的属性集称为A、键B、实体型C、域D、属性正确答案:A11.目的是为可实际运行的应用程序设计提供依据与指导,并作为设计评价的基础的是A、设计评价B、编制应用程序设计说明C、模型转换D、子模式设计正确答案:B12.在使用游标的过程中,需要注意的事项不包括A、游标不能单独在查询操作中使用B、在一个BEGIN···END语句块中每一个游标的名字并不是唯一的C、游标是被SELECT语句检索出来的结果集D、在存储过程或存储函数中可以定义多个游标正确答案:B13.对关系的描述不正确的是A、关系中的元组次序可交换B、关系可以嵌套定义C、关系是一张二维表D、关系是一个集合正确答案:B14.下列关于MySQL的说法中,正确的是A、在MySQL中,一个关系对应多个基本表B、在MySQL中,一个或多个基本表对应一个存储文件C、在MySQL中,一个表只能有一个索引D、在MySQL中,索引不能存放在存储文件中正确答案:B15.关系数据库是以【】的形式组织数据。

数据库系统概论 第六章测试题及答案范文

数据库系统概论 第六章测试题及答案范文
解:本题对应的E-R图如图6.8所示。
图6.8E-R图
5.某医院病房计算机管理中需要如下信息:
科室:科名,科地址,科电话,医生姓名
病房:病房号,床位号,所属科室名
医生:姓名,职称,所属科室名,年龄,工作证号
病人:病历号,姓名,性别,诊断,主管医生,病房号
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
9.E-R图向关系模型转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的____。
答案:属性和码
10.在数据库领域里,统称使用数据库的各类系统为____系统。
答案:数据库应用
11.数据库逻辑设计中进行模型转换时,首先将概念模型转换为 ,然后将②转换为 。
答案:①与特定的DBMS无关的,但为一般的关系模型、网状模型或层次模型所表示的一般模型
E.文件F.联系G.有向边
答案:①C②F
11.数据库逻辑设计的主要任务是____。
A.建立E-R图和说明书B.创建数据库说明
C.建立数据流图D.把数据送入数据库
答案:B
12.E-R图中的联系可以与____实体有关。
A.0个B.l个C.l个或多个D.多个
答案:C
13.概念模型独立于____。
A.E-R模型B.硬件设备和DBMS C.操作系统和DBMS D.DBMS
各实体构成如下:
部门:部门号,部门名,电话,地址
职员:职员号,职员名,职务(干部/工人),年龄,性别
设备处:单位号,电话,地址
工人:工人编号,姓名,年龄,性别
设备:设备号,名称,位置,价格
零件:零件号,名称,规格,价格

第1章数据库系统概论习题及解答

第1章数据库系统概论习题及解答

第 1 章数据库系统概论1.1复习纲要本章介绍的主要内容:·数据管理技术的发展·数据模型·数据库系统结构1.1.1 数据管理技术的发展从20世纪50年代中期开始,数据管理技术大致经历了三个发展阶段:人工管理阶段、文件系统管理阶段和数据库系统管理阶段。

1. 人工管理阶段20世纪50年代中期以前,计算机主要从事计算工作,计算机处理的数据由程序员考虑与安排。

这一阶段的主要特点是:数据不长期保存;数据与程序不具有独立性;系统中没有对数据进行管理的软件。

2. 文件系统管理阶段20世纪50年代后期到60年代中后期,计算机系统中由文件系统管理数据。

其主要特点:数据以文件的形式可长期存储在磁盘上,供相应的程序多次存取;数据文件可脱离程序而独立存在,使得数据与程序之间具有设备独立性。

如果数据文件结构发生变化时,则对应的操作程序必须修改。

即文件系统管理文件缺乏数据独立性,并且数据冗余度大。

数据之间联系弱,无法实施数据统一管理标准。

这些都是文件系统管理的主要缺陷。

3.数据库系统管理阶段70年代初开始,计算机采用数据库管理系统管理大量数据,使计算机广泛应用于数据处理。

数据库系统管理数据的主要特点:·采用数据模型组织和管理数据,不仅有效地描述了数据本身的特性,而且描述了之间的联系。

·具有较高的数据独立性。

即数据格式、大小等发生了改变,使得应用程序不受影响。

·数据共享程度更高,冗余度比较小。

·由DBMS软件提供了对数据统一控制功能,如安全性控制、完整性控制、并发控制和恢复功能。

·由DBMS软件提供了用户方便使用的接口。

数据库系统管理数据是目前计算机管理数据的高级阶段,数据库技术已成为计算机领域中最重要的技术之一。

1.1.2 数据模型数据模型是构建数据库结构的基础,在构建时要经历从概念模型设计到DB逻辑模型和物理模型转换过程。

因此,数据模型可分为两类共4种,两类为概念模型和结构模型,其中结构模型又分为外部模型、逻辑模型和内部模型三种。

薛华成《管理信息系统》(第6版)习题解答之欧阳理创编

薛华成《管理信息系统》(第6版)习题解答之欧阳理创编

薛成华《管理信息系统》(第6版)习题解答第1章绪论教材Page 24 略第2章管理信息系统的定义和概念教材Page 46 1.管理信息系统是什么?它和一般的计算机应用有什么不同?答:管理信息系统是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效益和效率为目的,支持企业高层决策、中层控制、基层动作的集成化的人机系统。

管理信息系统与计算机应用的不同是:计算机只是管理信息系统的一种工具。

没有计算机也有管理信息系统,管理信息系统只有优劣之分,不存在有无的问题。

2.管理信息系统有几种分类方法?它是根据什么原则进行分类的?你自己觉得有什么分类方法?答:(1)按概念结构分类:开环结构、闭环结构;(2)按功能—过程结构分类:市场系统、财会系统、人事系统、生产系统、供运系统等经过主计划、细计划、执行计划3个过程;(3)按软件结构分类:根据销售市场、生产、后勤、人事、财务会计、信息处理、高层管理等7种管理功能,按战略计划、管理控制、运行控制、业务处理等4个层次,形成软件模块结构;(4)按硬件结构分类:主机终端网结构、微机网结构(星形网络、母线网络、环形网络)。

(5)按发展分类:统计系统、数据更新系统、状态报告系统、数据处理系统、知识工作和办公自动化系统、决策支持系统。

3.管理信息系统应包括什么子系统?子系统之间是如何相互联系的?答:管理信息系统由四大部件组成:信息源是信息产生地;信息处理器担负信息的传输、加工、保存等任务;信息用户是信息的使用者,他应用信息进行决策;信息管理者负责信息系统的设计实现,在实现以后,他负责信息系统的运行和协调。

从概念上,管理信息系统由业务信息系统(市场子系统、生产子系统、财务子系统、其他子系统)组成中央数据库(信息源),经知识工作子系统与职能人员处理(信息处理器)后,再同时一方面送到决策支持子系统和中级管理人员(信息用户)进行控制、决策,一方面送到经理支持子系统和高级管理人员进行计划、决策。

《数据库系统概论》课后习题及参考答案

《数据库系统概论》课后习题及参考答案

课后作业习题《数据库系统概论》课程部分习题及参考答案第一章绪论(教材41页)1.试述数据、数据库、数据库系统、数据库管理系统得概念。

数据:描述事物得符号记录称为数据。

数据得种类有文字、图形、图象、声音、正文等等。

数据与其语义就是不可分得。

数据库:数据库就是长期储存在计算机内、有组织得、可共享得数据集合。

数据库中得数据按一定得数据模型组织、描述与储存,具有较小得冗余度、较高得数据独立性与易扩展性,并可为各种用户共享。

数据库系统:数据库系统( DBS)就是指在计算机系统中引入数据库后得系统构成.数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

数据库管理系统:数据库管理系统 (DBMS)就是位于用户与操作系统之间得一层数据管理软件.用于科学地组织与存储数据、高效地获取与维护数据.DBMS主要功能包括数据定义功能、数据操纵功能、数据库得运行管理功能、数据库得建立与维护功能.2.使用数据库系统有什么好处?使用数据库系统得好处就是由数据库管理系统得特点或优点决定得.使用数据库系统得好处很多,例如可以大大提高应用开发得效率,方便用户得使用,减轻数据库系统管理人员维护得负担等。

为什么有这些好处,可以结合第 5题来回答。

使用数据库系统可以大大提高应用开发得效率。

因为在数据库系统中应用程序不必考虑数据得定义、存储与数据存取得具体路径,这些工作都由DBMS来完成。

此外,当应用逻辑改变,数据得逻辑结构需要改变时,由于数据库系统提供了数据与程序之间得独立性。

数据逻辑结构得改变就是DBA得责任,开发人员不必修改应用程序,或者只需要修改很少得应用程序。

从而既简化了应用程序得编制,又大大减少了应用程序得维护与修改。

使用数据库系统可以减轻数据库系统管理人员维护系统得负担.因为 DBMS在数据库建立、运用与维护时对数据库进行统一得管理与控制,包括数据得完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。

数据库系统概念(database system concepts)英文第六版 课后练习题 答案 第25章

数据库系统概念(database system concepts)英文第六版 课后练习题 答案 第25章

C H A P T E R25Advanced Data Types and New ApplicationsPractice Exercises25.1What are the two types of time,and how are they different?Why doesit make sense to have both types of time associated with a tuple?Answer:A temporal database models the changing states of someaspects of the real world.The time intervals related to the data storedin a temporal database may be of two types-valid time and transactiontime.The valid time for a fact is the set of intervals during which the factis true in the real world.The transaction time for a data object is the set oftime intervals during which this object is part of the physical database.Only the transaction time is system dependent and is generated by thedatabase system.Suppose we consider our sample bank database to be bitemporal.Only the concept of valid time allows the system to answer queries suchas-“What was Smith’s balance two days ago?”.On the other hand,queries such as-“What did we record as Smith’s balance two daysago?”can be answered based on the transaction time.The differencebetween the two times is important.For example,suppose,three daysago the teller made a mistake in entering Smith’s balance and correctedthe error only yesterday.This error means that there is a differencebetween the results of the two queries(if both of them are executedtoday).25.2Suppose you have a relation containing the x,y coordinates and namesof restaurants.Suppose also that the only queries that will be askedare of the following form:The query specifies a point,and asks if thereis a restaurant exactly at that point.Which type of index would bepreferable,R-tree or B-tree?Why?Answer:The given query is not a range query,since it requires onlysearching for a point.This query can be efficiently answered by a B-treeindex on the pair of attributes(x,y).12Chapter25Advanced Data Types and New Applications25.3Suppose you have a spatial database that supports region queries(withcircular regions)but not nearest-neighbor queries.Describe an algo-rithm tofind the nearest neighbor by making use of multiple regionqueries.Answer:Suppose that we want to search for the nearest neighbor of apoint P in a database of points in the plane.The idea is to issue multipleregion queries centered at P.Each region query covers a larger area ofpoints than the previous query.The procedure stops when the result ofa region query is non-empty.The distance from P to each point withinthis region is calculated and the set of points at the smallest distance isreported.25.4Suppose you want to store line segments in an R-tree.If a line segment isnot parallel to the axes,the bounding box for it can be large,containinga large empty area.•Describe the effect on performance of having large bounding boxes on queries that ask for line segments intersecting a given region.•Briefly describe a technique to improve performance for such queries and give an example of its benefit.Hint:You can divide segmentsinto smaller pieces.Answer:Large bounding boxes tend to overlap even where the regionof overlap does not contain any information.The followingfigure:Rshows a region R within which we have to locate a segment.Notethat even though none of the four segments lies in R,due to the largebounding boxes,we have to check each of the four bounding boxes toconfirm this.A significant improvement is observed in the follwoingfigure:Practice Exercises3Rwhere each segment is split into multiple pieces,each with its own bounding box.In the second case,the box R is not part of the boxes indexed by the R-tree.In general,dividing a segment into smaller pieces causes the bounding boxes to be smaller and less wasteful of area. 25.5Give a recursive procedure to efficiently compute the spatial join of tworelations with R-tree indices.(Hint:Use bounding boxes to check if leaf entries under a pair of internal nodes may intersect.)Answer:Following is a recursive procedure for computing spatial join of two R-trees.SpJoin(node n1,node n2)beginif(the bounding boxes of n1and n2do not intersect)return;if(both n1and n2are leaves)output all pairs of entries(e1,e2)such thate1∈n1and e2∈n2,and e1and e2overlap;if(n1is not a leaf)NS1=set of children of n1;elseNS1={n1};if(n1is not a leaf)NS1=set of children of n1;elseNS1={n1};for each ns1in NS1and ns2in NS2;SpJoin(ns1,ns2);end25.6Describe how the ideas behind the RAID organization(Section10.3)canbe used in a broadcast-data environment,where there may occasionally be noise that prevents reception of part of the data being transmitted.4Chapter25Advanced Data Types and New ApplicationsAnswer:The concepts of RAID can be used to improve reliability ofthe broadcast of data over wireless systems.Each block of data that isto be broadcast is split into units of equal size.A checksum value iscalculated for each unit and appended to the unit.Now,parity data forthese units is calculated.A checksum for the parity data is appendedto it to form a parity unit.Both the data units and the parity unit arethen broadcast one after the other as a single transmission.On reception of the broadcast,the receiver uses the checksums to verify whether each unit is received without error.If one unit is foundto be in error,it can be reconstructed from the other units.The size of a unit must be chosen carefully.Small units not only requiremore checksums to be computed,but the chance that a burst of noisecorrupts more than one unit is also higher.The problem with usinglarge units is that the probability of noise affecting a unit increases;thus there is a tradeoff to be made.25.7Define a model of repeatedly broadcast data in which the broadcastmedium is modeled as a virtual disk.Describe how access time anddata-transfer rate for this virtual disk differ from the correspondingvalues for a typical hard disk.Answer:We can distinguish two models of broadcast data.In the caseof a pure broadcast medium,where the receiver cannot communicatewith the broadcaster,the broadcaster transmits data with periodic cy-cles of retransmission of the entire data,so that new receivers can catchup with all the broadcast information.Thus,the data is broadcast in acontinuous cycle.This period of the cycle can be considered akin to theworst case rotational latency in a disk drive.There is no concept of seektime here.The value for the cycle latency depends on the application,but is likely to be at least of the order of seconds,which is much higherthan the latency in a disk drive.In an alternative model,the receiver can send requests back to the broadcaster.In this model,we can also add an equivalent of disk accesslatency,between the receiver sending a request,and the broadcasterreceiving the request and responding to it.The latency is a function ofthe volume of requests and the bandwidth of the broadcast medium.Further,queries may get satisfied without even sending a request,sincethe broadcaster happened to send the data either in a cycle or basedon some other receivers request.Regardless,latency is likely to be atleast of the order of seconds,again much higher than the correspondingvalues for a hard disk.A typical hard disk can transfer data at the rate of1to5megabytes persecond.In contrast,the bandwidth of a broadcast channel is typicallyonly a few kilobytes per second.Total latency is likely to be of the orderof seconds to hundreds or even thousands of seconds,compared to afew milliseconds for a hard disk.25.8Consider a database of documents in which all documents are keptin a central database.Copies of some documents are kept on mobilePractice Exercises5 computers.Suppose that mobile computer A updates a copy of docu-ment1while it is disconnected,and,at the same time,mobile computer B updates a copy of document2while it is disconnected.Show how the version-vector scheme can ensure proper updating of the central database and mobile computers when a mobile computer reconnects. Answer:Let C be the computer onto which the central database is loaded.Each mobile computer(host)i stores,with its copy of each document d,a version-vector–that is a set of version numbers V d,i,j, with one entry for each other host j that stores a copy of the document d,which it could possibly update.Host A updates document1while it is disconnected from C.Thus, according to the version vector scheme,the version number V1,A,A is incremented by one.Now,suppose host A re-connects to C.This pair exchanges version-vectors andfinds that the version number V1,A,A is greater than V1,C,A by1,(assuming that the copy of document1stored host A was updated most recently only by host A).Following the version-vector scheme, the version of document1at C is updated and the change is reflected by an increment in the version number V1,C,A.Note that these are the only changes made by either host.Similarly,when host B connects to host C,they exchange version-vectors,and host Bfinds that V1,B,A is one less than V1,C,A.Thus,the version number V1,B,A is incremented by one,and the copy of docu-ment1at host B is updated.Thus,we see that the version-vector scheme ensures proper updating of the central database for the case just considered.This argument can be very easily generalized for the case where multiple off-line updates are made to copies of document1at host A as well as host B and host C.The argument for off-line updates to document2is similar.。

数据库系统原理课后答案第一章

数据库系统原理课后答案第一章

数据库系统原理课后答案第⼀章1.1 名词解释(1) DB:即数据库(Database),是统⼀管理的相关数据的集合。

DB能为各种⽤户共享,具有最⼩冗余度,数据间联系密切,⽽⼜有较⾼的数据独⽴性。

(2) DBMS:即数据库管理系统(Database Management System),是位于⽤户与操作系统之间的⼀层数据管理软件,为⽤户或应⽤程序提供访问DB的⽅法,包括DB的建⽴、查询、更新及各种数据控制。

DBMS总是基于某种数据模型,可以分为层次型、⽹状型、关系型、⾯向对象型DBMS。

(3) DBS:即数据库系统(Database System),是实现有组织地、动态地存储⼤量关联数据,⽅便多⽤户访问的计算机软件、硬件和数据资源组成的系统,即采⽤了数据库技术的计算机系统。

(4) 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的⼀个实体有联系,反之亦然,那么实体集E1对E2的联系称为“⼀对⼀联系”,记为“1:1”。

(5) 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,⽽E2中每个实体⾄多和E1中的⼀个实体有联系,那么E1对E2的联系是“⼀对多联系”,记为“1:N”。

(6) M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。

(7) 数据模型:模型是对现实世界的抽象。

在数据库技术中,表⽰实体类型及实体类型间联系的模型称为“数据模型”。

它可分为两种类型:概念数据模型和结构数据模型。

(6) 概念数据模型:是独门于计算机系统的模型,完全不涉及信息在系统中的表⽰,只是⽤来描述某个特定组织所关⼼的信息结构。

(9) 结构数据模型:是直接⾯向数据库的逻辑结构,是现实世界的第⼆层抽象。

这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。

结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。

数据库课后习题参考答案与解析

数据库课后习题参考答案与解析

第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。

下列不属于数据库系统组成部分的是B A.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。

数据库 第1章_习题参考答案

数据库 第1章_习题参考答案

习题参考答案1.解释数据、数据库、数据库管理系统、数据库系统等概念。

答:数据是描述事物的符号记录,数据的种类是很多的,包括数字、文字、图形、图像、音频、视频等。

数据库:数据库是长期储存在计算机内,有组织的、可共享的大量数据的集合。

数据库管理系统:数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。

它具有强大的数据定义、数据组织、数据存储、数据操纵和运行维护等功能,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

数据库系统:数据库系统是为适应实际数据处理的需要而发展起来的一种较为理想的数据处理系统,通常由软件、数据库和数据库管理员组成。

2.数据管理经历了哪几个阶段,各有什么特点?答:数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。

人工管理阶段的特点是:数据不保存;数据由程序管理;数据不共享;数据没有独立性。

文件系统阶段的特点是:数据长期保存;数据由文件系统管理;数据共享性差,冗余度大,一致性差;数据的独立性差。

数据库系统阶段的特点是:数据整体结构化;数据共享性高,冗余度低;数据独立性高;数据由DBMS统一管理和控制。

3.什么是数据模型?数据模型包含哪些要素?答:数据模型(Data Model)是对现实世界数据的模拟和抽象,是用来描述数据、组织数据、操作数据以及约束数据的。

数据模型是数据库系统的核心和基础。

数据模型由数据结构、数据操作和完整性约束三部分组成。

4.什么是概念模型,逻辑模型和物理模型?它们之间具有怎样的关系?答:概念模型也称信息模型,它是按照用户的观点和认识对现实世界的数据进行建模。

概念模型是对现实世界数据的第一步抽象,同具体的DBMS无关。

逻辑模型是按照计算机系统的观点来对数据建模,是数据抽象的中间层,用于描述数据库的整体逻辑结构。

逻辑模型同具体的DBMS密切相关。

物理模型是对数据的最底层抽象,主要描述数据在计算机系统内部的表示方式和存取方法,在磁盘等存储介质上的存储结构和存取方法。

数据库系统结构题库

数据库系统结构题库

一、单项选择题(共90题)1. 在数据库系统中,通常用三级模式来描述数据库,其中( (1) )是用户与数据库的接口,是应用程序可见到的数据描述,( (2) )是对数据整体的( (3) )的描述,而( (4) )描述了数据的( (5) )。

A. 外模式B. 概念模式C. 内模式D. 逻辑结构E. 层次结构F. 物理结构答案:A B D C F2. 层次模型不能直接表示()。

A. 1:1联系B. 1:n联系C. m:n联系D. 1:1和1:n联系答案:C3. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是()模式。

A. 模式B. 物理模式C. 子模式D. 内模式答案:C4. 在数据库中,数据的物理独立性是指()。

A. 数据库与数据库管理系统的相互独立B. 用户程序与DBMS的相互独立C. 用户的应用程序与存储在磁盘上的数据库中的数据相互独立D. 应用程序与数据库中数据的逻辑结构相互独立答案:C5. 关系数据模型()。

A. 只能表示实体间的1:1联系B. 只能表示实体间的1:n联系C. 只能表示实体间的m:n联系D. 可以表示实体间的上述三种联系答案:D6. 数据模型的三要素是()。

A. 外模式、模式和内模式B. 关系模型、层次模型和网状模型C. 实体、属性和联系D. 数据结构、数据操作和完整性约束答案:D7. 数据库的三级体系结构即子模式. 模式与内模式是对()的三个抽象级别。

A. 信息世界B. 数据库系统C. 数据D. 数据库管理系统答案:C8. 数据库的三级模式之间存在的映象关系正确的是()。

A. 外模式/内模式B. 外模式/模式C. 外模式/外模式D. 模式/模式答案:B9. 数据库三级模式中,真正存在的是()。

A. 外模式B. 子模式C. 模式D. 内模式答案:D10. 数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。

在常用的数据模型中,不包括()。

A. 网状模型B. 链状模型C. 层次模型D. 关系模型答案:B11. 为了保证数据库的数据独立性,需要修改的是()。

数据库系统概论第六版课后答案

数据库系统概论第六版课后答案

数据库系统概论第六版课后答案第1章数据库系统概述一、填空题1. 在关系数据库中,一个元组对应表中。

解: 一个记录 (一行)2. 常用的数据模型有:、、和面向对象模型。

解: 关系模型,层次模型,网状模型3. 用二维表来表示实体及实体之间联系的数据模型是。

解: 关系模型4. 关系模型数据库中最常用的三种关系运算是、、。

解: 选择运算,投影运算,连接运算5. 在数据库系统中,数据的最小访问单位是。

解: 字段(数据项)6. 对表进行水平方向的分割用的运算是。

解: 选择运算7. 数据结构、和称为数据模型的三要素。

解: 数据操作,数据约束条件8. 关系的完整性约束条件包括完整性、完整性和完整性三种。

解: 用户定义,实体,参照二、单项选择题1. 对数据库进行规划、设计、协调、维护和管理的人员,通常被称为(D )。

A. 工程师B. 用户C. 程序员D. 数据库管理员2. 下面关于数据(Data)、数据库(DB)、数据库管理系统(DBMS)与数据库系统(DBS)之间关系的描述正确的是( B )。

A. DB包含DBMS和DBSB. DBMS包含DB和DBSC. DBS包含DB和DBMSD. 以上都不对3. 数据库系统的特点包括( D )。

A. 实现数据共享,减少数据冗余B. 具有较高的数据独立性、具有统一的数据控制功能C. 采用特定的数据模型D. 以上特点都包括4. 下列各项中,对数据库特征的描述不准确的是( D )。

A. 数据具有独立性B. 数据结构化C. 数据集中控制D. 没有冗余5. 在数据的组织模型中,用树形结构来表示实体之间联系的模型称为 ( D )。

A. 关系模型B. 层次模型C. 网状模型D. 数据模型6. 在数据库中,数据模型描述的是 ( C ) 的集合。

A. 文件B. 数据C. 记录D. 记录及其联系7. 在关系数据库中,关系就是一个由行和列构成的二维表,其中行对应( B )。

A. 属性B. 记录C. 关系D. 主键8. 关系数据库管理系统所管理的关系是( C )。

数据库系统概论实验指导(第六版)

数据库系统概论实验指导(第六版)

数据库系统概论实验指导(第六版)计算机学院2010/09改版履历目录目录 (3)1.实验概要 (4)1.1.实验说明 (4)1.2.实验环境和配置 (4)1.3.上机要求 (4)2.实验1:数据库/表的基本操作和表级约束 (5)2.1.目的和要求 (5)2.2.实验准备 (5)2.3.实验内容 (5)3.实验2:库级约束和基本表的数据操作 (8)3.1.目的和要求 (8)3.2.实验准备 (8)3.3.实验内容 (8)4.实验3:视图操作和安全性控制 (10)4.1.目的和要求 (10)4.2.实验准备 (10)4.3.实验内容 (10)5.实验4:存储过程/触发器/ODBC数据库编程 (12)5.1.目的与要求 (12)5.2.实验准备 (12)5.3.实验内容 (12)6.实验5:数据库综合实验 (14)6.1.目的与要求 (14)6.2.实验准备 (14)6.3.实验内容 (14)5.3.1.题目一:零件交易中心管理系统 (15)5.3.2.题目二:图书管理系统 (15)5.3.3.题目三:民航订票管理系统 (15)5.3.4.题目四:学生学籍管理系统 (15)5.3.5.题目五:车站售票管理系统 (16)5.3.6.题目六:企业人事管理系统 (16)5.3.7.题目七:电话交费管理系统 (16)5.3.8.题目八:医药销售管理系统 (16)7.附录:实验报告格式 (17)1.实验概要1.1.实验说明内容:本课程实验分5次完成,每次完成一部分。

具体内容参考本指导的后半部分。

成绩:每次实验100分,最后取所有实验的平均分作为实验的总成绩。

评分标准如下:上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。

实验报告每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。

每次实验结束时,将写好的实验报告,提交给各班辅导老师。

如果确有困难没有完成的情况下,课后自己完成之后提交到辅导老师的邮箱里。

ch10 数据库系统概念(第6版)第十章存储结构和文件结构

ch10 数据库系统概念(第6版)第十章存储结构和文件结构
例如, 镜像 (或者 影像) 复制每一个磁盘. 一个逻辑磁盘由两个物理磁盘组成. 每一个写操作都要在两个磁盘上执行 读操作可在任一磁盘进行 如果一个磁盘发生故障, 数据可以从另一磁盘读出 合并事件的发生概率很低
当一个磁盘发生故障,在系统得到修复之前镜像磁盘也发生故障,则 会发生数据丢失
文件组织 – 根据数据访问的方式来组织磁盘的块 ,以优化块访问时间
例如,在相同或者相邻的柱面存储相关信息. 文件可能随着时间推移变得 碎片化 例如,如果数据被插入文件中或者从文件中删除 或者磁盘上的空闲块是分散的, 以致新创建的文件 的块在磁盘上分散分布 顺序存取一个碎片化的文件导致磁盘臂移动距离增 加 有些文件系统提供了碎片整理工具, 以加速文件存取
物理存储介质(续)
光盘存储
非易失性, 数据从旋转的盘上通过激光器进行读取 CD-ROM (640 MB) 和 DVD (4.7 to 17 GB) 是最常见 的格式 蓝光光碟: 27 GB to 54 GB 一次写, 多次读 (WORM) 的光盘用于档案存储 (CD-R, DVD-R, DVD+R) 也有允许多次写的版本 (CD-RW, DVD-RW, DVD+RW, and DVD-RAM) 读写速度比磁盘慢 光盘机系统, 有大量可移动光盘, 几个驱动器, 和用于自 动加载/卸载光盘的机制以存储大量数据
磁盘块存取的优化
块 – 一个磁道上的连续扇区
数据在磁盘和主存储器中通过块传输 大小从 512 至几千字节 小块: 需要更多次传输 大块: 部分填充的块会造成更多空间浪费 如今常见的块大小为 4 至 16 千字节
磁盘臂调度 算法为磁道访问进行排序,以最小化磁盘臂 的移动距离
磁盘块存取的优化(续)

(完整版)数据库原理与应用习题参考答案

(完整版)数据库原理与应用习题参考答案

第1章数据库概述1.与文件管理相比,数据库管理有哪些优点?答:(1)相互关联的数据集合;(2)较少的数据冗余;(3)程序与数据相互独立;(4)保证数据的安全可靠;(5)最大限度地保证数据的正确性;(6)数据可以共享并能保证数据的一致性。

2.比较文件管理和数据库管理数据的主要区别。

答:文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现。

而数据库管理系统可以很方便地提供这些功能。

3.在数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。

因为这些都由数据库管理系统来维护。

4.在数据库系统中,数据库的作用是什么?答:数据库是存储数据的仓库,其作用是存储数据。

5.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答:不可以。

6.数据独立性指的是什么?它能带来哪些好处?答:数据独立性包括逻辑独立性和物理独立性两部分。

物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。

这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。

7.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括3个主要部分:数据库、数据库管理系统和应用程序。

数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序8.在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别?答:在文件服务器结构中,数据的处理是在客户端完成的,而在客户/服务器结构中,对数据的处理是在服务器端完成的,服务器返回给客户端的是处理后的结果。

第2章数据模型与数据库系统结构1.解释数据模型的概念,为什么要将数据模型分成两个层次?答:数据模型实际上是模型化数据和信息的工具,在数据库中,数据模型要满足三个要求:第一,要能够比较真实地模拟现实世界;第二,要容易被人们理解;第三,要能够很方便地在计算机上实现。

数据库系统概论期末试题与答案(整理版)

数据库系统概论期末试题与答案(整理版)

数据库系统概论期末试题与答案(整理版)《数据库原理及应⽤》试题1⼀、选择题1、数据库系统的基本特征是_________。

A 、数据的统⼀控制B 、数据共享性和统⼀控制C 、数据共享性、独⽴性和冗余度⼩D 、数据共享性和数据独⽴性(难度系数C )正确答案:C2、DB 、DBMS 和DBS 三者之间的关系是_________。

A 、DBS 与DB 和DBMS ⽆关 B 、DBMS 包括DBS 和DBC 、DB 包括DBMS 和DBSD 、DBS 包括DB 和DBMS(难度系数B )正确答案:D3、设有关系R 和S ,关系代数 S)(R R -- 表⽰的是_________。

A 、R ∩SB 、R ―SC 、R ÷SD 、R ∪S(难度系数B )正确答案:A4、⾃然连接是构成新关系的有效⽅法。

⼀般情况下,当对关系R 和S 使⽤⾃然连接时,要求R 和S 含有⼀个或多个共有的__________。

A 、⾏B 、属性C 、记录D 、元组(难度系数C )正确答案:B5、以下是信息世界的模型,且实际上是现实世界到机器世界的⼀个中间层次的是_________。

A 、数据模型B 、概念模型C 、关系模型D 、E-R 图(难度系数C )正确答案:C6、构成E —R 模型的三个基本要素是_________。

A 、实体、属性值、关系;B 、实体、属性、联系;C 、实体、实体集、联系;D 、实体、实体集、属性;(难度系数C )正确答案:B7、在关系代数运算中,五种基本运算为_________。

A 、并、差、选择、投影、连接B 、并、交、选择、投影、笛卡尔积C 、并、差、选择、投影、笛卡尔积D 、并、除、投影、笛卡尔积、选择(难度系数B )正确答案:C8、在下列关于规范化理论的叙述中,不正确的是_________。

A 、任何⼀个关系模式⼀定有键。

B 、任何⼀个包含两个属性的关系模式⼀定满⾜3NF 。

C 、任何⼀个包含两个属性的关系模式⼀定满⾜BCNF 。

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

C H A P T E R26Advanced Transaction ProcessingPractice Exercises26.1Like database systems,workflow systems also require concurrency andrecovery management.List three reasons why we cannot simply apply arelational database system using2PL,physical undo logging,and2PC.Answer:a.The tasks in a workflow have dependencies based on their status.For example the starting of a task may be conditional on the outcome(such as commit or abort)of some other task.All the tasks cannotexecute independently and concurrently,using2PC just for atomiccommit.b.Once a task gets over,it will have to expose its updates,so thatother tasks running on the same processing entity don’t have towait for long.2PL is too strict a form of concurrency control,and isnot appropriate for workflows.c.Workflows have their own consistency requirements;that is,failure-atomicity.An execution of a workflow mustfinish in an acceptabletermination state.Because of this,and because of early exposure ofuncommitted updates,the recovery procedure will be quite differ-ent.Some form of logical logging and compensation transactionswill have to be used.Also to perform forward recovery of a failedworkflow,the recovery routines need to restore the state informa-tion of the scheduler and tasks,not just the updated data items.Thussimple WAL cannot be used.26.2Consider a main-memory database system recovering from a systemcrash.Explain the relative merits of:12Chapter26Advanced Transaction Processing•Loading the entire database back into main memory before resuming transaction processing.•Loading data as it is requested by transactions.Answer:•Loading the entire database into memory in advance can provide transactions which need high-speed or realtime data access the guar-antee that once they start they will not have to wait for disk accessesto fetch data.However no transaction can run till the entire databaseis loaded.•The advantage in loading on demand is that transaction processing can start rightaway;however transactions may see long and unpre-dictable delays in disk access until the entire database is loaded intomemory.26.3Is a high-performance transaction system necessarily a real-time system?Why or why not?Answer:A high-performance system is not necessarily a real-time sys-tem.In a high performance system,the main aim is to execute each trans-action as quickly as possible,by having more resources and better uti-lization.Thus average speed and response time are the main things tobe optimized.In a real-time system,speed is not the central issue.Hereeach transaction has a deadline,and taking care that itfinishes within thedeadline or takes as little extra time as possible,is the critical issue.26.4Explain why it may be impractical to require serializability for long-duration transactions.Answer:In the presence of long-duration transactions,trying to ensureserializability has several drawbacks:-a.With a waiting scheme for concurrency control,long-duration trans-actions will force long waiting times.This means that response timewill be high,concurrency will be low,so throughput will suffer.Theprobability of deadlocks is also increased.b.With a time-stamp based scheme,a lot of work done by a long-running transaction will be wasted if it has to abort.c.Long duration transactions are usually interactive in nature,and itis very difficult to enforce serializability with interactiveness.Thus the serializability requirement is impractical.Some other notion ofdatabase consistency has to be used in order to support long durationtransactions.26.5Consider a multithreaded process that delivers messages from a durablequeue of persistent messages.Different threads may run concurrently,attempting to deliver different messages.In case of a delivery failure,theExercises3 message must be restored in the queue.Model the actions that each thread carries out as a multilevel transaction,so that locks on the queue need not be held until a message is delivered.Answer:Each thread can be modeled as a transaction T which takes a message from the queue and delivers it.We can write transaction T as a multilevel transaction with subtransactions T1and T2.Subtransaction T1 removes a message from the queue and subtransaction T2delivers it.Each subtransaction releases locks once it completes,allowing other transac-tions to access the queue.If transaction T2fails to deliver the message, transaction T1will be undone by invoking a compensating transaction which will restore the message to the queue.26.6Discuss the modifications that need to be made in each of the recoveryschemes covered in Chapter16if we allow nested transactions.Also, explain any differences that result if we allow multilevel transactions.Answer:Consider the advanced recovery algorithm of Section16.4.The redo pass,which repeats history,is the same as before.We discuss below how the undo pass is handled.•Recovery with nested transactions:Each subtransaction needs to have a unique TID,because a failed sub-transaction might have to be independently rolled back and restarted.If a subtransaction fails,the recovery actions depend on whether theunfinished upper-level transaction should be aborted or continued.If it should be aborted,allfinished and unfinished subtransactionsare undone by a backward scan of the log(this is possible becausethe locks on the modified data items are not released as soon asa subtransactionfinishes).If the nested transaction is going to becontinued,just the failed transaction is undone,and then the upper-level transaction continues.In the case of a system failure,depending on the application,the en-tire nested-transaction may need to be aborted,or,(for e.g.,in the caseof long duration transactions)incomplete subtransactions aborted,and the nested transaction resumed.If the nested-transaction mustbe aborted,the rollback can be done in the usual manner by the recov-ery algorithm,during the undo pass.If the nested-transaction mustbe restarted,any incomplete subtransactions that need to be rolledback can be rolled back as above.To restart the nested-transaction,state information about the transaction,such as locks held and execu-tion state,must have been noted on the log,and must restored duringrecovery.Mini-batch transactions(discussed in Section24.1.10)are anexample of nested transactions that must be restarted.•Recovery with multi-level transactions:In addition to what is done in the previous case,we have to handlethe problems caused by exposure of updates performed by committedsubtransactions of incomplete upper-level transactions.A committed4Chapter26Advanced Transaction Processingsubtransaction may have released locks that it held,so the compen-sating transaction has to reacquire the locks.This is straightforwardin the case of transaction failure,but is more complicated in the caseof system failure.The problem is,a lower level subtransaction a of a higher level transaction A may have released locks,which have to be reacquiredto compensate A during recovery.Unfortunately,there may be someother lower level subtransaction b of a higher level transaction B thatstarted and acquired the locks released by a,before the end of A.Thusundo records for b may precede the operation commit record for A.But if b had notfinished at the time of the system failure,it mustfirst be rolled back and its locks released,to allow the compensatingtransaction of A to reacquire the locks.This complicates the undo pass;it can no longer be done in one backward scan of the log.Multilevel recovery is described in detail inDavid Lomet,“MLR:A Recovery Method for Multi-Level Systems”,ACM SIGMOD Conf.on the Management of Data1992,San Diego.。

相关文档
最新文档