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

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

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

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

————————————————————————————————作者:————————————————————————————————日期:

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

习题一

1.什么是数据库?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

习题二

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

概念模式是对概念数据库的描述,它包括对概念文件及概念文件之间联系的描述。概念数据库不包含真正的数据,一切都是由存储数据库决定的。

外部模式则是对外部数据库的描述,它需要说明外部文件、构成外部文件的字段及这些外部文件之间的联系。

数据库管理系统提供了外部模式与概念模式之间的映象以及概念模式与存储模式之间的映象,使用户通过外部数据库或概念数据库来操作存储数据库。

习题三

1.解释属性与值域的区别。

属性是二维表中的列,而值域是列或属性的取值范围。

2.关系模型的三个组成部分是什么?

关系数据模型包括关系数据结构、关系操作集合和关系完整性约束三个重要因素。

3.对关系模型的操作都包括哪些?

关系数据模型中的操作包括:

(1)传统的集合运算:并(Union)、交(Intersection)、差(Difference)、广义笛卡尔积(Extended Cartesian

Product);

(2)专门的关系运算:选择(Select)、投影(Project)、连接(Join)、除(Divide);

(3)有关的数据操作:查询(Query)、插入(Insert)、删除(Delete)、修改(Update)。

4.关系模型的完整性规则都有哪些?

在关系数据模型中一般将数据完整性分为实体完整性、参照完整性和用户定义完整性。

5.试述外部关键字的概念和作用,外部关键字是否允许为空值,为什么?

如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。

外部关键字用于实现表与表之间的参照完整性。

外部关键字是否允许为空值取决于语义的规定。外部关键字的取值或者为空值、或者为被参照关系中的某个关键字字段的值。

6.分别叙述在进行插入、删除、更新操作时都需要进行哪些完整性检查,并说明理由。

(1)执行插入操作时需要分别检查实体完整性规则、参照完整性规则和用户定义完整性规则。

首先检查实体完整性规则,如果插入元组的主关键字的属性不为空值、并且相应的属性值在关系中不存在(即保持唯一性),则可以执行插入操作,否则不可以执行插入操作。

接着再检查参照完整性规则,如果是向被参照关系插入元组,则无须检查参照完整性;如果是向参照关系插入元组,则要检查外部关键字属性上的值是否在被参照关系中存在对应的主关键字的值,如果存在则可以执行插入操作,否则不允许执行插入操作。另外,如果插入元组的外部关键字允许为空值,则当外部关键字是空值时也允许执行插入操作。

最后检查用户定义完整性规则,如果插入的元组在相应的属性值上遵守了用户定义完整性规则,则可以执行插入操作,否则不可以执行插入操作。

(2)执行删除操作时一般只需要检查参照完整性规则。

如果删除的是参照关系的元组,则不需要进行参照完整性检查,可以执行删除操作。

如果删除的是被参照关系的元组,则检查被删除元组的主关键字属性的值是否被参照关系中某个元组的外部关键字引用,如果未被引用则可以执行删除操作;否则可能有三种情况:

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

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

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

(3)执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查

综合了上述两种情况。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

习题四

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

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

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

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

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

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

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

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

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

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

(3)model 数据库。model数据库是一个模板数据库,当使用CREATE DA TABASE命令建立新的数据库时,新数据库的第一部分总是通过复制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 地址=’北京’

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’))

12)检索出在广州工作并且只向S6供应商发出了订购单的职工号。

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

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

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

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

13)检索出由工资多于1230元的职工向北京的供应商发出的订购单号。

SELECT 订购单号FROM 订购单WHERE 职工号IN

(SELECT 职工号FROM 职工WHERE 工资>1230) AND 供应商号IN

(SELECT 供应商号FROM 供应商WHERE 地址=’北京’)

14)检索出仓库的个数。

SELECT COUNT(*) FROM 仓库

15)检索出有最大面积的仓库信息。

SELECT * FROM 仓库WHERE 面积=(SELECT MAX(面积) FROM 仓库)

16)检索出所有仓库的平均面积。

SELECT A VG(面积) FROM 仓库

17)检索出向S4供应商发出订购单的那些仓库的平均面积。

SELECT A VG(面积) FROM 仓库WHERE 仓库号IN

(SELECT 仓库号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

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

(SELECT 仓库号FROM 仓库WHERE 面积=

(SELECT MIN(面积) FROM 仓库))))

21)检索出工资低于本仓库平均工资的职工信息。

SELECT * FROM 职工out WHERE 工资<

(SELECT AVG(工资) FROM 职工inne WHERE 仓库号=out.仓库号)

3.试述关系数据库中视图(View)的含义和作用。

在关系数据库中,视图也称作窗口,即视图是操作基本表的窗口。在三层数据库体系结构中,视图是外部数据库,它是从基本表中派生出来的并依赖于基本表,它并不独立存在。

利用视图一方面可以限定对数据的访问(对数据列起到安全保护的作用),另一方面又可以简化对数据的访问(用户可以直接通过视图访问数据库)。除此之外,从三层数据库体系结构的角度它还提供了概念数据独立性。

4.以图5-1的数据库为例,用SQL语句完成以下更新操作,并讨论数据完整性约束对这些操作

的影响:

1)插入一个新的供应商元组(S9,智通公司,沈阳)。

INSERT INTO 供应商V ALUES(‘S9’,’智通公司’,’沈阳’)

2)删除目前没有任何订购单的供应商。

DELETE FROM 供应商WHERE 供应商号NOT IN

(SELECT 供应商号FROM 订购单)

3)删除由在上海仓库工作的职工发出的所有订购单。

DELETE FROM 订购单WHERE 职工号IN

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

(SELECT 仓库号FROM 仓库WHERE 城市=’上海’))

4)北京的所有仓库增加100m2的面积。

UPDA TE 仓库SET 面积=面积+100 WHERE 城市=’北京’

5)给低于所有职工平均工资的职工提高5%的工资。

UPDA TE 职工SET 工资=工资*1.05 WHERE 工资<

(SELECT AVG(工资) FROM 职工)

5.SQL要嵌入到宿主语言中使用要解决哪几方面的问题?

把SQL嵌入到宿主语言中使用必须要解决以下三个方面的问题:

1)嵌入识别问题。宿主语言的编译程序不能识别SQL语句,所以首要的问题就是要解决如

何区分宿主语言的语句和SQL语句。

2)宿主语言与SQL语言的数据交互问题。SQL语句的查询结果必须能够交给宿主语言处

理,宿主语言的数据也要能够交给SQL语句使用。

3)宿主语言的单记录与SQL的多记录的问题。宿主语言一般一次处理一条记录,而SQL

常常处理的是记录(元组)的集合,这个矛盾必须解决。

6.试述预编译的作用。

宿主语言的编译系统不能识别SQL语句。解决这个问题的一般方法是,为SQL语句加一个特殊的前缀,在用宿主语言的编译系统编译源程序之前,首先由预编译系统将SQL语句转换为宿主语言的合法函数调用。

7.试述游标(Cursor)的作用,并解释实现此功能的诸条语句的用途。

宿主语言一般只能在单记录方式下工作,即一次处理一个记录。而SQL语句的查询结果常常是一张表,它包含多个记录,为此需要用游标(CURSOR)作为桥梁做一些特殊处理,即利用游标来临时存放SQL语句的查询结果,并利用游标与宿主语言的主变量进行数据交互。与游标有关的命令共有四条:DECLARE CURSOR、OPEN、FETCH和CLOSE。其中DECLARE CURSOR用SQL SELECT 语句说明一个游标;OPEN打开游标,即执行说明游标的SQL SELECT语句;FETCH从游表中读一

条记录到主变量;CLOSE关闭游标。

8.试述为什么需要动态SQL语句,分析游标和动态游标的区别。

有时候在编程序时SQL语句或语句的参数和格式不能确定,应用程序只能在执行时才知道需要什么样的SQL语句,即必须在应用程序执行时动态建立SQL语句。

定义游标的SQL语句是静态的;而定义动态游标的SQL语句是动态生成的。

习题九

1.理解、定义如下术语,并分别给出两个例子:函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、主属性。

2.找出图5-1所示数据库各个关系中的函数依赖。

仓库关系上的函数依赖:

仓库号→城市,仓库号→面积

职工关系上的函数依赖:

职工号→仓库号,职工号→工资

订购单关系上的函数依赖:

订购单号→职工号,订购单号→供应商号,订购单号→订购日期

供应商关系上的函数依赖:

供应商号→供应商名,供应商名→供应商号,供应商号→地址,供应商名→地址

3.试证明如下结论(引理9.1):

X→A1A2…A n的充分必要条件是X→A k成立(k=1,2,…,n)。

证明:略

4.设有关系模式R(U,F),U={A,B,C,D,E},F={AB→E,DE→B,B→C,C→E,E→A}

1)计算所有函数依赖左部关于函数依赖集F的属性集闭包;

(AB)+={A,B,C,E}

(DE)+={A,B,C,D,E}

B+={A,B,C,E}

C+={A,C,E}

E+={A,E}

2)确定关系模式R上的所有侯选关键字;

DE

3)求F的所有最小覆盖。

F m=F-{AB->E}

今天作业的答案

5.假设有一个名为参加的关系,该关系有属性:职工(职工名)、工程(工程名)、时数(花费

在工程上的小时数)和工资(职工的工资);一个参加记录描述一个职工花费在一个工程上的总时数和他的工资;另外,一个职工可以参加多个工程,多个职工可以参加同一个工程。请回答如下各问题:用A、B、C、D分别代表属性职工、工程、时数和工资,则:

1)确定这个关系的关键字;

AB

2)找出这个关系中的所有函数依赖;

AB->C , A->D

3)指出这个关系上的哪些函数依赖会带来操作异常现象;

D对关键字AB的部分函数依赖可能会带来如下问题:

数据冗余:一个职工参加多个工程,则职工的工资值会重复;

更新异常:当改变职工的工资时,可能会只修改了一部分,从而造成数据不一致;

插入异常:当一个职工尚未承担工程,但要插入职工信息(如工资)则不允许(因为没有完整的关键字);

删除异常:当某个工程结束,删除工程信息时,可能会将职工信息(如工资)一同删除(如果职工只参加了一项工程)。

4)这个关系是第几范式关系?

2NF

5)计算该关系上函数依赖集的最小覆盖;

F m={AB->C, A->D}

6)将该关系分解成尽可能高的范式,并指明是第几范式?

分解为R1(A,B,C)和R2(A,D)

结果为4NF

6.一个关系有4个字段A、B、C、D,这里A和B构成复合关键字,问满足下列函数依赖的关系是第几范式?

1)A、B、C、D都函数依赖于AB。

BCNF或4NF

2)A、B、C、D都函数依赖于AB,而D还函数依赖于C。

2NF

3)A、B、C、D都函数依赖于AB,而D还函数依赖于B。

1NF

4)A、B、C、D都函数依赖于AB,而B还函数依赖于C。

3NF

7.设有关系模式R(A, B, C, D, E),并有函数依赖{AB→D, AC→E, BC→D,D→A,E→B},现将R

分解成关系模式S(A, B, C)和其他一些关系模式,请给出在关系模式S上成立的函数依赖。

AC→B,BC→A

数据库SQL查询例题及解答

1 实验目的 1.熟悉数据库的交互式SQL工具。 2.熟悉通过SQL对数据库进行操作。 3.完成作业的上机练习。 2 实验工具sql server 利用Sql server及其交互式查询工具-查询分析器来熟悉SQL。 3 实验内容和要求 1)实验内容: 创建数据库boat,包括Sailors,Boats,Reserves三个表,表结构如下: Sailors(sid: integer, sname: string, rating: integer, age: real) 船员(船员编号,姓名,级别,年龄) Boats(bid: integer, bname: string, color: string) 船(船编号,名称,颜色) Reserves(sid: integer, bid: integer, day: date) 租赁(船员编号,船编号,日期) (注:下划线表示主键),并插入一定数据。 2)完成下列要求:

(1)查询所有船员的信息 (2)查询所有姓王的船员的信息 (3)查询租用过103号船的船员姓名 (4)查找租用过船只的船员编号 (5)查找rating>7且年龄>25的水手编号 (6)查找租用过红船和绿船的水手名字 (7)查找租用过红船或绿船的水手编号 (8)查找最年长的水手的年龄和名字 (9)在18岁以上水手中,对于每个rating级别中最少有两个水手以上的组中最年轻水手的年龄 (10)查找每条红色船只被租用的次数 (11)把30岁以上船员的级别调高一级 (12)删除所有年龄超过40岁的船员信息 (13)建立年龄超过25岁的船员的视图 (14)对(13)建立的视图,举一操作的例子(查询、删除、修改均可) 2)要求: a.建立boat数据库的SQL脚本,插入所有数据项的SQL脚本(包括所有的测试数据)。 b.记录完成查询要求的SQL语句脚本。 c.记录完成查询的查询结果。

数据库课后练习及答案

第一章:一、单选题 1.以下的英文缩写中表示数据库管理系统的是( B)。 A. DB B.DBMS C.DBA D.DBS 2.数据库管理系统、操作系统、应用软件的层次关系从核心到外围分别是(B )。 A. 数据库管理系统、操作系统、应用软件 B. 操作系统、数据库管理系统、应用软件 C. 数据库管理系统、应用软件、操作系统 D. 操作系统、应用软件、数据库管理系统 3.DBMS是(C )。 A. 操作系统的一部分B.一种编译程序 C.在操作系统支持下的系统软件 D.应用程序系统 4.数据库系统提供给用户的接口是(A )。A.数据库语言 B.过程化语言 C.宿主语言D.面向对象语 5.(B )是按照一定的数据模型组织的,长期存储在计算机内,可为多个用户共享的数据的聚集。 A.数据库系统 B.数据库C.关系数据库D.数据库管理系统 6. ( C)处于数据库系统的核心位置。 A.数据模型 B.数据库C.数据库管理系统D.数据库管理员 7.( A)是数据库系统的基础。 A.数据模型B.数据库C.数据库管理系统D.数据库管理员 8.( A)是数据库中全部数据的逻辑结构和特征的描述。 A.模式B.外模式 C.内模式 D.存储模式 9.(C )是数据库物理结构和存储方式的描述。 A.模式 B.外模式 C.内模式D.概念模式 10.( B)是用户可以看见和使用的局部数据的逻辑结构和特征的描述》 A.模式B.外模式C.内模式D.概念模式 11.有了模式/内模式映像,可以保证数据和应用程序之间( B)。 A.逻辑独立性B.物理独立性C.数据一致性D.数据安全性 12.数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统( B)。 A.有专门的软件对数据进行管理 B.采用一定的数据模型组织数据 C.数据可长期保存 D.数据可共享 13.关系数据模型通常由3部分组成,它们是(B )。 A. 数据结构、数据通信、关系操作 B. 数据结构、关系操作、完整性约束 C. 数据通信、关系操作、完整性约束 D. 数据结构、数据通信、完整性约束 14.用户可以使用DML对数据库中的数据进行(A )操纵。 A.查询和更新B.查询和删除 C.查询和修改D.插入和修改 15.要想成功地运转数据库,就要在数据处理部门配备( B)。 A.部门经理B.数据库管理员 C.应用程序员 D.系统设计员 16.下列说法不正确的是(A )。 A.数据库避免了一切数据重复 B.数据库减少了数据冗余 C.数据库数据可为经DBA认可的用户共享 D.控制冗余可确保数据的一致性 17.所谓概念模型,指的是( D)。 A.客观存在的事物及其相互联系 B.将信息世界中的信息数据化 C.实体模型在计算机中的数据化表示 D.现实世界到机器世界的一个中间层次,即信息世界 18.数据库的概念模型独立于( A)。 A.具体的机器和DBMS B.E-R图C.数据维护 D.数据库 19.在数据库技术中,实体-联系模型是一种( C)。 A. 逻辑数据模型 B. 物理数据模型 C. 结构数据模型 D. 概念数据模型 20.用二维表结构表示实体以及实体间联系的数据模型为(C )。 A.网状模型 B.层次模型 C.关系模型 D.面向对象模型 二、填空题 1.数据库领域中,常用的数据模型有(层次模型)、网状模型和(关系模型)。 2.关系数据库是采用(关系数据模型)作为数据的组织方式。 3.数据库系统结构由三级模式和二级映射所组成,三级模式是指(内模式、模式、外模式),二级映射是指 (模式/内模式映射、外模式/模式映射)。 4.有了外模式/模式映像,可以保证数据和应用程序之间的(逻辑独立性)。 5.有了模式/内模式映像,可以保证数据和应用程序之间的(物理独立性)。 6.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的(物理独立性)。 三、简答题 1.在一个大型公司的账务系统中,哪种类型的用户将执行下列功能? a)响应客户对他们账户上的各种查询;b)编写程序以生成每月账单;c)为新类型的账务系统开发模式。 答:a)最终用户;b)应用程序员;c)该部门的DBA或其助手。 2.用户使用DDL还是DML来完成下列任务? a)更新学生的平均成绩;b)定义一个新的课程表;c)为学生表格加上一列。 答:a——DML,更新是在操作具体数据;b和c——DDL,建立和修改表结构属于数据定义。 第二章:一、单选题

数据库系统基础教程(第二版)课后习题答案

Database Systems: The Complete Book Solutions for Chapter 2 Solutions for Section 2.1 Exercise 2.1.1 The E/R Diagram. Exercise 2.1.8(a) The E/R Diagram Kobvxybz Solutions for Section 2.2 Exercise 2.2.1 The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship. The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether. Solutions for Section 2.3 Exercise 2.3.1(a) Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验容及要求 选择如下一个应用背景之一: ●学生选课系统 ●习题3、4、和5中使用的数据库 ●其它你熟悉的应用 (1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的容: 3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据

2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例: 建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。 一、数据定义 创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 表2. Course表结构

表3. SC表结构 1.创建、修改及删除基本表 (1)创建Student表 CREATE TABLE Student (Sno CHAR(8)PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(20) ); (2)创建Course表 CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY, Cname CHAR(40)NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, ); (3)创建SC表 CREATE TABLE SC (Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno), Cno CHAR(4), Grade SMALLINT, ); (4)创建员工表Employee

数据库课后题答案

1)查询全体图书的图书号,书名,作者,出版社,单价。 SELECT * FROM 图书 2)查询全体图书的信息,其中单价打8折,并且将该列设置别名为’打折价’ 。 SELECT 图书号,书名,作者,出版社,单价*0.8 ‘打折价’ FROM 图书 3)显示所有借阅者的读者号,并去掉重复行。 SELECT DISTINCT 读者号FROM 借阅 4)查询所有单价在20到30之间的图书信息。 SELECT * FROM 图书 WHERE 单价BETWEEN 20 AND 30 5)查询所有单价不在20到30之间的图书信息。 SELECT * FROM 图书 WHERE 单价NOT BETWEEN 20.00 AND 30.00 6)查询机械工业出版社、科学出版社、人民邮电出版社的图书信息 SELECT * FROM 图书 WHERE 出版社IN (‘机械工业出版社’, ‘科学出版社’, ‘人民邮电出版社’) 7)查询既不是机械工业出版社、也不是科学出版社出版的图书信息 SELECT * FROM 图书 WHERE 出版社NOT IN (‘机械工业出版社’, ‘科学出版社’) 8)查找姓名的第二个字符是’建’并且只有两三个字符的读者的读者号、姓名。 SELECT 读者号,姓名FROM 读者WHERE 姓名LIKE ‘_建_’ 9)查找姓名以’王’开头的所有读者的读者号、姓名。 SELECT 读者号,姓名FROM 读者WHERE 姓名LIKE ‘王%’ 10)查找姓名以’王’、’张’或’李’开头的所有读者的读者号、姓名。 SELECT 读者号,姓名FROM 读者WHERE 姓名LIKE ‘[王张李]%’ 11)查找姓名不是以’王’、’张’或’李’开头的所有读者的读者号、姓名。 SELECT 读者号,姓名FROM 读者WHERE 姓名NOT LIKE ‘[王张李]%’ 12)查询无归还日期的借阅信息。 SELECT * FROM 借阅WHERE 归还日期IS NULL 13)查询有归还日期的借阅信息。 SELECT * FROM 借阅WHERE 归还日期IS NOT NULL 14)查询单价在20元以上,30元以下的机械工业出版社出版的图书名,单价。 SELECT 书名,单价FROM 图书WHERE 出版社=’机械工业出版社’ AND 单价>20.00 AND 单价<30.00 15)查询机械工业出版社或科学出版社出版的图书名,出版社,单价。 SELECT 书名,出版社,单价FROM 图书WHERE 出版社=’机械工业出版社’ OR 出版社=’科学出版社’ 16)求读者的总人数 SELECT COUNT(*) AS ‘读者总人数’ FROM 读者 17)求借阅了图书的读者的总人数 SELECT COUNT(DISTINCT 读者号) AS ‘借阅过图书的读者总人数’ FROM 借阅 18)求机械工业出版社图书的平均价格、最高价、最低价。 SELECT A VG(单价) AS ‘平均价’,MAX(单价) AS ‘最高价’, MIN(单价) AS ‘最低价’ FROM 图书WHERE 出版社=’机械工业出版社’ 19)查询借阅图书本数超过2本的读者号、总本数。并按借阅本数值从大到小排序。

数据库系统实现课后习题答案

6.1.2 如果OUTPUT动作顺序恰当,即使在事务执行过程中发生故障,一致性仍能得到保持。

6.2.3 答案1 若题目是:; ; ….则答案是 a)首先扫描日志,发现事务T和U都未commit,将其连接到未完成事务列.按照未完成事务列,从后往前逐步扫描日志并执行undo操作,按照将磁盘中A值写为10,将写入日志中并刷新日志。 b)首先扫描日志,发现事务T已经commit,将其连接到已完成事务列,事务U未完成,将其连接到未完成事务列。按照未完成事务列,从后往前扫描日志执行undo操作,按照将磁盘中C值写为30,将磁盘A值写为10。将写入日志中并刷新日志。 c)首先扫描日志,发现事务T已经commit,将其连接到已完成事务列,事务U未完成,将其连接到未完成事务列。按照未完成事务列从后往前扫描日志执行undo操作,按照将磁盘中E值写为50,将磁盘中C值写为30,将磁盘A值写为10。将写入日志中并刷新日志。 d)首先扫描日志,发现事务T、U已经commit,将其连接到已完成列,未完成列为空,不做任何操作。答案2 a) 事务T、U未提交,要被撤销。向后扫描日志,遇到记录,于是将A在磁盘上的值存为10。最后,记录被写到日志中且日志被刷新。 b) 事务T已提交,U未提交,要被撤销。向后扫描日志,首先遇到记录,于是将C在磁盘上的值存为30。接着遇到记录,并将A在磁盘上的值置为10。最后,记录被写到日志中且日志被刷新。 c) 事务T已提交,U未提交,要被撤销。向后扫描日志,首先遇到记录,将E在磁盘上的值存为50。接着遇到记录,于是将C在磁盘上的值存为30。再遇到记录,并将A在磁盘上的值置为10。最后,记录被写到日志中且日志被刷新。 d) 事务T、U均被提交。什么都不做。 6.2.4

数据库技术与应用(第二版)课后答案

第1章习题参考答案 1.思考题 (1)什么是数据库、数据库管理系统、数据库系统?它们之间有什么联系? 答:数据库是存贮在计算机的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。 (2)当前,主要有哪几种新型数据库系统?它们各有什么特点?用于什么领域,试举例说明?答:主要有:分布式数据库、面向对象数据库、多媒体数据库、数据仓库技术、空间数据库。 (3)什么是数据模型?目前数据库主要有哪几种数据模型?它们各有什么特点? 答:数据模型是一组描述数据库的概念。这些概念精确地描述数据、数据之间的关系、数据的语义和完整性约束。很多数据模型还包括一个操作集合。这些操作用来说明对数据库的存取和更新。数据模型应满足3方面要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。目前在数据库领域,常用的数据模型有:层次模型、网络模型、关系模型以及最近兴起的面向对象的模型。 (4)关系数据库中选择、投影、连接运算的含义是什么? 答: 1)选择运算:从关系中筛选出满足给定条件的元组(记录)。选择是从行的角度进行运算,选择出的记录是原关系的子集。 2)投影运算:从关系中指定若干个属性(字段)组成新的关系。投影是从列的角度进行运算,得到的新关系中的字段个数往往比原关系少。 3)连接运算:将两个关系按照给定的条件横向拼接成新的关系。连接过程是通过两个关系中公有的字段名进行的。 (5)关键字段的含义是什么?它的作用是什么? 答:一个关系中可以确定一个字段为关键字段,该字段的值在各条记录中不能有相同的值。(如:门牌);关键字段的作用主要是为建立多个表的关联和进行快速查询。 (6)什么是E-R图?E-R 图是由哪几种基本要素组成?这些要素如何表示? 答:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素有3种,即实体、属性和联系。其表示方法为:用矩形框表示现实世界中的实体,用菱形框表示实体间的联系,用椭圆形框表示实体和联系的属性,实体名、属性名和联系名分别写在相应框。 ABAAC ABCAA 第2章习题解答 1. 思考题 (1)在SQL Server 2008中的数据库中包含哪些对象?其中什么对象是必不可少的?其作用又是什么? 答:SQL Server 2008中的数据库对象主要包括数据库关系图、表、视图、同义词、可编程性、Service Broker、存储和安全性等。其中表对象是必不可少的。表是由行和列构成的集合,用来存储数据。 (2)SQL Server提供的系统数据库master它的作用是什么?用户可以删除和修改吗?为什么?答:master 数据库记录SQL Server 系统的所有系统级信息。主要包括实例围的元数据、端点、服务器和系统配置设置以及记录了所有其他数据库的存在、数据库文件的

数据库实验题目和答案

按照如下方式重新定义四张表: 定义新的books表,其所拥有的属性与属性类型与原有的books表一致 以列级完整性的方式定义属性bookId为主码,同时在定义的时候必须提供约束名 定义属性category为”非空” ,同时在定义的时候必须提供约束名 create table Books( bookId number(9,0) constraint BooksKey primary key, title varchar(80), author varchar(40), year integer, category varchar(15) constraint B1 not null ); commit; 定义新的customers表,其所拥有的属性与属性类型与原有的customers表一致 以表级完整性的方式定义属性cid为主码 以列级完整性的方式定义属性cname为”唯一”,同时在定义的时候必须提供约束名 create table Customers ( cid number(9,0), cname char(40) constraint C1 unique, age integer, primary key(cid) ); commit; 定义新的purchases表,其所拥有的属性与属性类型与原有的purchases表一致 定义属性cid与bookId为主码,同时在定义的时候必须提供约束名 以列级完整性的方式定义属性bookId为外码,它参照Books表的主码,同时在定义的时候必须提供约束名。当删除Books表中的某一本书时,级联删 除与它相关的购买记录 以表级完整性的方式定义属性cid为外码,它参照customers表,同时在定义的时候必须提供约束名。当删除customers表中的某个顾客时,如果存在 与该客户相关的购买记录,拒绝删除。 create table Purchases( cid number(9,0), bookId number(9,0)

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

数据库课后习题答案崔 巍版 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

《数据库系统及应用》(第二版)习题解答 习题一 1.什么是数据库 数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。 2.简要概述数据库、数据库管理系统和数据库系统各自的含义。 数据库、数据库管理系统和数据库系统是三个不同的概念,数据库强调的是相互关联的数据,数据库管理系统是管理数据库的系统软件,而数据库系统强调的是基于数据库的计算机应用系统。 3.数据独立性的含义是什么 数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。这种特性使数据的组织和存储方法与应用程序互不依赖,从而大大降低应用程序的开发代价和维护代价。 4.数据完整性的含义是什么 保证数据正确的特性在数据库中称之为数据完整性。 5.简要概述数据库管理员的职责。 数据库管理员的职责可以概括如下: (1)首先在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划; (2)在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计; (3)在数据库运行阶段首先要负责对用户进行数据库方面的培训;负责数据库的转储和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。 6.文件系统用于数据管理存在哪些明显的缺陷 文件系统用于数据管理明显存在如下缺陷: (1)数据冗余大。这是因为每个文件都是为特定的用途设计的,因此就会造成同样的数据在多个文件中重复存储。 (2)数据不一致性。这往往是由数据冗余造成的,在进行更新时,稍不谨慎就会造成同一数据在不同文件中的不一致。 (3)程序和数据之间的独立性差。应用程序依赖于文件的存储结构,使得若修改文件的存储结构则必须修改程序。 (4)数据联系弱。文件与文件之间是独立的,文件之间的联系必须通过程序来构造。因此,文件系统是一个不具有弹性的、无结构的数据集合,不能反映现实世界事物之间的联系。 习题二 1.数据的三种范畴的含义是什么 数据需要我们的认识、理解、整理、规范和加工,然后才能存放到数据库中。数据从现实生活进入到数据库实际经历了现实世界阶段(认识、理解)、信息世界阶段(规范、提升)和机器世界阶段(管理),我们也把之称为数据的三种范畴,数据在三种范畴中的概念、术语都有些不同。

数据库系统原理(2018年版)课后习题参考答案解析

答案仅供参考 第一章数据库系统概述 选择题 B、B、A 简答题 1.请简述数据,数据库,数据库管理系统,数据库系统的概念。 P27 数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。 数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。 数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。 2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。 数据共享性高 数据冗余小 易于保证数据一致性 数据独立性高 可以实施统一管理与控制 减少了应用程序开发与维护的工作量 3.请简述数据库系统的三级模式和两层映像的含义。 P31 答: 数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。 两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。 4.请简述关系模型与网状模型、层次模型的区别。 P35 使用二维表结构表示实体及实体间的联系 建立在严格的数学概念的基础上 概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用 存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。

第二章关系数据库 选择题 C、C、D 简答题 1.请简述关系数据库的基本特征。P48 答:关系数据库的基本特征是使用关系数据模型组织数据。 2.请简述什么是参照完整性约束。 P55 答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。 3.请简述关系规范化过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 第三章数据库设计 选择题 B、C、C 简答题 1. 请简述数据库设计的基本步骤。 P66 需求分析设计;概念结构设计;逻辑结构设计;物理结构设计;数据库设计;数据库的运行和维护。 2. 请分别举例说明实体之间联系的三种表现情形。 P74 一对一联系:对于实体集A中的每个实体,实体集B中最多只有一个实体与之联系,反之亦然。举例:班级与班长,每个班只有一个班长,每个班长也只在一个班内任职。 一对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中最多只有一个实体与之联系。举例:班级与班级成员,每个班级对应多个班级成员,每个班级成员只对应一个班级。 多对多联系:对于实体集A中的每个实体,实体集B中有N个实体与之联系,反之,对于实体集B中的每个实体,实体集A中有M个实体与之联系。举例:授课班级与任课教师,每个

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

数据库原理课后习题答案

第1章绪论 2 ?使用数据库系统有什么好处? 答:使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。 6 .数据库管理系统的主要功能有哪些? 答:(I )数据库定义功能;(2 )数据存取功能; (3 )数据库运行管理;(4 )数据库的建立和维护功能。 8 ?试述概念模型的作用。 答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模, 是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是 数据库设计人员和用户之间进行交流的语言。 12 ?学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教 授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由 若干学生选修。请用E —R图画出此学校的概念模型。 答:实体间联系如下图所示,联系-选修有一个属性:成绩。 各实体需要有属性说明,需要画出各实体的图(带属性)或在下图中直接添加实体的属性,比如:学生的属性包括学号、姓名、性别、身高、联系方式等,此略。 13 ?某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。 这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品

分别放在仓库中,原材料按照类别放在若干仓库中。请用 E 一R图画出此工厂产品、零 件、材料、仓库的概念模型。 答:各实体需要有属性,此略。 联系组成、制造、储存、存放都有属性:数量。 20 ?试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式结构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有 关的数据的逻辑表示。 模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公 共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通 常是模式的子集。 内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储 方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。数据库系统 在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,这两层映像保 证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 22 ?什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系 统具有数据与程序的独立性? 答:数据与程序的逻辑独立性是指用户的的应用程序与数据库的逻辑结构是相互独立的。 数据与程序的物理独立性是指用户的的应用程序与存储在磁盘上的数据库中数据是相互独立的。 当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管 理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。 当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

数据库原理课后习题答案

第1章绪论 2 .使用数据库系统有什么好处? 答:使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。 6 .数据库管理系统的主要功能有哪些? 答:( l )数据库定义功能;( 2 )数据存取功能; ( 3 )数据库运行管理;( 4 )数据库的建立和维护功能。 8 .试述概念模型的作用。 答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。 12 .学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E 一R 图画出此学校的概念模型。 答:实体间联系如下图所示,联系-选修有一个属性:成绩。 各实体需要有属性说明,需要画出各实体的图(带属性)或在下图中直接添加实体的属性,比如:学生的属性包括学号、姓名、性别、身高、联系方式等,此略。 13 .某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E 一R 图画出此工厂产品、零件、材料、仓库的概念模型。 答:各实体需要有属性,此略。 联系组成、制造、储存、存放都有属性:数量。

20 .试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式结构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。 内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMs 管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 22 .什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性? 答:数据与程序的逻辑独立性是指用户的的应用程序与数据库的逻辑结构是相互独立的。 数据与程序的物理独立性是指用户的的应用程序与存储在磁盘上的数据库中数据是相互独立的。 当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。 当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

数据库原理及应用(第2版)习题参考答案..

第1章数据概述 一.选择题 1.下列关于数据库管理系统的说法,错误的是C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率 3.下列说法中,不属于数据库管理系统特征的是C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是D A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于A A.系统软件B.工具软件 C.应用软件D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是B A.数据库B.操作系统 C.应用程序D.数据库管理系统 9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是D A.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端 B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件 C.客户/服务器结构比文件服务器结构的网络开销小 D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享

(完整版)数据库课后习题及答案

第一章数据库系统概述 选择题 1实体-联系模型中,属性是指(C) A.客观存在的事物 B.事物的具体描述 C.事物的某一特征 D.某一具体事件 2对于现实世界中事物的特征,在E-R模型中使用(A) A属性描述B关键字描述C二维表格描述D实体描述 3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A) A书号B书名C作者D出版社 4一名作家与他所出版过的书籍之间的联系类型是(B) A一对一B一对多C多对多D都不是 5若无法确定哪个属性为某实体的键,则(A) A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键 填空题 1对于现实世界中事物的特征在E-R模型中使用属性进行描述 2确定属性的两条基本原则是不可分和无关联 3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键 4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n 5数据的完整性是指数据的正确性、有效性、相容性、和一致性 简答题 一、简述数据库的设计步骤 答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。 分析的策略:自下而上——静态需求、自上而下——动态需求 2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。 3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。 4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。 二、数据库的功能 答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构 2提供数据查询语言 3提供数据操纵语言 4支持大量数据存储 5控制并发访问 三、数据库的特点 答:1数据结构化。2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复 第二章关系模型和关系数据库 选择题 1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的

数据库实验报告

计算机与信息学院 实验报告 专业班级 计科3班 学生姓名及学号 2014217151 李勤阳课程教学班号 任课教师 实验指导教师 实验地点 计算机楼303 20 16 ~20 17 学年第一学期

实验一数据库的创建和删除 一. 实验目的: 1. 了解SQL Server数据库的环境。 2. 掌握使用SQL 语句创建数据库的方法。 二.实验要求 1. 掌握通过查询分析器进行交互式SQL语句的使用方法。 2. 理解SQL Server中的共享架构dbo。 3.注意操作结果的截图与保存,供撰写实验报告使用。 三.实验内容 1. 使用SQL语句创建数据库EDUC。 数据库的参数要求: 数据库名称:EDUC 数据库存储路径:将数据库文件存储在D:\jxgl\目录中。 (注,如果该目录不存在,需在D盘新建一个名为jxgl的文件夹) 其他参数要求: 数据文件的初始大小:10M 最大:60M 按5%的比例自动增长。 日志文件的初始大小:4M 最大:10M 增量为1M。 2. 将新创建的数据库设置为当前数据库。 四.实验步骤

1.创建数据库EDUC的SQL语句: 示例:创建数据库userdb1 maxsize=5 , filegrowth=1)create database userdb1 on (name=userdb1_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='d:\sql_data\userdb1.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb1_log, filename='d:\sql_data\userdb1.ldf ' , size=2 , reate database EDUC on (name=EDUC_data, filename='E:\jxgl\EDUC.mdf', size=10, maxsize=60, filegrowth=5%) log on ( name=EDUC_log, filename='E:\jxgl\EDUC.ldf ',

相关文档
相关文档 最新文档