• 313.00 KB
  • 2022-04-22 11:27:11 发布

《数据库原理》课后习题及解答.doc

  • 29页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《数据库原理》课后习题及解答课后习题:第一章第二章第三章第四章第五章第六章第七章第八章第九章习题答案:第一章第二章第三章第四章第五章第六章第七章第八章第九章第一章概论1.试解释下列术语:数据库;数据库管理系统;数据库系统2.试述数据库管理系统的组成内容。3.试比较文件系统与数据库系统的异同。4.什么叫数据的物理独立性与逻辑独立性?并说明它的重要性。5.试述数据库系统的优点。6.什么叫数据的冗余与数据的不一致性?7.什么叫数据库管理员?他的主要工作是什么?8.试述数据库系统发展的几个阶段。返回第一章答案 第二章数据模型1.什么叫数据库模型,它分哪几种类型?2.试区别数据模型与数据模式。3.什么叫数据模式,它分哪三级?4.试述数据模型四个世界的基本内容。5.试介绍E-R模型,EE-R模型及面向对象模型、谓词模型,并各举一例说明之。6.层次网状模型有什么特点?并各举一例说明之。7.试比较层次、网状、关系模型之优缺点。8.试说明关系模型的基本结构与操作。9.目前流行的关系型数据库管理系统,有哪些你比较熟悉,试介绍其特点。10.你认为“数据模型”在整个数据库领域中是否有重要作用和地位,试详细说明之。11.一图书馆借阅书刊,请你画出书刊、读者及借阅三者间的E-R模型。12.一人事档案中,有干部、职工,干部又有高级干部与一般干部,请用EE-R模型画出他们之间关系。13.试述物理模型的主要内容。14.试叙述四个世界的转化关系。15.请你比较四种数据模型的异同。返回第二章答案 第三章关系数据库系统1.试述关系数据库系统的优点。2.试述关系型的12条标准,并说明FOXBASE为何是半关系型的。3.关系代数与关系演算的表示能力是否相同?试证明之。4.从关系模型的数学表示中,你是否认为网状与层次模型也可以用数学方法表示?试说明理由。5.设有如图3-1所示的医院组织。试画出其E-R图及关系模式并分别用关系代数及关系演算方法写出下面之查询公式:①找出外科病房所有医生姓名;②找出管辖13号病房的主任姓名;③找出管辖病员李维德的医生姓名。6.今有如下的商品供应关系数据库:供应商S(SNO,SNAME,STATUS,CITY)零件P(PNO,PNAME,COLOR,WEIGHT)工程J(JNO,JNAME,CITY)供应关系SPJ(SNO,PNO,JNO,QTY)(注:QTY表示供应数量)试画出其E-R图并分别用关系代数及关系演算方法写出下面之查询公式:①求供应工程J1零件的供应商号码;②求没有使用天津单位生产的红色零件的工程号;③求供应工程J1零件P1的供应商号码;④求供应工程J1零件为红色的单位号码;⑤求至少用了单位S1所供应的全部零件的工程号;⑥求供应商与工程在同一城市能供应的零件数量。7.试比较关系代数与关系演算表示方法之异同。8.请你对关系数据库数学理论作出评价。返回第三章答案 第四章关系数据库系统标准语言SQL1.试述SQL的特点与功能。2.什么是基表?什么是视图?二者有何关系与区别?3.要将SQL作嵌入需要解决哪些问题?如何解决之?4.有如图4-2所示结构的医院组织。请用SQL描述其模式并作如下查询:⑴找出外科病房所有医生的姓名;⑵找出管辖13号病房的医生的姓名;⑶找出管理病员李韦德的医生的姓名;⑷给出内科病房患食道癌病人总数;5.本章所定义的学生数据库(S,C,SC)中用SQL做如下之操作:(1)查询系为计算机的学生学号与姓名;(2)查询计算机系所开课程之课程号与课程名;(3)查询知道修读一门OS的学生姓名;(4)查询每个学生已选修课程门数和总平均成绩;(5)查询所有课程的成绩都在80分以上的学生姓名、学号并按学号顺序排列;(6)删除在S,SC中所有S#以‘91’开头的元组。6.在学生数据库中建立计算机系的视图(包括S,SC,C)。7.利用建立的计算机系视图查询修读’Database’的学生姓名。8.在学生数据库中如要修改S的模式为S(Sno,Sname,Sage,Sdept),请用视图方法修改之。返回第四章答案 第五章数据库的物理组织1.存储在数据库中的物理数据有哪几种类型,试说明之。2.文件有哪几种常用的格式?它由哪些内容组成?请说明之。3.请说明记录与磁盘块之间的关系。4.试给出磁盘块在磁盘中的四种分配方式。5.请你评价数据库物理组织在数据库系统中的地位与重要性。返回第五章答案 第六章关系数据库的查询优化1.什么叫查询优化?试述查询优化之必要性与可能性。2.试证明查询优化算法之正确性。3.对查询表达式:Q:лSn(δS.S#=SC.S#∧SC.C#=C.C#∧C.Cn=’Database’(S×SC×C))用优化算法作优化,并画出每一算法步骤的语法树。4.试证明关系代数等价变换规则中的公式(6.1),(6.4)的正确性。5.试用等价变换规则证明下列等式的正确性:(1)δR1.B=R2.B∧R1.C=R2.C(R1×R2)=R1∞R1.B=R2.B∧R1.C=R2.CR2(2)лpname,sname,qty(δcolor=’red’∧P.pno=SP.pno∧SP.sno=S.sno(P×SP×S))=лpname,sname,qty(δSP.sno=S.sno(S×δSP.pno=P.pno(SP×δcolor=’red’(P))))返回第六章答案 第七章数据库保护1.什么叫数据库保护?它有哪些内容?2.什么叫数据库的安全性,它有哪些内容?3.数据库的操作对象权限有那几种,操作类型权限又有哪几种?4.什么叫数据库的完整性保护?目前有哪些完整性保护措施?5.试述数据的不一致与并发控制的关系。6.试说明如何利用封锁机制以避免数据库的不一致性。7.封锁会引起何种麻烦?如何解决此种麻烦?8.事务的作用是什么?事务控制一般有哪些语句?他们的功能如何?试说明之。9.什么叫数据库恢复?常用的恢复技术有哪几种?10.什么叫日志?它有什么作用?返回第七章答案 第八章关系数据库规范化理论1.请给出下列术语的含义:函数依赖;关键字;主属性集;多值依赖;2NF;3NF;BCNF;4NF;2.在关系SC(S#,C#,G)中,S#ààC#正确吗?说明理由。3.是否规范化最佳的模式结构是最好的结构,为什么?4.试证明若R(U)∈BCNF,则必有R(U)∈3NF。5.试问下列关系模式最高属于第几范式,并解释其原因:1)R(A,B,C,D),F:{BàD,ABàC}2)R(A,B,C),F:{AàB,BàA,AàC}3)R(A,B,C,D),F:{AàC,DàB}4)R(A,B,C,D),F:{AàC,CDàB}返回第八章答案 第九章数据库设计与数据库管理1.试用EE-R模型为一个大学数据库作概念设计并最终画出全局模式的EE-R图。2.试用所画的EE-R图用SQL中的DDL语言定义1-2个关系。3.对所定义的关系作索引设计。4.数据库逻辑设计有哪些基本内容,请叙述之。5.数据库物理设计包括哪些内容,请说明之。6.试说明数据库设计与软件工程中的生命周期法有什么区别。7.什么叫需求分析及需求说明书?试说明之。8.在概念设计中为什么要采用EE-R方法,试说明之。9.数据库管理包含那些内容,试详细说明之。10.DBA的任务是什么,它在数据库管理中起什么作用,请说明。返回第九章答案 《数据库系统原理》习题解答第一章概论1.答:数据库:是数据的集合,它具有一定的组织形式并存放于统一的存储介质上,它是多种应用数据的集成,并可被多个应用所共享。数据库管理系统:数据库管理系统是一种负责数据库的定义、建立、操纵、管理和维护的系统软件。数据库系统:是一个以对海量的、具有复杂数据结构的、可以持久保存的、可供多用户共享的数据进行统一管理为目标的计算机应用系统。2.答:一个数据库系统由数据库、数据库管理系统、数据库应用、数据库管理员和系统平台所构成。数据库是数据的集合,它具有一定的组织形式并存放于统一的存储介质上,它是多种应用数据的集成,并可被多个应用所共享。数据库管理系统是一种负责数据库的定义、建立、操纵、管理和维护的系统软件。数据库管理员负责数据库的设计、规划、协调、管理和运行维护工作。数据库应用是数据库的应用程序。系统平台指整个系统的基本物理支撑环境,包括计算机、操作系统、计算机网络三个部分。3.答:两者既有联系,又有区别。(1)联系:l两者都具有一定的数据管理功能。l文件系统是低级的数据管理工具,数据库系统则是高级的数据管理工具。l文件系统是数据库系统的基础,数据库系统则是文件系统的提高与发展。(2)区别:数据库系统文件系统统一管理,集中控制分散管理数据的集成化(结构化)结构简单面向数据(以数据为中心)面向应用数据冗余度低数据冗余度高具有数据保护和数据控制功能具有数据保护和数据控制功能4.答:1)数据的物理独立性是指数据的物理结构(包括存储结构、存取方式等)的改变,存储设备的更换,物理存储的更换,存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。2)数据的逻辑独立性是指数据库总体逻辑结构的改变,如修改数据模式,增加新的数据类型、改变数据间联系等,不需要相应修改应用程序。3) 数据的独立性使得数据库中数据独立于应用程序而不依赖于应用程序,也就是说数据的逻辑结构、存储结构与存取方式的改变不影响应用程序。相应的,数据的独立性也使得应用程序的编制不再依赖于数据的物理和逻辑结构,提高了应用程序的可移植性与鲁棒性。从理论上说,数据的独立性可以使数据的组织和应用程序的编制完全分离。1.答:数据的集成化;具有数据独立性;提供数据共享能力;减少数据冗余;实现集中管理;保证了数据的一致性;提供对数据的安全性和完整性保护;提供对数据库的并发控制和故障恢复功能;有利于系统的标准化。2.答:同一个数据在不同的地方出现了重复存储叫数据冗余。在数据库中同一个数据在不同的地方出现了不同的值被称为数据的不一致性。3.答:负责数据库的设计、规划、协调、管理和运行维护工作全过程的专职人员叫数据库管理员。他的主要工作是:数据库设计、数据库运行维护、改善系统性能和提高系统效率。4.答:(1)件系统阶段:利用文件系统来参与数据管理,向用户提供简单的数据管理和共享能力,但无法提供完整统一的数据管理功能和较强的数据共享能力。(2)初级数据库系统阶段:包括层次模型数据库系统和网状模型数据库系统,为用户提供了统一的数据管理工具,向用户提供了数据共享能力。但数据模式的表示复杂;数据结构所受到的约束较多;用户使用困难。(3)关系数据库系统阶段:具有结构简单,操作方便的优点。(4)高级数据库系统阶段:为适应人工智能、多媒体、分布式等新的应用领域的需要而出现的新的数据库系统阶段。返回第一章习题 第二章数据模型1.答:数据模型用于描述数据的结构,定义在其上的操作以及约束条件。它分为三种类型:1)概念数据模型:侧重于对客观世界复杂事物的结构描述及它们之间的内在联系的刻划,不涉及具体的描述细节和物理实现因素,是一种面向客观世界和用户的模型,与具体的DBMS和计算机无关。2)逻辑数据模型:着重于数据模型在数据库系统一级的实现,即利用具体的DBMS所提供的工具(DDL)来定义的数据模型。3)物理数据模型:给出了数据模型在计算机内部的真正物理结构,是一种面向计算机物理实现的模型。2.答:数据模型用于描述数据的结构,定义在其上的操作以及约束条件,在数据模型中有关数据结构及其相互间关系的描述被称为数据模式。数据模式是数据模型的核心成分,是区分不同类型数据模型的依据。数据模型中的操作和约束条件都是定义在相应的数据模式上的,不同数据模式上可以实现的操作类型和操作方式都不一样。3.答:在数据模型中有关数据结构及其相互间关系的描述被称为数据模式。数据模式被分为外模式、概念模式和内模式三级。1)概念模式:又简称为模式,是关于整个数据库中数据的全局逻辑结构的描述。2)外模式:又称为子模式、用户模式,是关于某个用户所需数据的逻辑结构的描述。外模式可由概念模式推导而出,是概念模式的一个子集3)内模式:又称为物理模式、存储模式,是关于数据库中数据的存储方式和物理结构的描述。利用这三种模式可构造出三个层次上的数据库概念:概念数据库、用户数据库、物理数据库。在这三种数据库中,只有物理数据库是真实存在于计算机的外存中的,其他两种则是通过物理数据库由数据库管理系统构造而成。4.答:数据库中的数据模型可以将复杂的现实世界要求反映到计算机数据库中的物理世界中,这种反映是一个逐步转化的过程,它分为四个阶段,我们称为四个世界。1)现实世界:在客观世界中根据用户的需要划定边界的一个部分环境,它称为现实世界。现实世界设定了需求的边界条件,为整个转换提供了客观基础与初始启动环境。2)概念世界:以现实世界为基础作进一步的抽象,最终形成一些基本概念与基本关系。这些基本概念与基本关系可以用概念数据模型所提供的术语和方法统一表示,从而构成了一个新的世界即概念世界。3)信息世界:在概念世界的基础上进一步着重于在数据库系统级上的刻化,而构成的逻辑模型叫信息世界。4)计算机世界:在信息世界基础上致力于其在计算机物理结构上的描述,从而形成的物理模型叫计算机世界。5.答:(1) E-R模型:利用实体、属性、联系来描述现实世界中的客观事物及其相互关系的概念数据模型称为实体-联系(E-R)模型。现实世界中的客观事物可以抽象成为实体,事物的特性抽象成为实体中的属性,事物与事物之间的关联抽象成为实体之间的联系。我们可以使用E-R图来表示E-R模型(图2-5-1)。(1)EE-R模型:对E-R模型进行扩充所构成的概念数据模型。主要的扩充成分有两个:(a)实体集属性:一个实体集可以作为另一个实体集的属性而存在。(b)IS-A联系:如果实体集B是实体集A的一个子集,且具有比实体集A更多的属性,则我们称在实体集A与实体集B之间存在着一种特殊的IS-A联系。其中的实体集A称为实体集B的超集,实体集B称为实体集A的子集。子集B可以通过IS-A联系继承超集A中的所有属性。EE-R模型可以用EE-R图来表示(图2-5-2)(2)面向对象模型:采用面向对象技术中的对象、类、继承、封装等概念来表示的概念数据模型。其中:l现实世界中能够相互区别开来的客观事物被抽象成为对象,每个对象有对象标识符(OID)、对象属性和对象中的方法三个组成部分。对象具有封装性、OID的独立性和对象属性值的多值性。l具有相同属性与方法的对象集合构成一个类。类与类之间可以有继承和合成关系。l类与类之间可以通过消息进行协作。面向对象数据模型实际上就是一张复杂的类层次结构图(图2-5-3)。(3)谓词模型:利用一阶谓词逻辑来进行描述的概念数据模型。其中:用谓词来表示实体集以及实体与实体之间的联系,用内部谓词来定义实体中的属性,用谓词公式来表示实体中的关键字、模型中的操作和完整性约束条件。2.答:(1)层次模型的数据结构采用树形结构,层次模型上的数据约束是:l只允许存在二元联系,不允许存在一元联系或多元联系;l只允许存在实体集间的一种联系,不允许存在实体集间的多种联系;l除根外每个实体集均可看成仅与一个联系相关;l在一般情况下,实体集间的联系只允许出现一多函数对应关系(含一一对应),不允许出现多多函数对应关系;l实体集间的联系是单向的,其方向是自顶向下。层次模型上的数据操纵方式是:l单棵树:从根开始,自顶向下进行搜索定位。l多棵树:可以从一棵树中的结点跳到另一棵树的同名根结点中继续进行搜索定位。 (1)网状模型的数据结构是不加任何条件限制的无向图,在实现中采用简单二级树作为其实现结构。网状模型上的数据操纵方式是:l单棵树:可以从根结点搜索到叶子结点,也可以从叶子结点搜索到根结点。l多棵树:可以从一棵树的某个结点跳到另一棵树的同名结点中继续进行搜索定位。2.答:层次模型网状模型关系模型数据结构复杂,受到的限制较多结构灵活,但实现困难结构简单,实现方便数据操纵数据的查询定位具有严格的方向性,操作复杂,只能提供低级的、过程性数据操纵子语言操作复杂,只能提供低级的、过程性数据操纵子语言操作方便,标准化程度高,具有高级的、非过程化数据子语言理论基础不足不足具有扎实的数学理论与关系规范化理论易使用性差差好3.答:关系模型的基本结构是由行和列组成的二维表格,该二维表格满足下列条件:·同一表中的属性名各不相同·表中的属性与次序无关·表中的元组均不相同·表中的元组与次序无关·表中的每一分量必须是不可分割的基本数据项关系模型上的数据操纵,其操作对象与操作结果都是关系。关系模型向用户提供了四种类型的操纵功能:查询、插入、删除与修改,它们又可以被划分成五种基本操作:属性指定,元组选择,关系的合并,元组插入,元组删除。4.答:目前流行的关系型数据库管理系统,有哪些你比较熟悉,试介绍其特点。目前流行的关系数据库管理系统主要有:Oracle、DB2、SQLServer、Sybase等。其中Oracle与DB2都属于大型的数据库管理系统,占有整个关系数据库市场的绝大部分,而在我国国内又以Oracle数据库为主。它们都具有较强的数据定义、数据操纵、数据控制和数据服务功能,提供了大量的服务性程序和访问接口工具,可以支持对大规模、超大规模数据量的存储和高效的存取。SQLServer的功能和系统规模均小于上述的两个数据库系统,主要使用于Windows平台中。Sybase则是最早提出C/S数据库体系结构的数据库系统,在关系数据库的发展历史中也占有十分重要的地位。5.答:你认为“数据模型”在整个数据库领域中是否有重要作用和地位,试详细说明之。首先,利用数据模型可以将我们所面对的现实世界逐步抽象转化成计算机世界中的数据库实现。其次,不同类型的数据模型,其描述能力和实现方法都不一样,在数据库的发展历史中,我们正是根据所采用的数据模型的不同来区分不同类型的数据库系统。 答:借阅日期姓名出版日期性别作者nm借阅书刊年龄读者书名归还日期编号编号1.答:编号职称姓名性别性别n1领导干部姓名年龄职工编号高级干部一般干部普通津贴特殊津贴2.答:试述物理模型的主要内容。物理给出了数据库系统在计算机中真正的物理实现结构,它包括数据及其相互关系的存储表示,有关索引与集簇的设计,以及存储空间的分配与使用等。3.答:在客观世界中根据用户的需要划定边界的一个部分环境,它称为现实世界。现实世界设定了需求的边界条件,为整个转换提供了客观基础与初始启动环境。以现实世界为基础作进一步的抽象,最终形成一些基本概念与基本关系。这些基本概念与基本关系可以用概念数据模型所提供的术语和方法统一表示,从而构成了一个新的世界即概念世界。在概念世界的基础上进一步着重于在数据库系统级上的刻化,而构成的逻辑模型叫信息世界。在信息世界基础上致力于其在计算机物理结构上的描述,从而形成的物理模型叫计算机世界。返回第二章习题 第三章关系数据库系统1.答:(1)数据结构简单:关系数据库系统中采用统一的二维表作为数据结构,不存在复杂的内部连接关系,具有高度简洁性与方便性。(2)用户使用方便:关系数据库的使用不涉及系统内部物理结构,用户不必了解和干预系统内部组织,所用数据子语言均为非过程性语言。(3)功能强:可以构造复杂的数据模型,可以一次获取一组元组,具有修改数据间联系和数据模式的能力。(4)数据独立性高:具有很高的物理数据独立性和一定的逻辑数据独立性。(5)理论基础深:关系数据库系统是建立在代数和逻辑基础上的。2.答:(1)信息准则:关系数据库的所有信息都应能在逻辑一级唯一地用表中的值显式表示,同时,数据库的结构描述也应在逻辑上组织成关系形式。(2)确保访问准则:应能保证用逻辑方式依靠表名,关键字值与列名的组合访问数据库中每一个数据的原子值。(3)系统的空值处理准则:系统具有处理空值的能力。(4)基于资源管理的动态,联机目录:描述数据库应与一般的数据采用同样的方式,并允许授权用户用同样的方式查询或扩充。(5)同一的易用的数据子语言:系统必须至少有一种语言能全面支持下列功能:数据定义,视图定义,数据操作,完整性约束能力,授权机制和事务处理能力。(6)视图更新准则:用户能多视图作查询,还能对视图作一定能力的更新操作。(7)高级插入,修改及删除操作:(8)物理数据独立性(9)逻辑数据独立性(10)数据完整性准则:应能支持三类数据完整性约束:实体完整性,关联完整性和一般完整性约束。(11)分布独立性:当数据由集中存储变为分布存储或重新分布时,应用程序或用户终端的工作应保持不受影响。(12)无损害原则:如果某关系数据库系统允许使用每次处理一个元组的低级语言,则此种语言的使用不能损害数据完整性准则。3.答:关系代数与关系演算的表示能力基本相同,我们可以用关系演算公式来表示关系代数中的基本概念,反之依然。4.答:(略) 答:病人编号位置病房号医生编号医生姓名负责就医病房病人医生病人姓名患病医生年龄主任姓名名称职称(1)关系代数:关系演算:(2)关系代数:关系演算:(3)关系代数:关系演算: 6.答:PNOSNAMEPNAMEWEIGHTSTATUSJNAMECOLORJNOQTYSNOPSPJSCITYJCITY(1)关系代数:关系演算:(2)关系代数:关系演算:(3)关系代数:关系演算:(4)关系代数:关系演算:(5)关系代数:关系演算:(6)关系代数:关系演算: 7.答:关系代数是使用数学中的集合论来表示关系模型,其中:关系用元组的集合来表示,关系模型上的数据操纵用集合上的运算来表示。而关系演算则使用数理逻辑中的一阶谓词逻辑来表示关系模型,其中:关系用谓词来表示,关系模型上的数据操纵用一阶谓词公式来表示。返回第三章习题 第四章关系数据库系统标准语言SQL1.答:SQL的特点有:(1)SQL是一种基于关系代数的数据语言,其理论基础坚实;(2)SQL是一种非过程化程度很高的语言,用户只要指出“干什么”二无需指出“怎么干”;(3)SQL集数据定义,操纵与控制于一体,构成一个具有独特风格的一体化语言,此外它还集联机交互与嵌入于一体,使语言能适应广泛的使用环境;(4)SQL语言功能强,它不但能表示关系代数的所有功能,还具有统计,计算,视图等其它功能;(5)SQL数据独立性强,它所涉及的物理概念少;(6)SQL语言简洁,易学易用。SQL的功能包括:数据定义、数据操纵、数据控制、与主语言的接口四个部分。2.答:关系数据库中的关系在SQL中又称为基表。由若干张表(包括基表与视图)经映像语句构筑而成的表被称为视图。基表与视图都采用二维表格结构,都统称为表。但基表中的数据(元组)需要有数据库中的物理存储空间,而视图在数据库中只保存其定义信息,其数据并不占用存储空间,而是来源于定义该视图的基表。视图上的数据操纵命令最终都将转化成相应基表上的操作才能得以实现。3.答:嵌入式SQL在实现上需要解决下面三个方面的问题:1)主语言语句与SQL语句的区别:通过在嵌入式SQL语句的前面和后面分别加上前缀(EXECSQL)和后缀(;或ENDEXEC)来区分。2)主语言变量与SQL变量的区别:在嵌入式SQL语句中使用的主语言变量要加上前缀(;),以示区别。3)SQL语言的集合量与主语言的标量之间的接口:可以使用游标来实现从SQL语言的集合量到主语言的标量的数据转换。与游标有关的操作有:定义游标、打开游标、推进游标和关闭游标。4.答:⑴SELECT医生.名称FROM医生,病房WHERE医生.管辖病房号=病房.编号AND病房.名称=‘外科’⑵SELECT医生.名称FROM医生WHERE医生.管辖病房号=13⑶SELECT医生.名称FROM医生,病人WHERE医生.管辖病房号=病人.病房号AND病人.名称=‘李维德’⑷SELECTCOUNT(*)FROM病房,病人WHERE病房.编号=病人.病房号AND病房.名称=‘内科’AND病人.患何种病=‘失盗癌’ 1.答:(1)SELECTS#,SnFROMSWHERESd=计算机(2)SELECTC.C#,C.CnFROMS,C,SCWHEREC.C#=SC.C#ANDSC.S#=S.S#ANDS.Sd=’计算机’(3)SELECTS.SnFROMS,C,SCWHERES.S#=SC.S#ANDSC.C#=C.C#ANDC.Cn=’OS’(4)SELECTS#,COUNT(*),AVG(G)FROMSCGROUPBYS#(5)SELECTS#,SnFROMSWHERES#IN(SELECTS#FROMSCGROUPBYS#HAVINGMIN(G)≥80)ORDERBYS#(6)DELETEFROMSCWHERES#LIKE‘91%’DELETEFROMSWHERES#LIKE‘91%’2.答:CREATEVIEWs_csASSELECTS#,SN,SD,SA,C#,CN,P#,GFROMS,C,SCWHERES.S#=SC.S#andC.C#=SC.C#andS.SD=‘计算机’3.答:SELECTSNFROMs_csWHERECN=‘Database’4.答:CREATEVIEWnew_s(Sno,Sname,Sage,Sdept)ASSELECTS#,SN,SA,SDFROMS返回第四章习题 第五章数据库的物理组织1.答:·数据主体:用户数据本身及其辅助信息。·数据字典:有关用户数据的描述信息。·数据间的联系信息:数据与数据之间的联系信息,在关系数据库中,这类信息也是作为数据主体组织存储的。·数据存取路径信息:访问数据库中数据的途径,在关系数据库中,可以使用的存取路径有:索引、HASH、集簇等。·其它信息:与数据主体及其使用有关的其它信息,包括:日志信息,用户信息,审计信息等。2.答:在数据库系统中常用的文件格式有:顺序文件,索引文件,B树类文件和HASH文件。顺序文件通常用于组织用户数据的存储,是一种记录式文件。索引文件用于提供数据访问的人口信息,而B树类文件和HASH文件则是索引文件最常用的两种实现方式。3.答:记录与磁盘块之间的分配关系有:单块单记录,单块多记录,多块单记录,多块多记录。在数据库系统中最常用的是:多块单记录和单块多记录两种方式。多块单记录常用于单个记录的数据长度特别大的情况中,而较常用的是单块多记录组织方式。单块单记录对存储空间的浪费比较大,多块多记录虽然空间利用率最高,但不利于文件的修改和扩充,所以这两种分配方式使用较少。4.答:·连续分配法:一个文件的磁盘按连续地址分配。·链接分配法:一个文件的磁盘是分散分配的,相互之间通过指针相连接。·索引分配法:一个文件的磁盘分配方式是不固定的,但文件中有一个逻辑块号与磁盘物理地址的对应关系的索引,因此在空间的分配与使用上较灵活。·集簇分配法:局部是连续的,但整体上是分散的,即具有因磁盘的连续分配而带来的数据访问的高性能,又具有空间分配上的灵活性。5.答:数据库物理组织的好坏影响到整个系统的性能和价格。数据库的物理结构组织得好,可以提高磁盘空间的利用率和用户访问数据库的速度,减低系统的造价,提高系统的可用性。返回第五章习题 第六章关系数据库的查询优化1.答:通过对查询表达式的改写以减少中间运算结果的数据量,提高查询执行的速度,这被称为查询优化。2.答:(略)3.答:(略)4.答:(略)5.答:(略)返回第六章习题 第七章数据库保护1.答:从计算机软家角度出发来保护数据库系统中数据,使之不至于受到非法访问或破坏,这称为数据库保护。常见的数据库保护措施有:安全性保护,完整性保护,并发控制和故障恢复。2.答:数据库的安全性保护是指防止非法使用数据库。包括防止非法用户使用数据库和合法用户非法使用数据库。常见的保护措施有:l使用权的鉴别。常用的鉴别方法有口令和函数计算法两种。l使用范围限制。一般可用子模式的方法予以限制,用户可以在子模式定义范围内访问数据,而子模式没有定义的那些数据库中的数据,用户无法使用。在关系数据库中则可用视图方法予以限制。l存取控制权鉴别。进一步限制每一个用户在每一个数据对象上可以执行的操作的类型。以关系数据库系统为例,操作对象有:关系,元组,属性,可以使用的操作类型有:查询,插入,修改,删除以及它们的一些组合情况。3.答:l操作类型权限:查询权,插入权,删除权,修改权以及它们的一些组合l操作对象权限:关系、元组、属性。4.答:数据库的完整性保护是指对数据库中数据的正确性和一致性的维护。常见的完整性保护措施有:完整性约束(包括实体完整性,引用完整性和用户自定义完整性约束),触发器,并发控制和故障恢复(包括转储与日志)。5.答:数据库系统是一个多用户共享系统,在多个用户同时并发访问同一个数据库的情况下,如果对这些用户的并发访问操作不加任何控制,在很大程度上会引起数据的不一致性问题,如’丢失修改’、’脏读’、’不可重读’等。合理组织调度多个用户的并发操作,避免产生数据的不一致现象的工作被称为并发控制。在数据库系统中正是通过并发控制技术来维护在多用户并发访问情况下的数据的一致性。6.答:数据库系统利用封锁机制来避免在多用户并发访问情况下数据的不一致性。在数据库系统中常用的是两种类型的封锁:排它锁(又称X封锁或X锁)和共享锁(又称S封锁或S锁)。只有当某数据对象没有被加上任何类型的封锁时,用户才能在该数据对象上施加X封锁。只有当某数据对象被加上S封锁或没有任何类型的封锁时,用户才能在该数据对象上施加S封锁。通过采用适当级别的封锁协议就可以避免常见的数据不一致性现象:l一级封锁协议:在用户以写操作(如:插入、删除和修改操作等)为目的开始访问某数据对象之前,首先必须申请对该数据对象的X封锁,并且将该X封锁维持到用户事务的结束。采用一级封锁协议可以避免’ 丢失修改’现象。l二级封锁协议:在一级封锁协议的基础上,在用户以读操作(如:查询、统计操作等)为目的开始访问某数据对象之前,首先必须申请对该数据对象的S封锁,并且可以在本次数据访问结束后的任一时刻释放该S封锁。采用二级封锁协议可以进一步避免’脏读’现象。l三级封锁协议:在二级封锁协议的基础上,要求用户所申请的S封锁也必须维持到用户事务的结束。采用三级封锁协议可以再进一步避免’不可重读’现象。7.答:封锁会引起“死锁”(deadlock)的问题。即多个用户申请不同封锁,由于每个申请者均拥有一部分封锁而又去等待另外一个用户所持有的封锁而引起的永无休止的等待现象。解决“死锁”问题一般可采取以下的方法:l预防法:即采用一定的封锁申请方式以避免死锁现象的出现,常用的有顺序申请法,一次申请法等。l死锁的解除法:即允许出现死锁,但在系统中有一个死锁检测程序去检查死锁现象的发生,并在死锁产生后通过解锁程序以解除死锁。8.答:由某个用户所执行的一个不能被打断的对数据库的操作序列被称为‘事务’。一个事务的执行过程是串行的,它将数据库从一个旧的一致性状态转换到一个新的一致性状态。在事务的执行过程中,数据库中的数据可能有不一致的现象,但在事务执行结束时,系统将保证数据库中数据的一致性。事务是并发控制的基本单位,封锁也是以一个事务为时间跨度的。在数据库系统中提供了下述几条事务控制语句:·事务的开始:表示一个事务的开始。·事务的提交:确认一个事务的结束,并且将在事务执行过程中对数据的修改操作写入到数据库中。·事务的放弃:确认一个事务的结束,并且将放弃(撤消)在事务执行过程中对数据的修改操作。9.答:在数据库遭受破坏后及时将数据库中的数据恢复到正确状态下去的过程叫数据库恢复。常用的恢复技术有:·转储:定期地将数据库中的内容复制到其它存储设备中去的过程。·日志:由数据库系统创建和维护的,用于自动记载数据库中修改型操作的数据更新情况的文件。10.答:由数据库系统创建和维护的,用于自动记载数据库中修改型操作的数据更新情况的文件叫日志。利用日志中记载的信息可以提供数据库的鼓掌恢复功能。返回第七章习题 第八章关系数据库规范化理论1.答:(略)2.答:S#ààC#不正确。虽然一个学生可以选修多门课,即一个S#对应着多个C#,但每一个C#都与该门课程的成绩(G)有关,所以它们之间的多值依赖不成立。3.答:不一定。规范化程度越高,则关系的数量就越多,则关系的联接运算就越多。而关系的联接运算会减低系统的性能。4.证明:假设R(U)3NF,则有三种可能的情况:1)假设R(U)1NF,由R(U)∈1NF,与假设矛盾;2)假设存在一个非主属性A部分依赖于关键字K,即:KA(AK)由部分依赖的定义可知:必存在K的某个真子集K’,且满足:K’→A(AK’)由R(U)∈BCNF及BCNF的定义可知:K’中必含有关键字。即关键字K中含有另一个关键字K’,这与关键字的定义相矛盾。3)假设存在一个非主属性A传递依赖于关键字K,即存在一个属性集合B,并满足:K→B,BK,BK,B→A由B→A及R(U)∈BCNF可知:B中必含有关键字(设为K’),由关键字的定义可得:K’→U,因为BK’,KU,故B→K。这与BK相矛盾。综上所述,假设不成立,即R(U)∈3NF。证毕。5.答:1)属于第一范式。关键字{A,B},非主属性{D}不完全依赖于关键字。2)BCNF。因为它的每个函数依赖的决定因素都是关键字。3)属于第一范式。关键字{A,D},非主属性{C,B}不完全依赖于关键字。4)属于第一范式。关键字{A,D},非主属性{B}不完全依赖于关键字返回第八章习题 第九章数据库设计与数据库管理1.答:(略)2.答:(略)3.答:(略)4.答:·逻辑设计的基本方法:数据库逻辑设计的主要工作是将从EE-R图转化成指定RDBMS中关系模式。它的主要内容有:1)命名与属性域的处理:关系模式中的命名可以用EE-R图中原有命名,也可另行命名,但是应尽量避免重名。2)非原子属性处理:EE-R图中允许出现非原子属性,关系模式中应符合第一范式故不允许出现非原子属性。非原子属性主要有集合型和元组型。如出现此种情况可以进行转换,转换办法是集合属性纵向展开而元组属性横向展开。3)联系的转换。在一般情况下联系可用关系表示,但是在有些情况下联系可归并到相关联的实体中。4)嵌套的转换:嵌套可以转换成联系,再由联系可转换成关系模式。5)继承的转换。6)规范化:在逻辑设计中还需要对转换得到的关系做规范化验证,使每个关系至少满足第三范式。7)RDBMS:为满足RDBMS在性能、存储空间等方面的要求,以及适应RDBMS限制条件而做的修改,它们包含如下内容:·减少联接运算的次数以改善性能。·调整关系大小,使每个关系的数据量保持在合理水平,从而可以提高存取效率。·尽量采用快照(snapshot)。·关系视图的设计:又称外模式设计。关系视图是在关系模式基础上所设计的直接面向操作用户的视图,它可以根据用户需求随时构作。关系视图的作用大致有如下几点:(1)提供数据逻辑独立性。(2)能适应用户对数据的不同需求。(3)有一定数据保密功能。5.答:数据库的物理设计大致有如下几种:1)索引设计:索引一般建立在关系的属性上,它主要用于常用的或重要的查询中。符合建立索引的条件有:(1)主关键字及外关键字一般都建立索引,以加快实体间连接速度,有助于引用完整性检查以及唯一性检查。(2)以读为主的关系表尽可能多的建立索引。(3)有些查询可以从索引直接得到结果,不必访问数据块,此种查询可以建立索引。2)集簇设计:在特定情况下可考虑建立集簇:(1)通过集簇访问是对应表的主要应用时可考虑建立集簇。(2)集簇属性的对应数据量不能太少也不宜过大。 (1)集簇属性的值应相对稳定以减少修改集簇所硬气的维护开销。2)分区设计:分区设计的指导性原则是:(1)减少访盘冲突,提高I/O并行性。(2)分散热点数据,均衡I/O负担。(3)保证关键数据快速访问,缓解系统瓶颈。6.答:在软件工程中,软件的生命周期指的是从软件的设计、编码、调试、运行,直到消亡的全过程。而在数据库中,数据库设计的生命周期法仅仅指需求分析、概念设计、逻辑设计和物理设计这四个阶段,并不包括数据库的实现、调试、运行和维护等其它阶段。7.答:从调查用户单位着手,深入了解用户单位的数据流程,数据使用情况,数据的数量、流量、流向、性质等信息并作出分析,最终按一定规范要求以文档形式写出数据的需求说明书的过程叫需求分析,最终依据一定的规范要求编写出来的数据需求分析说明文档称为需求说明书。8.答:传统的E-R模型的描述能力不足,不能描述实体的嵌套定义关系和继承关系。同时,在概念模型的视图设计方法中,首先是根据每个用户或用户组设计局部的用户视图,并在局部用户视图设计的基础上进行视图集成,而EE-R方法更有利于视图的集成工作。9.答:数据库管理一般包换如下一些内容:1)数据库的建立。包换两部分内容:数据模式的建立及数据加载。·数据模式建立数据模式由DBA负责建立,DBA利用RDBMS中的DDL语言定义数据库名,定义表及相应属性,定义主关键字、定义索引、集簇、定义完整性约束、定义拥护访问权限,申请空间资源,定义分区等,此外还定义视图。·数据加载在数据模式定义后即可加载数据,DBA可以编制加载程序将外界数据加载至数据模式内,从而完成数据库的建立。2)数据库的调整。数据库的调整一般由DBA完成,包换下面一些内容:·调整关系模式与视图使之更能适应用户的需求。·调整索引与集簇是数据库性能与效率更佳。·调整分区、调整数据库缓冲区大小以及调整并发度使数据库物理性能更好。3)数据库的重组。即数据库运行一段时间后,需要对数据库进行重新整理,重新调整存储空间。通常是先作数据卸载,然后再重新加载数据从而达到数据重组的目的。4)数据库的安全性控制与完整性控制·安全性控制o通过权限管理、口令、跟踪以审计等RDMBS的功能以保证数据的安全。o通过行政手段,并建立一定规章制度以确保数据安全。o数据库应备有多个副本并保存在不同的安全地点。o应采取措施防止病毒入侵并能即使消毒。·完整性控制o通过完整性约束检查等RDBMS的功能以保证数据的正确性。o建立必要的规章制度进行数据的按时正确采集及校验。5)数据库的故障恢复数据库的故障恢复一般由DBA负责执行。6)数据库监控 DBA需随时观察数据库的动态变化,并在发生错误,故障或产生不适应情况时随时采取措施,如数据库死锁、对数据库的误操作等,同时还需监视数据库的性能变化,在必要时对数据库做调整。10.答:DBA的任务是:·参与数据库设计的各个阶段的工作,对数据库有足够的了解;·负责数据库的建立、调整与重组;·维护数据的安全性、完整性;·负责数据库的故障恢复;·对数据库作监控,及时处理数据库运行中的突发事件并对其性能作调整;·与用户保持联系,了解用户需求,倾听用户反映,帮助他们解决有关技术问题,编写技术文件,指导用户正确使用数据库;·制定必要的规章制度,并组织实施返回第九章习题'