完整版数据库系统原理与设计第2版课后习题详细答案文档格式.docx
《完整版数据库系统原理与设计第2版课后习题详细答案文档格式.docx》由会员分享,可在线阅读,更多相关《完整版数据库系统原理与设计第2版课后习题详细答案文档格式.docx(83页珍藏版)》请在冰豆网上搜索。
A.完整性约束说明B.定义数据库模式
C.数据库安全D.数据库管理系统设计
选择题答案:
(1)C
(2)A(3)D(4)C(5)B
(6)A(7)C(8)A(9)C(10)D
二、简答题
1.试述数据、数据库、数据库系统、数据库管理系统的概念。
数据:
描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
*解析:
在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据等。
现在计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500这个数字可以表示一件物品的价格是500元,也可以表示一个学术会议参加的人数有500人。
还可以表示一袋奶粉重500克。
数据库:
数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
简单地讲,数据数据库数据具有永久储存、有组织和可共享三个特点。
数据模型是数据库的核心概念。
每个数据库中数据的都是按照某一种数据模型来组织的。
数据库系统:
数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库系统和数据库是两个概念。
数据库系统是一个人-机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”。
不要引起混淆。
数据库管理系统:
数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据。
DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
DBMS是一个大型复杂的软件系统。
是计算机中的基础软件。
目前,专门研制DBMS的厂商及其研制的DBMS产品很多。
著名的有美国IBM公司的DB2关系数据库管理系统、IMS层次数据库管理系统;
美国ORACLE公司的ORACLE关系数据库管理系统;
SYBASE公司的SYBASE关系数据库管理系统;
美国微软公司的SQLSERVER关系数据库管理系统等等。
2.使用数据库系统有什么好处?
使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。
为什么有这些好处,可以结合第5题来回答。
使用数据库系统可以大大提高应用开发的效率。
因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。
用一个通俗的比喻,使用了DBMS就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。
开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。
还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。
数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。
从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。
使用数据库系统可以减轻数据库系统管理人员维护系统的负担。
因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。
总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。
读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。
3.试述文件系统与数据库系统的区别和联系。
文件系统与数据库系统的区别:
文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。
数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。
读者可以参考《概论》书中表1.1中的有关内容。
文件系统与数据库系统的联系是:
文件系统与数据库系统都是计算机系统中管理数据的软件。
文件系统是操作系统的重要组成部分,而DBMS是独立于操作系统的软件。
但是DBMS是在操作系统的基础上实现的。
数据库中数据的组织和存储是通过操作系统中文件系统来实现的。
读者可以参考书中第十一章《数据库管理系统》。
或者说,读者进一步学习数据库管理系统实现的有关课程(第十一章只是DBMS实现技术的概述)后可以对本题有深入的理解和全面的解答。
因为DBMS的实现与操作系统中的文件系统是紧密相关的。
例如,数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作。
所以在DBMS实现中数据库物理组织的基本问题是如何利用或如何选择操作系统提供的基本的文件组织方法。
这里我们就不具体展开了。
4.举出适合用文件系统而不是数据库系统的例子;
再举出适合用数据库系统的应用例子。
·
适用于文件系统而不是数据库系统的应用例子
数据的备份,软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。
早期功能比较简单、比较固定的应用系统也适合用文件系统。
适用于数据库系统而非文件系统的应用例子
目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。
如一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等等),还比如学校的学生管理系统,人事管理系统,图书馆的图书管理系统等等都适合用数据库系统。
希望同学们能举出自己了解的应用例子。
5.试述数据库系统的特点。
数据库系统的主要特点有:
一、数据结构化
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
注意这里“整体”两个字。
在数据库系统中,数据不再针对某一个应用,而是面向全组织,具有整体的结构化。
不仅数据是结构化的,而且数据的存取单位即一次可以存取数据的大小也很灵活。
可以小到某一个数据项(如一个学生的姓名),大到一组记录(成千上万个学生记录)。
而在文件系统中,数据的存取单位只有一个:
记录。
如一个学生的完整记录。
二、数据的共享性高,冗余度低,易扩充
数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。
数据共享可以大大减少数据冗余,节约存储空间,同时还能够避免数据之间的不相容性与不一致性。
所谓“数据面向某个应用”是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用。
可以说数据是某个应用的“私有资源”。
所谓“弹性大”是指系统容易扩充也容易收缩,即应用增加或减少时不必修改整个数据库的结构,或者只要做很少的修改。
我们可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。
三、数据独立性高
数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
所谓“独立性”即相互不依赖。
数据独立性是指数据和程序相互不依赖。
即数据的逻辑结构或物理结构改变了,程序不会跟着改变。
数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,简化了应用程序的编制,大大减少了应用程序的维护和修改。
四、数据由DBMS统一管理和控制
数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
为此,DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。
DBMS数据控制功能包括四个方面:
数据的安全性保护:
保护数据以防止不合法的使用造成的数据的泄密和破坏;
数据的完整性检查:
将数据控制在有效的范围内或保证数据之间满足一定的关系;
并发控制:
对多用户的并发操作加以控制和协调,保证并发操作的正确性;
数据库恢复:
当计算机系统发生硬件故障、软件故障,或者由于操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时,能将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)。
下面我们可以得到“什么是数据库”的一个定义:
数据库是长期存储在计算机内有组织的大量的共享的数据集合。
它可以供各种用户共享,具有最小冗余度和较高的数据独立性。
DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。
数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。
6.数据库管理系统的主要功能有哪些?
①数据库定义功能;
②数据存取功能;
③数据库运行管理;
④数据库的建立和维护功能。
7.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
一般地讲,数据模型是严格定义的概念的集合。
这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。
因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
①数据结构:
是所研究的对象类型的集合,是对系统的静态特性的描述。
②数据操作:
是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
③数据的约束条件:
是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
数据模型是数据库系统中最重要的概念之一。
同学们必须通过《概论》的学习真正掌握
数据模型的概念和作用。
数据模型是数据库系统的基础。
任何一个DBMS都以某一个数据模型为基础,或者说支持某一个数据模型。
数据库系统中模型有不同的层次。
根据模型应用的不同目的,可以将模型分成两类或说两个层次:
一是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;
另一是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据。
一般需要有严格的形式化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。
8.试述概念模型的作用。
概念模型实际上是现实世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
9.定义并解释概念模型中以下术语:
实体,实体型,实体集,属性,码,实体联系图(E-R图)
实体:
客观存在并可以相互区分的事物叫实体。
实体型:
具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
实体集:
同型实体的集合称为实体集。
属性:
实体所具有的某一特性,一个实体可由若干个属性来刻画。
码:
唯一标识实体的属性集称为码。
实体联系图:
E-R图提供了表示实体型、属性和联系的方法:
实体型:
用矩形表示,矩形框内写明实体名。
属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
10.试给出三个实际部门的E-R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。
第二章关系数据库
1.下面的选项不是关系数据库基本特征的是()。
A.不同的列应有不同的数据类型
B.不同的列应有不同的列名
C.与行的次序无关
D.与列的次序无关
2.一个关系只有一个()。
A.候选码B.外码C.超码D.主码
3.关系模型中,一个码是()。
A.可以由多个任意属性组成
B.至多由一个属性组成
C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成
D.以上都不是
4.现有如下关系:
患者(患者编号,患者姓名,性别,出生日起,所在单位)
医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)
其中,医疗关系中的外码是()。
A.患者编号B.患者姓名
C.患者编号和患者姓名D.医生编号和患者编号
5.现有一个关系:
借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是()。
A.书号B.读者号
C.书号+读者号D.书号+读者号+借期
6.关系模型中实现实体间N:
M联系是通过增加一个()。
A.关系实现B.属性实现C.关系或一个属性实现D.关系和一个属性实现
7.关系代数运算是以()为基础的运算。
A.关系运算B.谓词演算C.集合运算D.代数运算
8.关系数据库管理系统应能实现的专门关系运算包括()。
A.排序、索引、统计B.选择、投影、连接
C.关联、更新、排序D.显示、打印、制表
9.五种基本关系代数运算是()。
A.∪-×
σπ
B.∪-σπ
C.∪∩×
D.∪∩σπ
10.关系代数表达式的优化策略中,首先要做的是()。
A.对文件进行预处理
B.尽早执行选择运算
C.执行笛卡尔积运算
D.投影运算
11.关系数据库中的投影操作是指从关系中()。
A.抽出特定记录B.抽出特定字段
C.建立相应的影像D.建立相应的图形
12.从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是()操作。
A.投影B.联接C.选择D.复制
13.关系代数中的联接操作是由()操作组合而成。
A.选择和投影B.选择和笛卡尔积
C.投影、选择、笛卡尔积D.投影和笛卡尔积
14.自然联接是构成新关系的有效方法。
一般情况下,当对关系R和S是用自然联接时,要求R和S含有一个或者多个共有的()。
A.记录B.行C.属性D.元组
15.假设有关系R和S,在下列的关系运算中,()运算不要求:
“R和S具有相同的元数,且它们的对应属性的数据类型也相同”。
A.R∩SB.R∪SC.R-SD.R×
S
16.假设有关系R和S,关系代数表达式R-(R-S)表示的是()。
17.下面列出的关系代数表达是中,那些式子能够成立()。
ⅰ.σf1(σf2(E))=σf1∧f2(E)
ⅱ.E1∞E2=E2∞E1
ⅲ.(E1∞E2)∞E3=E1∞(E2∞E3)
ⅳ.σf1(σf2(E))=σf2(σf1(E))
A.全部B.ⅱ和ⅲC.没有D.ⅰ和ⅳ
18.下面四个关系表达式是等价的,是判别它们的执行效率()。
E1=πA(σB=C∧D=E′(R×
S))
E2=πA(σB=C(R×
σD=E′(S))
E3=πA(R∞B=CσD=E′(S))
E3=πA(σD=E′(R∞B=CS))
A.E3最快B.E2最快C.E4最快D.E1最快
19.有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是()。
ⅰ.πS_ID,SCORE(σage>
22(SC))
ⅱ.σage>
22(πS_ID,SCORE(SC))
ⅲ.πS_ID,SCORE(σage>
22(πS_ID,SCORE,AGE(SC)))
A.ⅰ和ⅱB.只有ⅱ正确C.只有ⅰ正确D.ⅰ和ⅲ正确
选择题答案:
(1)A
(2)D(3)C(4)A(5)D
(6)A(7)C(8)B(9)A(10)B
(11)B(12)C(13)B(14)C(15)D
(16)A(17)C(18)A(19)D
二、简答题
1.试述关系模型的三个组成部分。
2.试述关系数据语言的特点和分类。
3.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数完成如下查询:
(1)求供应工程J1零件的供应商号码SNO;
(2)求供应工程J1零件P1的供应商号码SNO;
(3)求供应工程J1零件为红色的供应商号码SNO;
(4)求没有使用天津供应商生产的红色零件的工程号JNO;
(5)求至少用了供应商S1所供应的全部零件的工程号JNO。
4.定义并理解下列术语,说明它们之间的联系与区别:
(1)域,笛卡尔积,关系,元组,属性
(2)主码,候选码,外码
(3)关系模式,关系,关系数据库
5.试述关系模型的完整性规则。
在参照完整性中,为什么外码属性的值有时也可以为空?
什么情况下才可以为空?
6.试述等值连接与自然连接的区别和联系。
7.关系代数的基本运算有哪些?
8.试用关系代数的基本运算来表示其他运算。
第三章SQL语言
1.SQL语言是()的语言,容易学习。
A.过程化B.非过程化
C.格式化D.导航式
2.SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是()。
A.SELECTB.INSERT
C.UPDATED.DELETE
3.在视图上不能完成的操作是()。
A.更新视图B.查询
C.在视图上定义新的表D.在视图上定义新的视图
4.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。
A.数据查询B.