文档库 最新最全的文档下载
当前位置:文档库 › 数据库课后习题答案___崔巍版

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

《数据库系统及应用》(第二版)习题解答

习题一

1.什么是数据库?

数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。

2.简要概述数据库、数据库管理系统和数据库系统各自的含义。

数据库、数据库管理系统和数据库系统是三个不同的概念,数据库强调的是相互关联的数据,数据库管理系统是管理数据库的系统软件,而数据库系统强调的是基于数据库的计算机应用系统。

3.数据独立性的含义是什么?

数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。这种特性使数据的组织和存储方法与应用程序互不依赖,从而大大降低应用程序的开发代价和维护代价。

4.数据完整性的含义是什么?

保证数据正确的特性在数据库中称之为数据完整性。

5.简要概述数据库管理员的职责。

数据库管理员的职责可以概括如下:

(1)首先在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划;

(2)在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计;

(3)在数据库运行阶段首先要负责对用户进行数据库方面的培训;负责数据库的转储和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。

6.文件系统用于数据管理存在哪些明显的缺陷?

文件系统用于数据管理明显存在如下缺陷:

(1)数据冗余大。这是因为每个文件都是为特定的用途设计的,因此就会造成同样的数据在多个文件中重复存储。

(2)数据不一致性。这往往是由数据冗余造成的,在进行更新时,稍不谨慎就会造成同一数据在不同文件中的不一致。

(3)程序和数据之间的独立性差。应用程序依赖于文件的存储结构,使得若修改文件的存储结构则必须修改程序。

(4)数据联系弱。文件与文件之间是独立的,文件之间的联系必须通过程序来构造。因此,文件系统是一个不具有弹性的、无结构的数据集合,不能反映现实世界事物之间的联系。

《数据库系统及应用》习题解答·8·习题二

1.数据的三种范畴的含义是什么?

数据需要我们的认识、理解、整理、规范和加工,然后才能存放到数据库中。数据从现实生活进入到数据库实际经历了现实世界阶段(认识、理解)、信息世界阶段(规范、提升)和机器世界阶段(管理),我们也把之称为数据的三种范畴,数据在三种范畴中的概念、术语都有些不同。

2.对以下问题分析实体之间的联系,并分别画出E-R图:

3.试述为什么要讨论实体之间的联系类型?

实体之间的联系类型决定了数据库设计时的结果,与数据库的设计质量密切相关。

4.多对多联系如何转换成一对多联系?并举例说明。

通过引入一个表示联系的实体,将原来两个实体之间的一个多对多的联系转换成分别与表示联系的实体之间的两个一对多的联系。例如,仓库和材料两个实体之间存在着多对多的联系,即一个仓库可以存放多种材料,一种材料可以存放在多个仓库;通过引入一个库存实体转换为仓库与库存之间的一对多联系和材料与库存之间的一对多联系。

5.解释连接陷阱的概念,在操作数据库时如何避免连接陷阱?

所谓连接陷阱就是误认为本来不存在联系的两个实体之间存在联系,从而强行进行连接操作,自然得到错误的结果。为了避免连接陷阱,必须明确实体之间的联系和联系类型,只在有联系的实体之间进行关联操作。

6.传统的三大数据模型是哪些?它们分别是如何表示实体之间的联系的?

传统的三大数据模型是层次模型、网状模型和关系模型。层次模型用层次结构表示联系,它的典型代表IMS用层次型表示联系;网状模型用网状结构表示联系,它的典型代表CODASYL用系表示联系;关系模型用关系表示联系。

7.解释存储数据独立性和概念数据独立性的区别。

存储数据独立性强调的是应用程序与数据的存储结构相互独立的特性,即修改数据的存储方法或数据结构时不影响应用程序;而概念数据独立性强调的是应用程序与数据的概念结构相互独立的特性,即修改概念结构中的字段时不影响应用程序。

8.为什么说概念数据库和外部数据库物理上并不真正存在?

只有存储数据库是物理上存在的数据库,概念数据库是存储数据库的抽象,它反映了数据库的全局逻辑结构;而外部数据库是概念数据库的部分抽取,它反映了数据库的局部逻辑结构。

9.说明在DBMS中存储模式、概念模式和外部模式的作用。

存储模式描述了数据库的存储结构,它包括对存储数据库中每个文件以及字段的描述,包括用于实现辅助关键字或存储文件间联系的指针字段的细节。存储数据库利用存储模式组织和存取存储数据库中的文件。如果要修改存储数据库的结构(例如,用倒排文件代替多链表),那么仅仅需要把这些修改反映在存储模式中,以使数据库存储系统能够操作新的存储数据库。按这种方法,数据库管理系统可以提供存储(物理)数据独立性。

1)

2)不可以执行删除操作,即拒绝删除;

3)可以删除,但需同时将参照关系中引用了该元组的对应元组一起删除,即执行级联删除;

4)可以删除,但需同时将参照关系中引用了该元组的对应元组的外部关键字置为空值,即空值删除。

(3)执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况。

1.试述关系的自然连接和等值连接的异同之处。

自然连接和等值连接都是基于相等比较运算的连接,但是自然连接要去掉重复的属性,而等值连接却不需要去掉重复的属性。

2.以图3-6的数据库为例(可参照图5-1,该数据库的实例),用关系代数完成以下检索:

注意:此处暂以 * 表示连接运算符。

1)检索在仓库WH2工作的职工的工资。

π职工号,工资(σ仓库号="WH2"(职工))

2)检索在上海工作的职工的工资。

π职工号,工资(σ城市="上海"(仓库) * 职工)

3)检索北京的供应商的名称。

π供应商名(σ地址="北京"(供应商))

4)检索目前与职工E6有业务联系的供应商的名称。

π供应商名(σ职工号="E6"(订购单) * 供应商)

5)检索所有职工的工资都大于1220元的仓库所在的城市。

π城市(仓库) -π城市(σ工资<=1220(职工) * 仓库)

6)检索和北京的所有供应商都有业务联系的职工的工资。

π职工号,工资(职工* (订购单÷π供应商号(σ地址="北京"(供应商))))

7)检索至少和职工E1、E4、E7都有联系的供应商的名称。

π供应商名(订购单÷(“E1”,”E4”,”E7”) * 供应商)

3.试述关系数据库系统的三层模式结构。

《数据库系统及应用》习题解答·8·习题四

1.简述客户/服务器结构的概念,并说明客户/服务器结构与文件服务器网络结构的区别。

客户/服务器结构的基本思想是应用程序或应用逻辑可以根据需要划分在服务器和客户工作站中,它既不像集中式系统那样所有的应用程序都在主机上执行,也不像文件服务器网络那样所有的应用程序都在客户端执行,它可以使应用程序合理负担在服务器和客户端。

客户/服务器结构与文件服务器网络结构的硬件拓扑结构很相似,它们的根本区别在于:客户/服务器结构的服务器可以执行应用程序;而文件服务器的服务器只是一个数据共享器,它不能执行应用程序。

2.在客户/服务器结构中,数据库服务器和客户端计算机是如何分工的?

数据库服务器应完成数据管理、信息共享、安全管理、以及一些更高级的管理。它是一个开放的体系结构,可以接受来自各种应用程序和开发工具的客户端的连接;它除了要管理集中的数据库之外,还要处理来自客户端的数据访问请求和将结果反馈给用户(包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成等)的工作。

而客户端计算机是面向最终用户的,所以它的主要任务是提供友好的用户界面,提交数据访问请求以及接收和处理数据库的返回结果,组织返回数据的输出(如生成数据浏览窗口、生成数据报表和图形等),提供初步的数据验证功能等。

3.SQL Server在安装后默认创建了哪几个系统数据库?分别叙述它们的作用。

SQL Server在安装后默认创建了4系统数据库,它们是:

(1)master数据库。master数据库用于存储SQL Server系统的所有系统级信息,包括所有的其它数据库(如建立的用户数据库)的信息(包括数据库的设置、对应的操作系统文件名称和位置等)、所有数据库注册用户的信息以及系统配置设置等。

(2)tempdb数据库。tempdb数据库用于保存所有的临时表和临时存储过程,它还可以满足任何其它的临时存储要求。

(3)model 数据库。model数据库是一个模板数据库,当使用CREATE DATABASE命令建立新的数据库时,新数据库的第一部分总是通过复制model数据库中的内容创建,剩余部分由空页填充。

(4)msdb数据库。msdb数据库用于SQL Server代理程序调度报警和作业等系统操作。

4.试述SQL Server的CREATE DA TABASE命令在创建数据库时是如何申请物理存储空间的?

通过指定的物理文件名、文件的大小等向操作系统申请物理存储空间。

5.试述SQL Server企业管理器的功能。

略。

习题五

1.试概述SQL语言的功能。

SQL是一种一体化的语言,它包括了数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。

2.以图5-1的数据库为例,用SQL完成以下检索:

1)检索在北京的供应商的名称。

SELECT * FROM 供应商WHERE 地址=’北京’

第三章关系数据库及其操作语言

·86·

2)检索发给供应商S6的订购单号。

SELECT 订购单号FROM 订购单WHERE 供应商号=’S6’

3)检索出职工E6发给供应商S6的订购单信息。

SELECT * FROM 订购单WHERE 供应商号=’S6’ AND 职工号=’E6’

4)检索出向供应商S3发过订购单的职工的职工号和仓库号。

SELECT 职工号,仓库号FROM 职工WHERE 职工号IN

( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )

5)检索出目前与S3供应商没有联系的职工信息。

SELECT * FROM 职工WHERE 职工号NOT IN

( SELECT 职工号FROM 订购单WHERE 供应商号=’S3’ )

6)检索出目前没有任何订购单的供应商信息。

SELECT * FROM 供应商WHERE NOT EXISTS

( SELECT * FROM 订购单WHERE 供应商号=供应商.供应商号)

7)检索出和职工E1、E3都有联系的北京的供应商信息。

SELECT * FROM 供应商WHERE 供应商号IN

( SELECT 供应商号FROM 订购单WHERE 职工号=’E1’ )

AND 供应商号IN

( SELECT 供应商号FROM 订购单WHERE 职工号=’E3’ )

8)检索出目前和华通电子公司有业务联系的每个职工的工资。

SELECT 职工号,工资FROM 职工WHERE 职工号IN

(SELECT 职工号FROM 订购单WHERE 供应商号IN

(SELECT 供应商号FROM 供应商WHERE 供应商名=’华通电子公司’))

9)检索出与工资在1220元以下的职工没有联系的供应商的名称。

SELECT 供应商名FROM 供应商WHERE 供应商号IN

(SELECT 供应商号FROM 订购单WHERE 职工号NOT IN

(SELECT 职工号FROM 职工WHERE 工资< 1220))

10)检索出向S4供应商发出订购单的仓库所在的城市。

SELECT 城市FROM 仓库WHERE 仓库号IN

(SELECT 仓库号FROM 职工WHERE 职工号IN

(SELECT 职工号FROM 订购单WHERE 供应商号=’S4’))

11)检索出在上海工作并且向S6供应商发出了订购单的职工号。

SELECT 职工号FROM 职工WHERE 仓库号IN

(SELECT 仓库号FROM 仓库WHERE 城市=’上海’) AND 职工号IN

(SELECT 职工号FROM 订购单WHERE 供应商号=’S6’))

相关文档