数据库课后作业答案.docx
《数据库课后作业答案.docx》由会员分享,可在线阅读,更多相关《数据库课后作业答案.docx(27页珍藏版)》请在冰豆网上搜索。
数据库课后作业答案
第一章:
绪论(P37)
1.试述数据、数据库、数据库系统、数据库管理系统的概念。
(1)数据(Data):
描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、lE文等。
(2)数据库(DataBase,简称DB):
数据库是长期储存在计算机内的、有组织
的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
(3)数据库系统(DataBaseSytem,简称DBS):
数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
(4)数据库管理系统(DataBaseManagementSytem,简称DBMS):
数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
5.叙述数据库系统的特点:
(1).数据结构化;
(2)数据的共享性高,冗余度低,易扩充;
(3)数据独立性高;
(4)数据由DBMS统一管理和控制
6.数据库管理系统的主要功能有哪些?
(1)数据库定义功能:
(2)数据存取功能:
(3)数据库运行管理:
(4)数据库的建立和维护功能。
7.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
答:
数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提
供信息表示和操作于段的形式构架。
这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。
因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
(1)数据结构:
是所研究的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:
是指对数据库中各种对象(型)的实例(值)允许进行的操作
的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
(3)数据的约束条件:
是一组完整性规则的集合。
完整性规则是给定的数
据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数
据库状态以及状态的变化,以保证数据的正确、有效、相容。
19.试述关系数据库的特点.
答:
关系数据模型具有下列优点:
(1)关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的o
(2)关系模型的概念单一,无论实体还是实体之间的联系都用关系表示,操
作的对象和操作的结果都是关系,所以其数据结构简单、清晰,用户易懂易用。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的
安全保密性,也简化了程序员的工作和数据库开发建立的工作。
当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户
透明,查询效率往往不如非关系数据模型。
因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。
20.试述数据库系统三级模式结构,这种结构的优点是什么?
答:
数据库系统的三级模式结构由外模式、模式和内模式组成。
(参见书上图
1.29)外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图o模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:
外模式/模式映像和模式/内模式映像。
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
22.什么叫数据与程序的物理独立性?
什么叫数据与程序的逻辑独立性?
为什么数据库系统具有数据与程序的独立性?
答:
数据与程序的逻辑独立性:
当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性o
数据与程序的物理独立性:
当数据库的存储结构改变了,由数据库管理员对
模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
24.DBA的职责是什么?
答:
负责全面地管理和控制数据库系统。
具体职责包括:
①决定数据库的信息内容和结构:
②决定数据库的存储结构和存取策略:
③定义数据的安全性要求和完整性约束条件:
④监督和控制数据库的使用和运行;
⑤改进和重组数据库系统。
第二章:
关系数据库(P74)
1.试述关系模型的三个组成部分。
答:
关系模型有关系数据结构、关系操作集合和关系完整性约束三部分组成.
2.试述关系数据语言的特点和分类。
答:
关系数据语言可以分为三类:
关系代数语言例如ISBL
关系演算语言语言:
1.元组关系演算语.
2.域关系演算语言例如QBE
3.具有关系代数和关系演算双重特点的语言例如SQL
这些关系数据语言的共同特点是:
1.具有完备的表达能力;
2.是非过程化的集合
3.操作语言:
功能强;能够嵌入高级语言中使用.
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO:
πSno(σSno=‘J1’(SPJ))
2)求供应工程J1零件P1的供应商号码SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))
第三章:
关系数据库标准语言SQL(P127)
1.试述SQL语言的特点。
(1)综合统一。
(2)高度非过程化。
(3)面向集合的操作方式。
(4)以同一种语法结构提供两种使用方式。
(5)语言简捷,易学易用。
3.用sQL语句建立第二章习题5中的4个表。
答:
对于S表:
S(SNO,SNAME,STATUS,CITY);
建S表:
CREATETABLES(SnoC
(2)UNIQUE,SnameC(6),StatusC
(2),CityC(4));
对于P表:
P(PNO,PNAME,COLOR,WEIGHT);
建P表:
CREATETABLEP(PnoC
(2)UNIQUE,PnameC(6),COLORC
(2),WEIGHTINT);
对于J表:
J(JNO,JNAME,CITY);
建J表:
CREATETABLEJ(JnoC
(2)UNlQUE,JNAMEC(8),CITYC(4))
对于sPJ表:
sPJ(sNo,PNo,JNo,QTY);
建SPJ表:
SPJ(SNO,PNO,JNO,QTY)
CREATETABLESPJ(SnoC
(2),PnoC
(2),JNOC
(2),QTYINT))
5.针对习题3中的四个表试用SQL语言完成以下各项操作:
(1)找出所有供应商的姓名和所在城市。
SELECTSNAME,CITYFROMS
(2)找出所有零件的名称、颜色、重量。
SELECTPNAME,COLOR,WEIGHTFROMP
(3)找出使用供应商S1所供应零件的工程号码。
SELECTDISTJNOFROMSPJWHERESNO='S1'
(4)找出工程项目J2使用的各种零件的名称及其数量。
SELECTPNAME,QTYFROMSPJ,P
WHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'
(5)找出上海厂商供应的所有零件号码。
SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海'
(6)出使用上海产的零件的工程名称。
SELECTJNAMEFROMSPJ,S,J
WHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO
(7)找出没有使用天津产的零件的工程号码。
注意:
SELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY='天津')适用于JNO是唯一或不唯一的情况.
注意:
SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY<>'天津'适用于JNO是唯一的情况
(8)把全部红色零件的颜色改成蓝色。
UPDATEPSETCOLOR='蓝'WHERECOLOR='红'
(9)由S5供给J4的零件P6改为由S3供应。
UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6'
(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
A、DELETEFROMSWHERESNO=’S2’
B、DELETEFROMSPJWHERESNO=‘S2’
(11)请将(S2,J6,P4,200)插入供应情况关系。
INSERTINTOSPJVALUES(‘S2’,‘J6’,‘P4’,200)
6.什么是基本表?
什么是视图?
两者的区别和联系是什么?
答:
基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
视图是从一个或几个基本表导出的表。
视图本身不独立存储在数据库中,是一个虚表。
即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再走义视图。
7.试述视图的优点。
(1)视图能够简化用户的操作:
(2)视图使用户能以多种角度看待同一数据:
(3)视图对重构数据库提供了一定程度的逻辑独立性:
(4)视图能够对机密数据提供安全保护o
8.所有的视图是否都可以更新?
为什么?
答:
不是。
视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。
因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.
11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。
CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJ,J
WHERESPJ.JNO=J.JNOANDJ.JNAME='三建'
针对该视图VSP完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量。
SELECTDISTPNO,QTYFROMVSP
(2)找出供应商S1的供应情况。
SELECTDIST*FROMVSPWHERESNO='S1'
第四章:
数据库安全性(P148)
1.什么是数据库的安全性?
答:
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
2.数据库安全性和计算机系统的安全性有什么关系?
答:
安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安
全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。
6.什么是数据库中的自主存取控制方法和强制存取控制方法?
答:
自主存取控制方法:
定义各个用户对不同数据对象的存取权限。
当用户对数据库访问时首先检查用户的存取权限o防止不合法用户对数据库的存取。
强制存取控制方法:
每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。
系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
第五章:
数据库完整性(P164)
1.什么是数据库的完整性?
答:
数据库的完整性是指数据的正确性和相容性o
2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?
答:
数据的完整性和安全性是两个不同的概念,但是有一定的联系o前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(GarbageInGarbageOut)所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取o也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据
3.什么是数据库的完整性约束条件?
可分为哪儿类?
完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:
静态列级约束、静态元组约束、静态关系约束、动态列级
约束、动态元组约束、动态关系约束o
4.DBMS的完整性控制机制应具有哪些功能?
DBMS的完整性控制机制应具有三个方面的功能:
(1)定义功能,即提供定义完整性约束条件的机制;
(2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件:
(3)违约反应:
如果发现用户的操作请求使数据违背了完整性约束条件,则
采取一定的动作来保证数据的完整性。
第六章:
关系数据理论(195)
1.理解并给出下列术语的定义:
函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All一key)、1NF、ZNF、3NF、BcNF、多值依赖、4NF。
定义1:
设R(U)是属性集U上的关系模式。
X,Y是属性集U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作XY。
(即只要X上的属性值相等,Y上的值一定相等。
)
术语和记号:
XY,但Y不是X的子集,则称XY是非平凡的函数依赖。
若不特别声明,总是讨论非平凡的函数依赖。
XY,但Y是X的子集,则称XY是平凡的函数依赖。
若XY,则X叫做决定因素(Determinant)。
若XY,YX,则记作XY。
若Y不函数依赖于X,则记作XY。
定义2:
在R(U)中,如果XY,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖
若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖
定义3:
若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。
定义4:
若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF。
(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。
定义5:
关系模式R中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得XY,YX,YZ成立,则称R∈3NF。
定义6:
关系模式R∈1NF。
若XY且Y不是X的子集时,X必含有码,则R∈BCNF。
定义7:
关系模式R∈1NF,如果对于R的每个非平凡多值依赖XY(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R∈4NF。
第七章:
数据库设计(P234)
1.试述数据库设计过程。
(1)需求分析:
(2)概念结构设计:
(3)逻辑结构设计:
(4)数据库物理设计:
(5)数据库实施:
(6)数据库运行和维护。
2.试述数据库设计过程各个阶段上的设计描述。
(1)需求分析:
准确了解与分析用户需求(包括数据与处理)。
(2)概念结构设计:
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
(3)逻辑结构设计:
将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
(4)数据库物理设计:
为逻辑数据模型选取一个最适合应用环境的物理结
构(包括存储结构和存取方法)。
(5)数据库实施:
设计人员运用DBMS提供的数据语言、工具及宿主语言,
根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
(6)数据库运行和维护:
在数据库系统运行过程中对其进行评价、调整与修改。
4.试述数据库设计的特点。
答:
数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。
其主要特点有:
(1)数据库建设是硬件、软件和干件(技术与管理的界面)的结合。
(2)从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。
5.需求分析阶段的设计目标是什么?
调查的内容是什么?
答:
需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(于工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的内容是"数据"和"处理",即获得用户对数据库的如下要求:
(1)信息要求
(2)处理要求(3)安全性与完整性要求。
7.什么是数据库的概念结构?
试述其特点和设计策略。
答:
概念结构是信息世界的结构,即概念模型,其主要特点是:
(1)能真实、充分地反映现实世界
(2)易于理解,
(3)易于更改
(4)易于向关系、网状、层次等各种数据模型转换。
概念结构的设计策略通常有:
1)自顶向下,2)自底向上3)逐步扩张4)混合策略
9.试述数据库概念结构设计的重要性和设计步骤。
答:
重要性:
数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。
设计步骤:
概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:
第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构
10.为什么要视图集成?
视图集成的方法是什么?
答:
在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。
首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机地融合起来,综合成一个系统的总视图。
这样,设计洁晰,由简到繁。
由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。
因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用
14.规范化理论对数据库设计有什么指导意义?
规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础
15.试述数据库物理设计的内容和步骤。
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依
赖于给定的DBMS。
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。
数据库的物理设计步骤通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构:
(2)对物理结构进行评价,评价的重点是时间效率和空间效率o
详细参考《概论》上6.5.10
17.什么是数据库的再组织和重构造?
为什么要进行数据库的再组织和重构造?
数据库的再组织是指:
按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。
数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。
数据库的再组织是不修改数据库的模式和内模式的。
进行数据库的再组织和重构造的原因:
数据库运行一段时间后,由于记录
不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。
DBMS一般都提供用于数据重组织的实用程序。
数据库应用环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。
这就要进行数据库重构造。
第九章:
关系查询处理和查询优化(P275)
1.试述查询优化在关系数据库系统中的重要性和可能性。
答:
重要性:
关系系统的查询优化既是RDBMS实现的关键技术又是关系系统的优点所在。
它减轻了用户选择存取路径的负担。
用户只要提出“干什么”,不必指出“怎么干”。
查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化’夕做得更好。
可能性:
这是因为:
(l)优化器可以从数据字典中获取许多统计信息,例如关系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引(B+树索引还是HASH索引或惟一索引或组合索引)等。
优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。
(2)如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。
在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。
(3)优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。
(4)优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。
系统的自动优化相当于使得所有人都拥有这些优化技术。
3.试述查询优化的一般准则。
答:
下面的优化策略一般能提高查询效率:
(l)选择运算应尽可能先做;
(2)把投影运算和选择运算同时进行;
(3)把投影同其前或其后的双目运算结合起来执行;
(4)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算;(5)找出公共子表达式;
(6)选取合适的连接算法。
4.试述查询优化的一般步骤。
答:
各个关系系统的优化方法不尽相同,大致的步骤可以归纳如下:
(l)把查询转换成某种内部表示,通常用的内部表示是语法树。
(2)把语法树转换成标准(优化)形式。
即利用优化算法,把原始的语法树转换成优化的形式。
(3)选择低层