数据库基础教程课后习题答案顾韵华.docx
《数据库基础教程课后习题答案顾韵华.docx》由会员分享,可在线阅读,更多相关《数据库基础教程课后习题答案顾韵华.docx(23页珍藏版)》请在冰豆网上搜索。
数据库基础教程课后习题答案顾韵华
数据库基础教程课后习题答案(顾韵华)
习题1
1、简述数据库系统的特点。
答:
数据库系统的特点有:
1)数据结构化
在数据库系统中,采用统一的数据模型,将整个组织的数据组织为一个整体;数据不再仅面向特定应用,而是面向全组织的;不仅数据内部是结构化的,而且整体是结构化的,能较好地反映现实世界中各实体间的联系。
这种整体结构化有利于实现数据共享,保证数据和应用程序之间的独立性。
2)数据共享性高、冗余度低、易于扩充
数据库中的数据能够被多个用户、多个应用程序共享。
数据库中相同的数据不会多次重复出现,数据冗余度降低,并可避免由于数据冗余度大而带来的数据冲突问题。
同时,当应用需求发生改变或增加时,只需重新选择不同的子集,或增加数据即可满足。
3)数据独立性高
数据独立性是由DBMS的二级映像功能来保证的。
数据独立于应用程序,降低了应用程序的维护成本。
4)数据统一管理与控制
数据库中的数据由数据库管理系统(DBMS)统一管理与控制,应用程序对数据的访问均经由DBMS。
DBMS提供四个方面的数据控制功能:
并发访问控制、数据完整性、数据安全性保护、数据库恢复。
2、什么是数据库系统?
答:
在计算机系统上引入数据库技术就构成一个数据库系统(DataBaseSystem,DBS)。
数据库系统是指带有数据库并利用数据库技术进行数据管理的计算机系统。
DBS有两个基本要素:
一是DBS首先是一个计算机系统;二是该系统的目标是存储数据并支持用户查询和更新所需要的数据。
3、简述数据库系统的组成。
答:
数据库系统一般由数据库、数据库管理系统(及其开发工具)、数据库管理员(DataBaseAdministrator,DBA)和用户组成。
4、试述数据库系统的三级模式结构。
这种结构的优点是什么?
答:
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,同时包含了二级映像,即外模式/模式映像、模式/内模式映像,如下图所示。
应用1应用2应用3应用4应用5?
?
外模式A外模式B?
?
外模式/模式映像模式模式/内模式映像模式数据库
数据库系统的这种结构具有以下优点:
(1)保证数据独立性。
将外模式与模式分开,保证了数据的逻辑独立性;将内模式与模式分开,保证了数据的物理独立性。
(2)有利于数据共享,减少了数据冗余。
(3)有利于数据的安全性。
不同的用户在各自的外模式下根据要求操作数据,只能对
限定的数据进行操作。
(4)简化了用户接口。
按照外模式编写应用程序或输入命令,而不需了解数据库全局逻辑结构和内部存储结构,方便用户系统。
5、什么是数据的物理独立性与逻辑独立性?
并说明其重要性。
答:
(1)数据的物理独立性是指数据的物理结构(包括存储结构、存取方式等)的改变,存储设备的更换,物理存储的更换,存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。
(2)数据的逻辑独立性是指数据库总体逻辑结构的改变,如修改数据模式,增加新的数据类型、改变数据间联系等,不需要相应修改应用程序。
(3)数据的独立性使得数据库中数据独立于应用程序而不依赖于应用程序,也就是说数据的逻辑结构、存储结构与存取方式的改变不影响应用程序。
相应的,数据的独立性也使得应用程序的编制不再依赖于数据的物理和逻辑结构,提高了应用程序的可移植性与鲁棒性。
从理论上说,数据的独立性可以使数据的组织和应用程序的编制完全分离。
6、数据库管理系统的功能主要有哪几方面?
答:
数据库管理系统的主要功能包括以下几个方面:
(1)有效地组织、存取和维护数据。
(2)数据定义功能。
DBMS通过数据定义语言(DataDefinitionLanguage,DDL)定义数据库的各类数据对象,包括数据的结构、数据约束条件等。
(3)数据操纵功能。
DBMS提供数据操纵语言(DataManipulationLanguage,DML),用户使用DML实现对数据库中的数据进行查询、增加、删除和修改等操作。
(4)数据库的事务管理和运行管理。
DBMS提供数据控制语言(DataControlLanguage,DCL),数据库管理员使用DCL实现对数据库的安全性保护、完整性检查、并发控制、数据库恢复等数据库控制功能。
(5)数据库的建立和维护功能。
(6)其他功能。
包括:
数据库初始数据输入与转换、数据库转储、数据库重组、数据库性能监视与分析、数据通信等,这些功能通常由DBMS提供的实用程序或管理工具完成。
7、数据库系统的人员主要包括哪些?
答:
数据库系统的人员主要包括:
数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户。
8、什么是数据模型?
答:
数据模型(DataModel)是一种抽象模型,是对现实世界数据特征的抽象。
9、什么是概念模型?
E-R模型的三要素是什么?
答:
概念模型是面向用户的模型,是现实世界到机器世界的一个中间层次。
其基本特征是按用户观点对信息进行建模。
概念模型是现实世界到信息世界的抽象,是数据库设计人员与用户进行交流的工具。
E-R模型的三要素为:
(1)实体(entity)
实体是指客观存在并可相互区别的事物。
实体可以是人、事或物,也可以是抽象的概念。
例如:
一件商品、一个客户、一份订单等都是实体。
(2)属性(attribute)实体通常由若干特征,每个特征称为实体的一个属性。
属性刻画了实体在某方面的特性。
例如:
商品实体的属性可以有商品编号、商品类别、商品名称、生产商等。
(3)联系(relationship)
现实世界中事物之间的联系反映在E-R模型中就是实体间的联系。
例如,订单就是客
户和商品之间的联系。
10、举例说明联系的三种类型。
答:
一对一联系(1:
1):
如果对于实体集A中的任一实体,在实体集B中至多有一个实体与之联系;反之亦然,则称实体集A与实体集B具有一对一联系,记为1:
1。
例如:
在公司中,一个部门只有一个经理,而一个经理只在一个部门任职,则部门与经理之间具有一对一联系。
一对多联系(1:
n):
如果对于实体集A中的任一实体,在实体集B中有n(n≥1)个实体与之联系;而对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:
n。
例如:
在公司中,一个部门可有多个职工,而一个职工只在一个部门任职,则部门与职工之间具有一对多联系。
多对多联系(m:
n):
如果对于实体集A中的任一实体,在实体集B中有n(n≥1)个实体与之联系;而对于实体集B中的每一个实体,实体集A中有m(m≥1)个实体与之联系,则称实体集A与实体集B具有多对多联系,记为m:
n。
例如:
在商品订购中,一个客户可订购多种商品,而一种商品也可被多个客户订购,则客户与商品之间具有多对多联系。
11、什么是逻辑数据模型?
逻辑数据模型的三要素是什么?
答:
逻辑数据模型是数据库管理系统呈现给用户的数据模型,即用户从数据库中看到的数据组织形式。
逻辑数据模型的三要素为:
(1)数据结构
数据结构是对系统静态特性的描述,主要描述数据库组成对象以及对象之间的联系。
数据结构是刻画数据模型最重要的方面。
因此在数据库系统中,通常按照其数据结构的类型来命名数据模型。
主要的数据模型有层次模型、网状模型和关系模型。
(2)数据操作
数据操作指对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则,它是对数据库动态特性的描述。
数据库中的数据操作主要分为查询、更新两大类,其中数据更新主要是指对数据记录的增、删、改。
数据模型需要定义这些操作的语义、操作符号、操作规则及实现操作的相关语句。
(3)完整性约束
完整性约束是指对数据的一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其联系所具有的制约和存储规则,用以限定符合数据模型的数据库状态以及状态的变化,保证数据的正确、有效、相容。
12、简述关系模型的特点。
答:
关系模型主要有以下特点:
(1)关系模型建立在严格的数学基础之上。
(2)数据结构简单清晰,用户易懂易用。
关系模型的数据结构虽然简单,但却能表达丰富的语义,能够较好地描述现实世界的实体以及实体间的各种联系。
(3)数据物理存取路径对用户是透明的,有更高的数据独立性、更好的数据安全性。
习题2
1、解释以下术语:
关系、元组、属性、码、域、分量、关系模式。
答:
(1)关系:
一个关系(relation)指一张二维表。
(2)元组:
一个元组(tuple)指二维表中的一行。
(3)属性:
一个属性(attribute)二维表中的一列,表中每列均有名称,即属性名。
(4)码:
码(key)也称为键、关键字、关键码,指表中可惟一确定元组的属性或属性
组合。
(5)域:
域(domain)指属性的取值范围。
(6)分量:
分量指元组中的一个属性值。
(7)关系模式:
关系模式是对关系“型”的描述,通常表示为:
关系名(属性1,…,属性n)。
2、解释关系数据库的“型”和“值”。
答:
关系数据库的型即关系数据库模式,是对关系数据库结构的描述。
关系数据库模式包括若干域的定义以及在这些域上定义的若干关系模式。
通常以关系数据库中包含的所有关系模式的集合来表示关系数据库模式。
关系数据库的值是由关系数据库模式中的各关系模式在某一时刻对应的关系的集合。
3、解释空值的含义。
答:
在关系元组中允许出现空值,空值表示信息的空缺,即未知的值或不存在值。
4、候选码应满足哪两个性质?
答:
候选码应满足惟一性和最小性两个性质:
(1)惟一性。
对关系R的任两个元组,其在属性集K上的值是不同的。
(2)最小性。
属性集K=(Ai,Aj,?
,Ak)是最小集,即若删除K中的任一属性,K都不满足最小性。
5、关系操作的特点是什么?
答:
关系操作的特点是集合操作,即操作的对象和结果都是关系。
6、基本的关系操作包括哪些?
答:
关系模型的基本操作包括查询和更新两大类:
(1)数据查询操作用于对关系数据进行各种检索。
它是一个数据库最基本的功能,通过查询,用户可以访问关系数据库中的数据。
查询可以在一个关系内进行,也可以在多个关系间进行。
关系查询的基本单位是元组分量,查询即定位符合条件的元组。
(2)数据更新操作操作包括插入、删除和修改三种。
数据删除的基本单位为元组,其功能是将指定关系内的指定元组删除。
数据插入的功能在指定关系中插入一个或多个元组。
数据修改实在一个关系中修改指定的元组属性值。
7、关系代数的运算主要包含哪些?
答:
关系代数的运算可分为两类:
(1)传统的集合运算。
其运算是以元组作为集合中元素来进行的,从关系的“水平”方向即行的角度进行。
包括并、差、交和笛卡尔积。
(2)专门的关系运算。
其运算不仅涉及行,也涉及列。
这类运算是为数据库的应用而引进的特殊运算,包括选择、投影、连接和除法等。
8、什么是数据完整性?
如何实现数据完整性?
试述关系完整性规则。
答:
数据完整性是指数据库中的数据在逻辑上的正确性、有效性和相容性。
数据完整性是通过定义一系列完整性约束条件,由DBMS负责检查约束条件来实现的。
关系模型有三类完整性约束规则:
实体完整性、参照完整性和用户定义的完整性。
9、有如下的学生成绩数据库:
Student(学号,姓名,专业名,性别,出生时间,总学分,备注)。
Course(课程号,课程名,开课学期,学时,学分)。
关系模式为:
StuCourse(学号,课程号,成绩)。
试用关系代数表示如下查询:
(1)求专业名为“计算机科学与技术”的学生学号与姓名;
(2)求开课学期为“2”的课程号与课程名;
(3)求修读“计算机基础”的学生姓名。
答:
(1)
(2)(3)
?
?
学号,姓名(?
专业名?
'计算机科学与技术'(Student))(?
开课学期?
'2'(Course))
课程号,课程名?
姓名(Student?
?
(?
学号(StuCourse?
?
(?
课程名?
'计算机基础'(Course)))))
习题3
1、试述SQL的特点与功能。
答:
SQL的特点有:
(1)SQL是一种基于关系代数的数据语言,其理论基础坚实;
(2)SQL是高度非过程化程度的语言,用户只要指出“干什么”而无需指出“怎么干”;(3)SQL集数据定义,操纵与控制于一体,构成一个具有独特风格的一体化语言,此外它还集联机交互与嵌入于一体,使语言能适应广泛的使用环境;
(4)SQL语言功能强,它不但能表示关系代数的所有功能,还具有统计,计算,视图等其它功能;
(5)SQL数据独立性强,它所涉及的物理概念少;(6)SQL语言简洁,易学易用。
SQL的功能包括:
数据定义、数据操纵、数据控制、嵌入式与会话规则。
2、什么是基本表?
什么是视图?
二者有何关系与区别?
答:
关系数据库中的关系在SQL中称为基本表。
视图是从一个或多个基本表(或视图)导出的表。
基本表与视图都采用二维表格结构,都统称为表。
但基本表中的数据(元组)需要有数据库中的物理存储空间,而视图在数据库中只保存其定义信息,其数据并不占用存储空间,而是务。
在数据库中建立索引是为了提高数据查询速度。
7、什么是聚簇索引?
什么是非聚集索引?
答:
聚簇索引(ClusteredIndex)对表的物理数据页中的数据按索引关键字进行排序,然后重新存储到磁盘上,即聚簇索引与数据是一体的。
非聚簇索引(NonclusteredIndex)具有完全独立于数据的索引结构。
8、视图有哪些优点?
答:
使用视图有下列优点:
①为用户集中数据,简化用户的数据查询和处理。
有时用户所需要的数据分散在多个表中,定义视图可将它们集中在一起,从而方便用户的数据查询和处理。
②屏蔽数据库的复杂性。
用户不必了解复杂的数据库中的表结构,并且数据库表的更改也不影响用户对数据库的使用。
③简化用户权限的管理。
只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,也增加了安全性。
④便于数据共享。
各用户不必都定义和存储自己所需的数据,可共享数据库的数据,这样同样的数据只需存储一次。
⑤可以重新组织数据以便输出到其它应用程序中。
9、设有学生成绩数据库XSCJ,其中包含关系如下:
(1)学生关系:
名为Student,描述学生信息。
关系模式为:
Student(学号,姓名,专业名,性别,出生时间,总学分,备注)。
(2)课程关系:
名为Course,描述课程信息。
关系模式为:
Course(课程号,课程名,开课学期,学时,学分)。
(3)学生选课关系:
名为StuCourse,描述学生选课及获得成绩信息。
关系模式为:
StuCourse(学号,课程号,成绩)。
试写出以下操作的SQL语句:
(1)查询专业名为“计算机科学与技术”的学生学号与姓名;
(2)查询开课学期为“2”的课程号与课程名;(3)查询修读“计算机基础”的学生姓名;
(4)查询每个学生已选修课程门数和总平均成绩;
(5)查询所有课程的成绩都在80分以上的学生姓名、学号;
(6)删除在Student,StuCourse中所有学号以“2004”开头的元组;
(7)在学生数据库中建立“计算机科学与技术”专业的学生视图ComputerStu;(8)在视图ComputerStu中查询姓“王”的学生情况。
答:
(1)SELECT学号,姓名
FROMStudent
WHERE专业名='计算机科学与技术'
(2)SELECT课程号,课程名
FROMCourse
WHERE开课学期='2'
(3)SELECT姓名
FROMStudenta,Courseb,StuCoursec
WHEREb.课程号=c.课程号ANDa.学号=c.学号ANDb.课程名='计算机基础'
(4)SELECT学号,COUNT(*),AVG(成绩)
FROMStuCourse
GROUPBY学号
(5)SELECT学号,姓名
FROMStudentWHERE学号IN(SELECT学号
FROMStuCourseGROUPBY学号
HAVINGMIN(成绩)=80)
(6)DELETEFROMStuCourse
WHERES#LIKE'2004%'DELETEFROMStudentWHERES#LIKE'2004%'(7)CREATEVIEWComputerStuAS
SELECT*FROMStudent
WHERE专业名='计算机'
(8)SELECT*
FROMComputerStu
WHERE姓名LIKE'王%'
习题4
1、数据库设计的任务是什么?
答:
数据库设计的基本任务是:
根据一个单位的信息需求,处理需求和数据库的支撑环境(包括数据库管理系统、操作系统和硬件),设计出数据库模式(包括外模式、逻辑(概念)模式和内模式)以及典型的应用程序。
2、数据库应用系统设计分哪几个阶段?
答:
数据库应用系统设计分六个阶段:
系统规划及需求分析阶段,概念设计阶段,逻辑设计阶段,数据库物理设计阶段,应用程序编码、调试、试运行阶段和数据库运行维护阶段。
3、简述数据库逻辑设计的任务和步骤。
答:
数据库逻辑设计的任务是:
把数据库概念设计阶段产生的数据库概念模式转换成数据库管理系统所支持的数据库逻辑模式。
数据库逻辑设计的主要步骤是:
(1)把E-R图转换成关系模式。
(2)对E-R图转换成后形成的关系模式进行规范化和优化。
4、如何把E-R图转换成关系模式?
答:
E-R图转换成关系模式主要涉及两方面内容:
(1)实体型转换成关系模式:
关系模式中的属性和键码均与实体集中的属性和键码一一对应。
(2)联系转换成关系模式,构成连接关系。
若联系本身有属性,则成为连接关系的属性。
关键是连接关系的键:
若联系为1,1,则每个实体型的键码均为其键;若联系为1:
n,则n端实体型的键码为其键;若联系为m:
n.则各实体型键组合为其键。
5、为一个图书馆设计一个数据库,用户要求数据库中,对每个借阅者保存读者的读者号、姓名、性别、年龄、单位、电话号码、电子邮件,对每本书保存书号、书名、作者、出版社,
对每本被借出的书保存读者号、借出日期、还书日期。
要求:
设计出E-R模型,再将其转换为关系模型。
答:
(1)E-R模型如下:
读者号姓名借阅日期书名性别书号年龄读者N借阅M图书作者单位单价电话电子邮件归还日期出版社
(2)图书馆关系模型:
读者(读者号,姓名,性别,年龄,单位,电话,电子邮件)图书(书号,书名,作者,单价,出版社)借阅(读者号,书号,借阅时间,归还时间)
习题5
1.什么是数据库建模?
数据库建模的主要内容包括什么?
答:
在设计数据库时,对现实世界进行分析、抽象,并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。
数据库建模主要包括两部分内容:
确定最基本的数据结构;对约束建模(主要是说明候选码、主码和外码)。
2、简述基本E-R图的表示方法。
答:
在基本E-R图中,数据元素用矩形表示,属性用椭圆表示,实体之间的联系用菱形和箭头表示。
3、某房屋租赁公司利用数据库记录房主的房屋和公司职员的信息。
其中房屋信息包括房屋编号、地址、面积、朝向、租金价格。
职员的信息包括员工编号、姓名、联系的客户、约定客户见面时间、约定客户看房的编号。
E-R图如下所示,其中的A~H应分别填入什么?
编号D朝向F姓名ABC面积E编号GH
答:
A:
房屋,B:
带客户看房,C:
职员,D:
地址,E:
租金价格,F:
联系的客户,G:
约定客户见面时间,H:
约定客户看房编号。
4、某大学的系有若干个教研室,每个教研室有若干个教师,每个学生选修若干门课程,每门课程有若干个学生选修,学生每选修一门课就有一个成绩,每个教师讲授多门保,每门课可由多个教师讲授,每个名师讲授的课程都有由该老师指定的教材及规定的教室。
其中,系
有编号、系名、系主任、办公室和电话;学生有学号、姓名、性别;课程有课程号、课程名和学分;教师有编号、姓名、性别、年龄和职称。
请画出该系的E-R模型。
答:
名称编号姓名教室编号课程名学分系主任系电话1组成N教师M授课N课程M选课地点性别年龄职称教材学生N5、设计一个适合大学生选课的数据库,该数据库应包含学生、教师、系和课程。
哪个学生选了哪门课,哪个教师上了哪门课,学生的成绩,一个系提供哪些课程等信息。
用E-R图描述该数据库。
答:
学号姓名成绩课程号课程名学分性别学号姓名学生M选课N课程M属于提供系名称编号
习题6
1、试述下列术语的含义:
函数依赖、码、主属性、多值依赖、2NF、3NF、BCNF、4NF、关系规范化。
答:
函数依赖:
设R(U)是属性集U上的关系模式,X和Y是U的子集,r是R(U)中任意给定的关系实例。
若对于r中的任意两个元组s和t,当s[X]=t[X]时,就有s[Y]=t[Y],则称属性子集X函数决定属性子集Y,或称Y函数依赖于X。
1NN教学N1教师教师号姓名职称码:
如果关系模式R的一个或多个属性A1,A2,?
,An的组合满足如下条件,则该组合为关系模式R的码:
F
(1)这些属性函数决定该关系模式的所有属性,即A1A2...An?
?
?
U
(2)A1,A2,?
,An的任何真子集都不能函数决定R的所有属性。
多值依赖:
设R(U)是属性集U上的一个关系模式,X、Y、Z是U的子集,且Z=U-X-Y。
对于R的任何关系r,如果存在两个元组s、t,则必然存在两个元组u、v,使得:
u[X]=v[X],s[X]=t[X],u[Y]=t[Y],且u[Z]=s[Z],v[Y]=s[Y],且v[Z]=t[Z],
即交换元组s、t在属性组Y上的值,得到两个新元组u、v必在关系r中,则称Y多值依赖(MultivaluedDependency)于X。
2NF:
对于关系模式R,若R∈1NF,且每一个非主属性完全函数依赖于码,则R是第二范式的,记作:
R∈2NF。
3NF:
在关系模式R中,若不存在这样的码X、属性组Y和非主属性Z(Z不包含于Y),使得X→Y,Y→Z(这里X→Y)成立,则称R是第三范式的,记作:
R∈3NF。
BCNF:
设关系模式R∈1NF,若X?
Y,Y?
X时,X必含有码,则R是BC范式的,记作:
R∈BCNF。
4NF:
设FD、MVD分别为定义在关系模式R上的函数依赖集和多值依赖集,D=FD∪MVD,若R∈1NF,且所有非平凡的多值依赖X→→Y,其决定因素X都含有码,则称R是第四范式的,记作:
R∈4NF。
关系规范化指通过关系模式分解将一个低级的范式分解为多个高级范式的过程。
2、什么是数据的冗余与数据的不一致性?
答:
数据冗余(dataredundancy)是指同一数据在一个或多个数据文件中重复存储。
数据冗余不仅会占用大量系统存储资源,造成不必要的开销,而且更严重的是会带来数据库操作的异常,对数据库性能发挥造成不好的影响。
数据库中同一个数据在不同的地方出现了不同的值被称为数据的不一致性。
3、函数依赖有哪几种类型?
答:
函数依赖有三种类型:
平凡与非平凡函数依赖、部分与完全函数依赖、传递函数依赖。
4、举例说明如一个关系模式仅为1NF的,存在的异常并分析原因。
答