数据库课后习题答案崔巍版.doc

上传人:h**** 文档编号:1565305 上传时间:2019-03-05 格式:DOC 页数:10 大小:85KB
下载 相关 举报
数据库课后习题答案崔巍版.doc_第1页
第1页 / 共10页
数据库课后习题答案崔巍版.doc_第2页
第2页 / 共10页
数据库课后习题答案崔巍版.doc_第3页
第3页 / 共10页
数据库课后习题答案崔巍版.doc_第4页
第4页 / 共10页
数据库课后习题答案崔巍版.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、数据库系统及应用 (第二版)习题解答习题一1. 什么是数据库?数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。2. 简要概述数据库、数据库管理系统和数据库系统各自的含义。数据库、数据库管理系统和数据库系统是三个不同的概念,数据库强调的是相互关联的数据,数据库管理系统是管理数据库的系统软件,而数据库系统强调的是基于数据库的计算机应用系统。3. 数据独立性的含义是什么?数据独立性是指数据的组织和存储方法与应用程序互

2、不依赖、彼此独立的特性。这种特性使数据的组织和存储方法与应用程序互不依赖,从而大大降低应用程序的开发代价和维护代价。4. 数据完整性的含义是什么?保证数据正确的特性在数据库中称之为数据完整性。5. 简要概述数据库管理员的职责。数据库管理员的职责可以概括如下:(1) 首先在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划;(2) 在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计;(3) 在数据库运行阶段首先要负责对用户进行数据库方面的培

3、训;负责数据库的转储和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。6. 文件系统用于数据管理存在哪些明显的缺陷?文件系统用于数据管理明显存在如下缺陷:(1) 数据冗余大。这是因为每个文件都是为特定的用途设计的,因此就会造成同样的数据在多个文件中重复存储。(2) 数据不一致性。这往往是由数据冗余造成的,在进行更新时,稍不谨慎就会造成同一数据在不同文件中的不一致。(3) 程序和数据之间的独立性差。应用程序依赖于文件的存储结构,使得若修改文件的存储结构则必须修改程序。(4) 数据联系

4、弱。文件与文件之间是独立的,文件之间的联系必须通过程序来构造。因此,文件系统是一个不具有弹性的、无结构的数据集合,不能反映现实世界事物之间的联系。数据库系统及应用习题解答2习题二1. 数据的三种范畴的含义是什么?数据需要我们的认识、理解、整理、规范和加工,然后才能存放到数据库中。数据从现实生活进入到数据库实际经历了现实世界阶段(认识、理解) 、信息世界阶段(规范、提升)和机器世界阶段(管理) ,我们也把之称为数据的三种范畴,数据在三种范畴中的概念、术语都有些不同。2. 对以下问题分析实体之间的联系,并分别画出 E-R 图:略3. 试述为什么要讨论实体之间的联系类型?实体之间的联系类型决定了数据

5、库设计时的结果,与数据库的设计质量密切相关。4. 多对多联系如何转换成一对多联系?并举例说明。通过引入一个表示联系的实体,将原来两个实体之间的一个多对多的联系转换成分别与表示联系的实体之间的两个一对多的联系。例如,仓库和材料两个实体之间存在着多对多的联系,即一个仓库可以存放多种材料,一种材料可以存放在多个仓库;通过引入一个库存实体转换为仓库与库存之间的一对多联系和材料与库存之间的一对多联系。5. 解释连接陷阱的概念,在操作数据库时如何避免连接陷阱?所谓连接陷阱就是误认为本来不存在联系的两个实体之间存在联系,从而强行进行连接操作,自然得到错误的结果。为了避免连接陷阱,必须明确实体之间的联系和联系

6、类型,只在有联系的实体之间进行关联操作。6. 传统的三大数据模型是哪些?它们分别是如何表示实体之间的联系的?传统的三大数据模型是层次模型、网状模型和关系模型。层次模型用层次结构表示联系,它的典型代表IMS 用层次型表示联系;网状模型用网状结构表示联系,它的典型代表 CODASYL 用系表示联系;关系模型用关系表示联系。7. 解释存储数据独立性和概念数据独立性的区别。存储数据独立性强调的是应用程序与数据的存储结构相互独立的特性,即修改数据的存储方法或数据结构时不影响应用程序;而概念数据独立性强调的是应用程序与数据的概念结构相互独立的特性,即修改概念结构中的字段时不影响应用程序。8. 为什么说概念

7、数据库和外部数据库物理上并不真正存在?只有存储数据库是物理上存在的数据库,概念数据库是存储数据库的抽象,它反映了数据库的全局逻辑结构;而外部数据库是概念数据库的部分抽取,它反映了数据库的局部逻辑结构。9. 说明在 DBMS 中存储模式、概念模式和外部模式的作用。存储模式描述了数据库的存储结构,它包括对存储数据库中每个文件以及字段的描述,包括用于实现辅助关键字或存储文件间联系的指针字段的细节。存储数据库利用存储模式组织和存取存储数据库中的文件。如果要修改存储数据库的结构(例如,用倒排文件代替多链表) ,那么仅仅需要把这些修改反映在存储模式中,以使数据库存储系统能够操作新的存储数据库。按这种方法,

8、数据库管理系统可以提供存储(物理)数据独立性。数据库系统及应用习题解答 3概念模式是对概念数据库的描述,它包括对概念文件及概念文件之间联系的描述。概念数据库不包含真正的数据,一切都是由存储数据库决定的。外部模式则是对外部数据库的描述,它需要说明外部文件、构成外部文件的字段及这些外部文件之间的联系。数据库管理系统提供了外部模式与概念模式之间的映象以及概念模式与存储模式之间的映象,使用户通过外部数据库或概念数据库来操作存储数据库。习题三1. 解释属性与值域的区别。属性是二维表中的列,而值域是列或属性的取值范围。2. 关系模型的三个组成部分是什么?关系数据模型包括关系数据结构、关系操作集合和关系完整

9、性约束三个重要因素。3. 对关系模型的操作都包括哪些?关系数据模型中的操作包括:(1) 传统的集合运算:并(Union) 、交(Intersection) 、差(Difference ) 、广义笛卡尔积(Extended Cartesian Product) ;(2) 专门的关系运算:选择(Select) 、投影(Project) 、连接(Join) 、除(Divide) ;(3) 有关的数据操作:查询(Query) 、插入(Insert) 、删除(Delete) 、修改(Update ) 。4. 关系模型的完整性规则都有哪些?在关系数据模型中一般将数据完整性分为实体完整性、参照完整性和用户定

10、义完整性。5. 试述外部关键字的概念和作用,外部关键字是否允许为空值,为什么?如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。外部关键字用于实现表与表之间的参照完整性。外部关键字是否允许为空值取决于语义的规定。外部关键字的取值或者为空值、或者为被参照关系中的某个关键字字段的值。6. 分别叙述在进行插入、删除、更新操作时都需要进行哪些完整性检查,并说明理由。(1) 执行插入操作时需要分别检查实体完整性规则、参照完整性规则和用户定义完整性规则。首先检查实体完整性规则,如果插入元组的主关键字的属性不为空值、并且相应的属性值在关系中不存在(即保持唯一性) ,则可以

11、执行插入操作,否则不可以执行插入操作。接着再检查参照完整性规则,如果是向被参照关系插入元组,则无须检查参照完整性;如果是向参照关系插入元组,则要检查外部关键字属性上的值是否在被参照关系中存在对应的主关键字的值,如果存在则可以执行插入操作,否则不允许执行插入操作。另外,如果插入元组的外部关键字允许为空值,则当外部关键字是空值时也允许执行插入操作。最后检查用户定义完整性规则,如果插入的元组在相应的属性值上遵守了用户定义完整性规则,则可以执行插入操作,否则不可以执行插入操作。(2) 执行删除操作时一般只需要检查参照完整性规则。如果删除的是参照关系的元组,则不需要进行参照完整性检查,可以执行删除操作。

12、如果删除的是被参照关系的元组,则检查被删除元组的主关键字属性的值是否被参照关系中某个元组的外部关键字引用,如果未被引用则可以执行删除操作;否则可能有三种情况:数据库系统及应用习题解答41) 不可以执行删除操作,即拒绝删除;2) 可以删除,但需同时将参照关系中引用了该元组的对应元组一起删除,即执行级联删除;3) 可以删除,但需同时将参照关系中引用了该元组的对应元组的外部关键字置为空值,即空值删除。(3) 执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况。7. 试述关系的自然连接和等值连接的异同之处。自然连接和等值连接都是基于相等比较运算的

13、连接,但是自然连接要去掉重复的属性,而等值连接却不需要去掉重复的属性。8. 以图 3-6 的数据库为例(可参照图 5-1,该数据库的实例) ,用关系代数完成以下检索:注意:此处暂以 * 表示连接运算符。1) 检索在仓库 WH2 工作的职工的工资。 职工号,工资 ( 仓库号=“WH2“ (职工)2) 检索在上海工作的职工的工资。 职工号,工资 ( 城市=“上海“ (仓库) * 职工)3) 检索北京的供应商的名称。 供应商名 ( 地址=“北京“ (供应商)4) 检索目前与职工 E6 有业务联系的供应商的名称。 供应商名 ( 职工号=“E6“ (订购单) * 供应商)5) 检索所有职工的工资都大于

14、1220 元的仓库所在的城市。 城市 (仓库) - 城市 ( 工资1230) AND 供应商号 IN(SELECT 供应商号 FROM 供应商 WHERE 地址=北京)14) 检索出仓库的个数。SELECT COUNT(*) FROM 仓库15) 检索出有最大面积的仓库信息。SELECT * FROM 仓库 WHERE 面积=(SELECT MAX( 面积) FROM 仓库)16) 检索出所有仓库的平均面积。SELECT AVG(面积) FROM 仓库17) 检索出向 S4 供应商发出订购单的那些仓库的平均面积。SELECT AVG(面积) FROM 仓库 WHERE 仓库号 IN(SELEC

15、T 仓库号 FROM 职工 WHERE 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号=S4)18) 检索出每个城市的供应商个数。SELECT 地址,COUNT(*) FROM 供应商 GROUP BY 地址19) 检索出每个仓库中工资多于 1220 元的职工个数。SELECT 仓库号,COUNT(*) FROM 职工 WHERE 工资1220 GROUP BY 仓库号20) 检索出和面积最小的仓库有联系的供应商的个数。SELECT COUNT(*) FROM 供应商 WHERE 供应商号 IN(SELECT 供应商号 FROM 订购单 WHERE 职工号 IN(S

16、ELECT 职工号 FROM 职工 WHERE 仓库号 IN(SELECT 仓库号 FROM 仓库 WHERE 面积=(SELECT MIN(面积) FROM 仓库)21) 检索出工资低于本仓库平均工资的职工信息。SELECT * FROM 职工 out WHERE 工资E5. 假设有一个名为参加的关系,该关系有属性:职工(职工名) 、工程(工程名) 、时数(花费在工程上的小时数)和工资(职工的工资) ;一个参加记录描述一个职工花费在一个工程上的总时数和他的工资;另外,一个职工可以参加多个工程,多个职工可以参加同一个工程。请回答如下各问题:用 A、B、C 、 D 分别代表属性职工、工程、时数和

17、工资,则:1) 确定这个关系的关键字;AB2) 找出这个关系中的所有函数依赖;数据库系统及应用习题解答10AB-C , A-D3) 指出这个关系上的哪些函数依赖会带来操作异常现象;D 对关键字 AB 的部分函数依赖可能会带来如下问题:数据冗余:一个职工参加多个工程,则职工的工资值会重复;更新异常:当改变职工的工资时,可能会只修改了一部分,从而造成数据不一致;插入异常:当一个职工尚未承担工程,但要插入职工信息(如工资)则不允许(因为没有完整的关键字) ;删除异常:当某个工程结束,删除工程信息时,可能会将职工信息(如工资)一同删除(如果职工只参加了一项工程) 。4) 这个关系是第几范式关系?2NF

18、5) 计算该关系上函数依赖集的最小覆盖;Fm=AB-C, A-D6) 将该关系分解成尽可能高的范式,并指明是第几范式?分解为 R1(A,B,C)和 R2(A,D)结果为 4NF6. 一个关系有 4 个字段 A、B、C、D ,这里 A 和 B 构成复合关键字,问满足下列函数依赖的关系是第几范式?1) A、B、C 、D 都函数依赖于 AB。BCNF 或 4NF2) A、B、C 、D 都函数依赖于 AB,而 D 还函数依赖于 C。2NF3) A、B、C 、D 都函数依赖于 AB,而 D 还函数依赖于 B。1NF4) A、B、C 、D 都函数依赖于 AB,而 B 还函数依赖于 C。3NF7. 设有关系模式 R(A, B, C, D, E),并有函数依赖AB D, ACE, BCD,D A,E B,现将 R 分解成关系模式 S(A, B, C)和其他一些关系模式,请给出在关系模式 S 上成立的函数依赖。ACB,BCA

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。