文档库 最新最全的文档下载
当前位置:文档库 › 数据库课后练习答案

数据库课后练习答案

数据库课后练习答案
数据库课后练习答案

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

1.什么是数据库?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

·2·

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

据在多个文件中重复存储。

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

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

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

习题二

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

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

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

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

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

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

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

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

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

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

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

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

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·

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

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

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

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

如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。外部关键字用于实现表与表之间的参照完整性。

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

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

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

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

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

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

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

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

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

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

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

删除;

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

值,即空值删除。

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

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

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

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

索:

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

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

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

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

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

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

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

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

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

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

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

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

(不能用:π城市(σ工资>1220(职工) * 仓库) )

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

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

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

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

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

习题四

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

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

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

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

·6·

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

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

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

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 DATABASE命令在创建数据库时是如何申请物理存储空间的?

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

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

略。

习题五

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

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

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

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

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

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

《数据库系统及应用》习题解答·7·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 distinct 供应商名,供应商号

from 供应商

where 供应商号not in --('s4','s7')--该供应商无与E3的订单

(select distinct 供应商号

from 订购单

where 供应商号is not null and

职工号in (select 职工号--该职工工次低于1220,只有E3

from 职工

where 工资<1220)

)

·8·

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

--该供应商有下过订单

and 供应商号in

(select distinct 供应商号from 订购单)

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 地址

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

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的面积。

UPDATE 仓库SET 面积=面积+100 WHERE 城市='北京'

·10·

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

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

UPDATE 职工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.什么是存储过程?为什么要使用存储过程?

存储过程是经过预编译的T-SQL语句的集合,它存放在数据库中,当用户执行存储过程时,存储过程在数据库服务器上运行。

利用存储过程可以避免在网络上传输大量无用的信息或原始数据,只需要传输调用存储过程的指令和数据库服务器返回的处理结果,这样可以大大提高网络数据库应用系统的性能。

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

2.试为如下问题编写、建立存储过程,并定义合适的过程返回状态码和信息(均以图5-1的数据库为例):

1)插入一个新的供应商元组。

CREATE PROCEDURE ins_sup

(@sno CHAR(3),@sname CHAR (16),@addr CHAR (10))

AS

INSERT INTO 供应商V ALUES(@sno,@sname,@addr)

IF @@ERROR = 0

RETURN 0

ELSE

RETURN -1

--调用

exec ins_sup 'aa','存储过程插入的供应商','地址'

--查看结果

select * from 供应商

2)给指定城市的所有仓库增加x m2的面积。

CREATE PROCEDURE upd_wh_area

(@city char(10),@area numeric)

AS

UPDATE 仓库SET 面积=面积+ @area WHERE 城市=@city

IF @@ERROR = 0

RETURN 0

ELSE

RETURN –1

--调用

exec upd_wh_area '广州',1000

--查看结果

select * from 仓库

CREATE PROCEDURE upd_wh_area

(@city char(10),@area numeric)

AS

IF not exists (select *from 仓库where 城市=@city)

begin

print ('没有满足条件的记录')

return -103

end

UPDATE 仓库SET 面积=面积+ @area WHERE 城市=@city

RETURN 0

·12·

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

upd_wh_area 西安,100

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

CREATE PROCEDURE get_ord

(@eno CHAR(4),@sno CHAR(3))

AS

SELECT * FROM 订购单WHERE 职工号=@eno AND 供应商号=@sno

IF @@ERROR = 0

RETURN 0

ELSE

RETURN -1

4)检索在某城市工作并且向某供应商发了订购单的职工号。

CREATE PROCEDURE get_eno

(@city CHAR(10),@sno CHAR(3))

AS

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

(SELECT 仓库号FROM 仓库WHERE 城市=@city) AND 职工号IN

(SELECT 职工号FROM 订购单WHERE 供应商号=@sno)

IF @@ERROR = 0

RETURN 0

ELSE

RETURN -1

3.试述触发器的概念和作用。

触发器可以看作是一类特殊的存储过程,它在满足某个特定条件时自动触发执行。触发器是为表上的更新、插入、删除操作定义的,也就是说当表上发生更新、插入或删除操作时触发器将执行。

触发器可以用于数据参照完整性和以下一些场合:

?触发器可以通过级联的方式对相关的表进行修改。比如,对父表的修改,可以引起对子孙表的一系列修改,从而保证数据的一致性和完整性。

?触发器可以禁止或撤消违反参照完整性的修改。

?触发器可以强制比用CHECK约束定义更加复杂的限制。

4.利用触发器为图5-1数据库的订购单关系建立参照完整性。。

建立插入触发器

CREATE TRIGGER ord_ins_trigger

ON 订购单FOR INSERT

AS

IF ((SELECT COUNT(*) FROM 职工e,INSERTED i

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

WHERE e.职工号=i.职工号)=0 OR

(SELECT COUNT(*) FROM 供应商s,INSERTED i

WHERE s.供应商号=i. 供应商号)=0)

BEGIN

RAISERROR ('非法职工号或非法供应商号', 1, 1)

ROLLBACK TRANSACTION

END

建立更新触发器

习题七

1.讨论数据库安全都与哪些安全问题有关?

数据库安全实际涉及到很多方面,除了数据库管理系统应该具有安全保护功能之外,还需要从管理机制、人员行为、操作系统安全和网络安全等多个方面采取措施。

2.试述数据库的自主存取控制和强制存取控制的区别和各自的特点。

自主存取控制的特点是由用户“自主”地控制数据库对象的访问权限;而强制存取控制的特点是严格的分层次管理,有严格的等级制度。

3.试述角色管理在数据库安全控制中的作用。

角色管理类似于用户组的管理,可以将数据库的所有用户划分成不同的角色,这样可以简化用户管理,使用户管理和权限管理更加简洁、清楚。

4.试述SQL Server的系统预定义角色为安全管理提供了哪些便利。

SQL Server的系统管理是由系统管理员(默认是sa用户)负责的,而系统预定义角色正是系统管理员职责的分解,通过一些系统预定义角色的用户来协助系统管理员进行管理,可以减轻系统管理员(sa用户)的工作负担,对系统管理来说又有更明确的职责划分。

5.试述语句授权和对象授权各自的含义和作用。

语句授权是指对执行创建数据库对象的语句的授权,这种权限一般归系统管理员(sa)或数据库管理员(DBO)管理;对象授权是指对可以在数据库对象执行的操作的授权,这种权限一般由数据库对象拥有者(DBOO)管理,也可以由系统管理员(sa)或数据库管理员(DBO)管理。

6.试述GRANT语句中WITH GRANT OPTION子句的作用。

WITH GRANT OPTION子句说明被授权用户可以将指定的对象权限授予其他用户。该子句仅对对象权限有效,对语句权限无效。

·14·

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

7.试述在REVOKE语句中GRANT OPTION FOR子句和CASCADE子句的作用。

GRANT OPTION FOR说明只收回WITH GRANT OPTION权限;CASCADE说明级联收回由于WITH GRANT OPTION授予的所有权限。GRANT OPTION FOR要与CASCADE一同使用,因为要收回WITH GRANT OPTION权限,也应该一同收回由于该子句产生的所有授权。

8.试述禁止权限语句DENY的作用。

禁止权限语句DENY的作用是禁止用户从角色继承指定的权限。

9.什么是数据库的审计功能?

系统管理员(或数据库管理员)可以通过审计日志审计、跟踪所有用户对数据库的操作活动,可以确定哪些客户、什么时间、进行了哪些操作(任何操作)等,这种功能称作数据库的审计功能。

10.统计数据库有哪些特殊的安全性问题?

统计数据库的安全性问题主要是指不允许从统计信息推导出名细信息。

习题八

1.什么是事务?

事务是构成单一逻辑工作单元的操作集合。

2.解释事务的ACID性质。

事务的ACID性质指事务具有原子性(即不可分割)、一致性(要能保证数据库的一致性)、隔离性(事务的原子性和一致性不受其他事务的影响)和持久性(事务对数据库所施加的所有更新都是永久的)。

3.并发控制都会产生哪些干扰问题?并讨论之。

并发事务可能会存在的干扰问题主要有:

?丢失更新问题

?未提交依赖问题

?不一致分析问题

?幻象读问题

讨论略。

4.请举出两个并发的程序进行更新操作时相互干扰的例子。

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

5.利用事务概念和封锁技术重做第4题,使干扰不发生。

6.分别解释共享封锁、更新封锁和独占封锁的含义。

共享封锁是为读操作设置的一种封锁,目的是想读到一组不变的数据,也就是在读数据的过程中,不允许其他用户对该数据进行任何修改操作。这种封锁可以保证最大的并发性,任何数量的用户都可以同时对同样的数据施加这种共享锁。

当需要对一个记录或一组记录进行更新时(只是修改,不包括插入和删除)使用更新封锁,该封锁的目的是防止其他用户在同一时刻修改同一记录。已经实施更新封锁的记录,拒绝来自其他用户的更新封锁或独占封锁。

独占封锁也叫排他封锁,这是最严格的一类封锁。当需要对表实施插入、删除或修改操作时,应该使用独占封锁。已经实施独占封锁的表,拒绝来自其他用户的任何封锁,但不拒绝其他用户的一般读操作。

7.什么是死锁?如何避免发生死锁?

当两个(或多个)并发的事务分别等待对方释放封锁的资源,而使事务处于长期等待状态的现象称为死锁。

为了避免死锁,一般可以采取两种方式:

?相同顺序法:所有的事务约定都按相同的顺序来封锁表;

?一次封锁法:为了完成一个事务,一次性封锁所需要的全部表。

8.什么是事务的隔离性?如何划分事务的隔离级别?

事务的隔离性是指一个事务应该与其他事务“隔离”,它在完成过程中不受其他事务的影响和干扰。

“隔离”则意味着并发程度的降低。为了既能保证数据的一致性、又尽可能提高系统的并发执行效率,为此将隔离级别划分为如下4个级别:

?未提交读(READ UNCOMMITTED):事务隔离的最低级别,仅可保证不读取物理损坏的数据,这是4个隔离级别中限制最小的级别。

?提交读(READ COMMITTED):可以保证不读取“脏”数据。

?可重复读(REPEATABLE READ):可以保证读一致性,避免不一致分析问题。

?可串行化(SERIALIZABLE):事务隔离的最高级别,事务之间完全隔离;如果事务在可串行化隔离级别上运行,则可以保证任何并发重叠事务均是串行的。

9.试叙述在备份与恢复技术中数据库日志的作用。

日志则是对备份的补充,它可以看作是一个值班日记,它将记录下所有对数据库的更新操作。这样就可以在备份完成时立刻刷新并启用一个数据库日志,数据库日志是实时的,它将忠实地记录下所有对数据库的更新操作。因此,当磁盘出现故障造成数据库损坏时,就可以首先利用备份恢复数据库(恢复大部分数据),然后再运行数据库日志,即将备份后所做的

·16·

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

更新操作再重新做一遍,从而将数据库完全恢复。

10.试述在SQL Server中利用文件和文件组备份为数据库恢复提供了什么样的便利?

利用文件和文件组进行备份,则当建立数据库的某个物理存储介质出现故障时,可以只恢复发生故障的存储介质上的物理文件或文件组,而不需要恢复整个数据库,这可以大大缩短数据库恢复所需要的时间。

11.针对不同的故障类型(事务故障和介质故障),试讨论恢复的策略和方法。

12.试讨论备份系统数据库的重要性。

系统数据库(在SQL Server上特别是master数据库)是管理用户数据库的数据库,如果系统数据库一旦损坏,整个系统的使用都将受到影响。所以系统数据库的安全和可靠是用户数据库可以正常使用的基础。

习题九

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}

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

(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。

·18·

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

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

习题十

1.试叙述概念数据库设计和逻辑数据库设计的区别,并说明各自的主要工作内容。

概念数据库设计是不依赖于任何数据库管理系统的,它是对用户信息需求的归纳。概念设计的结果得到的是数据库的概念结构,或称概念数据模型,由于它是从现实世界的角度进行的抽象和描述,所以与具体的硬件环境和软件环境均无关。而在逻辑数据库首先要考虑实现数据库的数据库管理系统所支持的数据模型是什么,并将概念数据模型转换为数据库管理系统支持的数据模型。

一般在概念设计阶段主要工作内容有:

?确定实体;

?确定实体的属性;

?确定实体的标识属性(关键字);

?确定实体间的联系和联系类型;

?确定实现实体间联系的属性(外部关键字或连接属性);

?画出表示概念模型的E-R图;

除此之外,为了以后对模式进行规范化,还需要:

?确定属性间的依赖关系。

而在逻辑设计阶段一般主要工作内容有:

?确定各个关系模式的主关键字,考虑实体完整性;

?确定各个关系模式的外部关键字,考虑参照完整性;

?确定各个关系模式中属性的约束、规则和默认值,考虑域完整性;

?根据用户需求设计视图;

?考虑安全方案和用户使用权限等。

2.物理数据库设计主要包括哪些内容?

物理数据库设计的内容是设计数据库的存储结构和物理实现方法。一般包括如下内容:

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

?估算数据库的数据存储量;

?设计数据库设备;

?安排数据库的存储;

?设计索引;

?设计备份策略等。

3.到Sybase公司的网站(https://www.wendangku.net/doc/6f3527138.html,)下载PowerDesigner的试用版,实践利用PowerDesigner进行数据库建模的方法和过程。

习题十一

1.面向对象数据库是在什么背景下产生的?为什么需要面向对象数据库?

在信息管理领域之外还有很多新的应用领域迫切需要使用数据库,如计算机辅助设计(CAD)、多媒体技术(音频、视频文件的存储和处理)等,这些应用往往需要存储大量的复杂类型的数据,同时面向对象的概念和技术也强烈地引发了数据库对复杂数据类型的支持,从而推动了面向对象数据库的发展。

由于关系数据库不直接支持复杂数据类型,致使一些必须使用复杂数据类型的应用实现起来不是很方便、并且效率较低。另外关系模型也不支持构造类型和继承,这都使得人们希望发展面向对象的数据库。

2.什么是对象的封装性、继承性和多态性?

封装性是指将类的数据和操作封装在类定义中,对用户来讲类的“功能”是可见的,而实现部分是封装在类定义中的,用户是看不见的。这种封闭性保证了每个对象的实现都独立于其他对象的细节,从而有利于保证软件的质量。

继承性是指可以利用已有的类去定义新的类。如果根据类A定义类B,则说类B继承了类A,同时把类A称作基类,把类B称作子类。子类不仅可以继承基类的所有性质,还可以在子类中定义新的性质。继承性使得基类中的代码可以共享和重用,所以继承性有助于软件可重用性的实现。

多态性是指同一个函数可以有多种作用,即:

?同一个函数根据不同的引用对象可以完成不同的功能;

?同一个函数即便引用同一个对象,但由于传递的参数不同也可以完成不同的功能。

多态性可以为整个应用和所有对象内部提供一个一致的接口,没有必要为相同的动作命名和编写不同的函数,它完全可以根据引用的对象不同、传递的消息不同来完成不同的功能。这样做也与现实世界中管理和运作方法相吻合。

3.面向对象数据库的研究方法主要有哪些?

·20·

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

面向对象数据库的研究方法目前主要有以下三种:

?扩充关系数据模型。将成熟的关系数据库与面向对象数据库方法结合起来,可减少研制工作量、缩短研制周期。这种方法的弱点是不能全面支持面向对象的特征。

?在面向对象语言中嵌入数据库功能而形成面向对象数据库。该方法的关键是如何在面向对象语言中增加持久性对象的存储管理。使用此方法受到面向对象语言的一些限制。

?开发全新的数据模型,从底层实现面向对象数据库系统。这是最彻底的方法,缺点是难度大,一方面缺乏统一的数据模式及形式化理论,另一方面在查询优化、视图及数据库工具方面仍为空白。

4.面向对象数据库应该具备哪些基本特征?

一个面向对象数据库系统应该具备如下的基本内容和特征:

?在数据模型方面支持对象、复合对象、封装、类、继承、重载、滞后联编、多态性等基本概念。其中复合对象的概念包括支持生成复合对象的构造器(元组、集合、包、列表、数组等)。

?数据库管理系统除了具有传统的数据库管理系统所具有的功能(如并发控制、故障和恢复)外,还支持永久对象、长事务处理和嵌套事务,具有版本管理和模式演化的能力,能维护数据完整性,适合在分布式环境下工作。

?数据库访问界面要支持消息传递,提供计算能力完备的数据库程序设计语言,能解决数据库语言与宿主语言的某些不匹配问题,提供类似SQL的非过程化查询功能。

5.SQL99支持ORDBMS、还是OODBMS?

SQL99支持的是ORDBMS。

6.比较RDBMS、ORDBMS和OODBMS,然后分别描述一个适合使用RDBMS、

ORDBMS和OODBMS的应用,并说明原因。

习题十二

1.解释ODBC的概念。

ODBC(Open DataBase Connectivity)的全称是开放数据库互连,它是一种访问数据库的统一界面标准。

2.应用程序是如何通过ODBC访问数据库的?

应用程序通过调用ODBC函数可以完成对数据库的访问操作,它所执行的任务或完成的工作包括:请求对数据源的连接,获取连接句柄;指定事务控制方式;定义接收结果的数据区;向数据源发送SQL语句;接收SQL的查询结果;处理出错信息,并将出错信息返回给应用程序;终止对数据源的连接。

数据库期中试卷及参考答案

《数据库原理与应用》 一.单项选择题(每题1分,共20分) 1.目前市场上常见的DBMS 90%以上都是基于( C )数据模型的。 A.层次B.网状C.关系D.面向对象 2.E-R图是在数据库设计中用来表示( A )的一种常用方法。 A.概念模型B.逻辑模型C.物理模型D.面向对象模型 3.( C )是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 A.外模式B.内模式C.模式D.概念模式 4.( B )也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。 A.外模式B.内模式C.模式D.概念模式 5.数据库的概念模型独立于( A )。 A.具体的机器和DBMS B.E-R图C.信息世界D.现实世界 6.在数据库中存储的是( C )。 A.数据B.数据库模型C.数据以及数据之间的联系D.信息 7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一个属性都是( B )。 A.互不相关的B.不可分解的C.长度可变得D.互相关联的 8.在数据模型中有“型”和“值(或实例)”两个对应的概念。其中数据库的模式是一个( D )的概念,是一个相对()的概念,而数据库在某一时刻的状态则是一个()的概念,是一个相对()的概念。 A.型;变化;值;不变B.值;不变;型;变化 C.值;变化;型;不变D.型;不变;值;变化 9.关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20. 则A与B的笛卡尔积A×B的属性有( D )个,元组个数有()个。 A.30;200B.11;30 C.30;30D.11;200 10.父亲和子女的亲生关系属于( B )的关系。 A.1:1B.1:n C.m:n D.不一定 11.在SQL语言中,删除关系表中的一个属性列,要用动词( D ),删除关系表中的一行或多行元组,要用动词()。 A.delete,delete B.drop,drop C.delete,drop D.drop,delete 12.在SQL语言中,为关系模式增加一个属性要用动词(B),为关系表增加一行或多行元组要用动词()。 A.insert,insert B.add,insert C.insert,add D.add,add 13.实体完整性约束和SQL语言中的( A )相对应。 A.primary key B.foreign key C.check D.都不是 14.参照完整性约束和SQL语言中的( B )相对应。 A.primary key B.foreign key C.check D.都不是 15.在我们的学生-课程数据库中,SC表上建立了两个外码约束,被参照表是Student表和Course表,则最适当的说法是: A.Student表中的学生号Sno不能随意取值B.Course表中的课程号Cno不能随意取值 C.SC表中学生号Sno不能随便D.SC表中学生号Sno、课程号Cno均不能随意取值 16.如果在学生-课程数据库中的SC表上建立了参照完整性约束: Foreign Key (Sno)References Student(Sno), Foreign Key (Cno)References Course(Cno), 则( D )操作可能会违背该完整性约束。 A.在Student表上增加一行记录B.在Course表上增加一行记录 C.在SC表上删除一行记录D.更新SC表上的记录 17.关系R(X,Y,Z),函数依赖集FD={Y→Z,XZ→Y},则关系R是( C )。 A.1NF B.2NF C.3NF D.BCNF 18、表之间一对多关系是指_B_____。 A.一张表与多张表之间的关系B.一张表中的一个记录对应另一张表中的多个记录 C.一张表中的一个记录对应多张表中的一个记录D.一张表中的一个记录对应多张表中的多个记录 19、SQL的SELECT语句中,“HAVING条件表达式”用来筛选满足条件的(D) A.列B.行C.关系D.分组 20、SQL语言中INSERT、DELETE、UPDA TE实现哪类功能 D 。 A.数据查询B.数据控制C.数据定义D.数据操纵 二.填空题(每空1分,共18分): 1.从历史发展看来,数据管理技术经历了人工管理、文件管理和数据库管理三个阶段。 2.在SQL语言中,用符号—代表单个字符,用符号% 代表0到多个字符。 3.在SQL语言中,为了使查询的结果表中不包含完全相同的两个元组,应在select的后面加上关键词distinct 。 4、在SQL语句中,与表达式“工资BETWEEN 1210 AND 1240”功能相同的表达式是工资>=1210 and 工资<=1240 。 第 1 页/共 4 页

数据库试题及答案

、选择题(40 X 1=40分) 1 .用二维表数据来表示实体及实体之间联系的数据模型称为( 2 .表在数据库中是一个非常重要的数据对象,它是用来( 数据库是在计算机系统中按照一定的数据模型组织、 操作的软件系统叫 —,由计算机、操作系统、 存储和应用的 —,支持数据库各种 DBMS 、数据库、应用程序及用户等组成的一 A 、概念数据模型 B 、结构数据模型 C 物理数据模型 D 、逻辑数据模型 11.数据是信息的符号表示或称载体;信息则是数据的内涵,是数据的 12 .下列关于关系数据模型的术语中, 最接A 、 显示 B 、查询 C 、存放 D 、检索 3. 数据库创建后就可以创建表了,创建表可以用( 等方法来创建。 A 、 企业管理器 B 、查询分析器 C 、 OSQL D 、企业管理器和 CREAT E TABL 语句 个整体叫 。(D A 、文件的集合、操作系统、文件系统 B 、 数据的集合、数据库管理系统、数据库系统 C 、命令的集合、数据库系统、软件系统 D 、 程序的集合、命令系统、数据库系统 7 .下面对于关系的叙述中,哪个是不正确的? A 、关系中的每个属性是不可分解的 C 、任意的一个二维表都是一个关系 B 、 (B ) 在关系中元组的顺序是无关紧要的 每一个关系只有一种记录类型 8 . SQL 中,下列涉及空值的操作,不正确的是( C ) A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL) 10 .在数据库技术中,实体-联系模型是一种 D )。 A 、实体--联系模型 B 、层次模型 C 、网状模型 D 、关系模型 C )各种数据内容的。 A 、语法解释 B 、语义解释 C 、语意说明 D 、用法说明 哪一个术语所表达的概念与二维表中的 “行” 的概念

数据库课后练习及答案

第一章:一、单选题 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,建立和修改表结构属于数据定义。 第二章:一、单选题

MySQL数据库考试试题及答案

专业:移动通信科目:MySQL数据库 一、单项选择题 1.以下聚合函数求数据总和的是( ) A.MAX B.SUM C.COUNT D.AVG 答案:B 2.可以用( )来声明游标 A.CREATE CURSOR B.ALTER CURSOR C.SET CURSOR D.DECLARE CURSOR 答案:D 3.SELECT语句的完整语法较复杂,但至少包括的部分是( ) A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO 答案:B 4.SQL语句中的条件用以下哪一项来表达( ) A.THEN B.WHILE C.WHERE D.IF 答案:C 5.使用CREATE TABLE语句的( )子句,在创建基本表时可以启用全文本搜索A.FULLTEXT B.ENGINE C.FROM D.WHRER 答案:A 6.以下能够删除一列的是( ) A.alter table emp remove addcolumn B.alter table emp drop column addcolumn C.alter table emp delete column addcolumn D.alter table emp delete addcolumn 答案:B 7.若要撤销数据库中已经存在的表S,可用()。 A.DELETE TABLE S B.DELETE S C.DROP S D.DROP TABLE S 答案:D

8.查找表结构用以下哪一项( ) A.FIND B.SELETE C.ALTER D.DESC 答案:D 9.要得到最后一句SELECT查询到的总行数,可以使用的函数是( ) A.FOUND_ROWS B.LAST_ROWS C.ROW_COUNT D.LAST_INSERT_ID 答案:A 10.在视图上不能完成的操作是( ) A.查询 B.在视图上定义新的视图 C.更新视图 D.在视图上定义新的表 答案:D 11.UNIQUE惟一索引的作用是( ) A.保证各行在该索引上的值都不得重复 B.保证各行在该索引上的值不得为NULL C.保证参加惟一索引的各列,不得再参加其他的索引 D.保证惟一索引不能被删除 答案:A 12.用于将事务处理写到数据库的命令是( ) A.insert B.rollback C.commit D.savepoint 答案:C 13.查找条件为:姓名不是NULL的记录( ) A.WHERE NAME ! NULL B.WHERE NAME NOT NULL C.WHERE NAME IS NOT NULL D.WHERE NAME!=NULL 答案:C 14.主键的建立有( )种方法 A.一 B.四 C.二 D.三 答案:D 15.在视图上不能完成的操作是( ) A.更新视图数据

数据库考题及答案

Data Structures and Algorithms – MidTerm Exam 1. Let ‘I’ be “push”, ‘O’ be “pop” and ‘P’ be “print” directly. To convert the infix expression a+(b*c–d)/e to its postfix through a stack, the sequence of operations are PIIPIPOIPOOIPOO (For example: (a+b) is converted to ab+ by IPIPOO.) (5 points) 2. In a binary tree of N nodes, there are N+1 NULL pointers representing children. (2 points) 3. A sorting algorithm is stable if elements with equal keys are left in the same order as they occur in the input. Which of the following algorithms is/are stable? Answer: (a) (c) (8 points) (a) insertion sort; (b) quick sort; (c) merge sort; (d) heap sort 4. The following routine removes duplicates from an array-based list A[0] … A[N-1]. LastPosition is initially N-1. for ( i = 0; i < LastPosition; i ++ ) { j = i + 1; while ( j < LastPosition ) if ( A[i] == A[j] ) Delete(j); ++; j else } (a) What is the function of Delete? (3 points) Delete A[ j ] by shifting A[ j+1 ] … A[ LastPosition-1 ] to the left. LastPosition -- . (b) T worst( N ) = O( N2 ) . (2 points) (c) Using linked list implementation, T worst( N ) =O( N2 ) . (2 points) 5. Among the given trees, d has the same inorder and preorder traversal results, and b has the same postorder and inorder traversal results. (4 points) (a) (b) (c) (d) (e) 6. Show the result of inserting { 51, 25, 36, 88, 42, 52, 15, 96, 87, 30 } into (a) an initially empty binary search tree; (b) an initially empty AVL tree; (c) an initially empty 2-3 tree. (30 points)

数据库课后题答案

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本的读者号、总本数。并按借阅本数值从大到小排序。

数据库原理课后习题答案

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

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

数据库试题及答案_

笔试样卷一 参考答案 一、简答题(25分) 1.数据库阶段数据管理的主要特点是什么? 2.解释DB、DBMS、DBS三个概念? 3.什么是物理数据独立性和逻辑数据独立性? 4.试说明DBMS的主要功能? 5.在ER模型转换为关系模型时,联系类型要根据不同的情况作不同的处理,试说明之。 二、计算题(20分) 1.设有关系R和S R: S: A B C A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 3 4 4 4 3 列表计算R∪S、R-S、R×S、π 3,2(S)、δ B<5 (R)。(5分) 2.设有三个关系 S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 试用关系代数表达式表示下列查询

(1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 三、设有三个基本表(45分) S (SNO, SNAME, AGE, SEX, SDEPT) SC (SNO, CNO, GRANDE) C (CNO, CNAME, CDEPT, TNAME) 1.试用T-SQL的查询语句表达下列查询 (1)检索LIU老师所授课程的课程号、课程名 (2)检索年龄大于23岁的男学生的学号和姓名 (3)检索学号为S3的学生所学课程的课程名和认课教师姓名 (4)检索WANG同学不学的课程的课程号 (5)检索至少选修了两门课程的学生的学号(10分) 2.试用T-SQL的查询语句表达下列查询 (1)统计有学生选修的课程的门数 (2)求选修C4课程的学生的年龄 (3)求LIU老师所授课程的每门课程的学生的平均成绩 (4)统计每门课程的学生选修人数 (5)求年龄大于所有女同学年龄的男学生的姓名和年龄(10分)3.试用T-SQL更新语句完成下列更新操作 (1)往表S中插入一个学生资料(‘S9’, ‘WU’, 18)

SQL数据库选择题及答案

1、在数据库技术中,独立于计算机系统的模型是 C 、E-R 模型 D 、层次模型 C 。 A 、面向对象的模型 B 、关系模型 2、数据库系统的控制中枢是 _B_。A 、数据库、b 、数据库管理系统 C 、数据库管理员 D 、 数据库应用系统 3、使用 SQL 命令将学生表 STUDENT 中的学生年龄 AGE 字段的值增加 1 岁,应该使用的 命令是 __C_。 C 、UPDATE STUDENT SET AGE = AGE + 1 D 、UPDAT E STUDENT AGE WITH AGE + 1 4、 在关系数据库中,建立数据库表时,将年龄字段值限制在 12?40岁之间的这种约束属于 __B__。 A 、 视图完整性约束 B 、域完整性约束 C 、参照完整性约束 D 、实体完整性约束 5、 在 SQL 语句中,与 X BETWEEN 20 AND 30 等价的表达式是 __D_。 A 、 X>=20 AND X<30 B 、 X>20 AND X<30 C 、 X>20 AN D X<=30 D 、 X>=20 AND X<=30 6、在数据库中,概念模型是 _D_。A 、用于现实的建模,与具体的 DBMS 有关B 、用于信 息世界的建模,与具体的 DBMS 有关 C 、用于现实的建模,与具体的 DBMS 无关D 、 用于信息世界的建模,与具体的 DBMS 无关 7、数据库的并发操作可能带来的问题包括 __B_。A 非法用户的使用B 丢失更新C 数据独立 性会提高 D 增加数据冗余度 8、在关系数据库中,模式对应的是 表 C 、基本表 D 、索引 9、能实现绝 对的与平台无关性的 C 、 WebbaseAPI D 、 JDBC C 、 SQL 不能嵌入到高级语言程序中 D 、 SQL 是一种 DBMS 11、数据库系统是 由__A_组成的。A 、数据库、数据库管理系统和用户 B 、数据文件、命令文件和报表 C 、数据库文件结构和数据 D 、常量、变量和函数 12、在SQL 查询时,使用 WHER E 子句指出的是 _B_。A 、查询目标B 、查询条件 C 、查 询视图D 、查 询结果 13、在下列RDMBS 产品中,属于小型数据库系统的是 D 、Informix A 、UPDAT E SET AGE WITH AGE + 1 B 、 REPLACE AGE WITH AGE +1 A ___ 。A 、视图和所有基本表 B 、视图和部分基本 Web 数据库访问技术是 _D_。 A 、 ADO B 、 ActiveX 10、在下列描述中,正确的描述是 __B 合操作方式 A 、 SQL 是一种过程化语言 B 、 SQL 采用集 _A_。A 、Access B 、Oracle C 、Sybase

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

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

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

SQL数据库选择题及答案

1、在数据库技术中,独立于计算机系统的模型是_C__。A、面向对象的模型B、关系模型C、E-R模型D、层次模型 2、数据库系统的控制中枢是__B_。A、数据库、b、数据库管理系统 C、数据库管理员 D、数据库应用系统 3、使用SQL命令将学生表STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是__C_。 A、UPDATE SET AGE WITH AGE+1 B、REPLACE AGE WITH AGE+1 C、UPDATE STUDENT SET AGE=AGE+1 D、UPDATE STUDENT AGE WITH AGE+1 4、在关系数据库中,建立数据库表时,将年龄字段值限制在12~40岁之间的这种约束属于__B__。 A、视图完整性约束 B、域完整性约束 C、参照完整性约束 D、实体完整性约束 5、在SQL 语句中,与X BETWEEN 20 AND 30 等价的表达式是

__D_。A、X>=20 AND X<30 B、X>20 AND X<30 C、X>20 AND X<=30 D、X>=20 AND X<=30 6、在数据库中,概念模型是_D__。A、用于现实的建模,与具体的DBMS有关B、用于信息世界的建模,与具体的DBMS有关C、用于现实的建模,与具体的DBMS无关D、用于信息世界的建模,与具体的DBMS无关 7、数据库的并发操作可能带来的问题包括__B_。A非法用户的使用B丢失更新C数据独立性会提高D增加数据冗余度 8、在关系数据库中,模式对应的是__A___。A、视图和所有基本表B、视图和部分基本表C、基本表D、索引 9、能实现绝对的与平台无关性的Web数据库访问技术是_D_。A、ADO B、ActiveX C、WebbaseAPI D、JDBC 10、在下列描述中,正确的描述是__B___。A、SQL 是一种过程化语言B、SQL 采用集合操作方式

数据库原理课后习题答案

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

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

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

第一章数据库系统概述 选择题 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)来实现的

数据库试卷及参考答案

1. 数据库的三级模式结构中,全局数据视图的描述称为模式。 2. 在数据库系统中管理数据的软件称为。 3. 当用户建立视图时,在数据字典中存储的是视图的定义,而不是数据。 4. 数据独立性是指物理和逻辑独立性。 5. 数据模型通常由数据结构、数据操作和完整性约束三部分组成。 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.数据定义,关系规范化,数据操纵 1. 为什么视图被称为虚表?基本表与视图的区别是什么? 因为数据库中只存储有关视图的定义而不存储视图所对应的数据,这些数据仍存放在导出视图的基本表中,所以视图被称为虚表。基本表是实际独立存放在数据库中的表,是实表。 2. 在关系数据库中能完全消除数据冗余吗? 不能。要实现关系数据库中表与表之间的联系,必须通过公共属性来完成,这些公共属性可能是一个表的主键,也可能是另一个表的外键,有相应的参照完整性规则来保证表之间的联系。所以关系数据库中存在数据冗余,但能控制数据的冗余度。 3. 简述在中,语句与的区别。 的作用是删除表中的元组,表的模式依然存在,而是将表的结构和元组全部删除,表被删除()后就不再存在了。 1. 对于教学数据库的三个基本表 学生 S() 学习 (,)

数据库原理课后习题答案.

第一章 1、试说明数据、数据库、数据库管理系统和数据库系统的概念以及它们之间的关系。 答:(1)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库(Database,简称DB):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。(3)数据库系统(Database System,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 (4)数据库管理系统(Database Management System,简称DBMS ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据库的建立和维护功能、数据定义功能、数据组织存储和管理功能、数据操作功能、事务的管理和运行功能。 它们之间的联系:数据库系统包括数据库、数据库管理系统、应用系统、数据库管理员,所以数据库系统是个大的概念。数据库是长期存储在计算机内的有组织、可共享的大量的数据集合,数据库管理系统是由管理员操作管理数据库的查询、更新、删除等操作的,数据库应用系统是用来操作数据库的。 2、数据管理技术的发展主要经历了哪几个阶段? 答:两个阶段,文件管理和数据库管理。

3、比较用文件管理和用数据库管理数据的主要区别。 答:数据库系统与文件系统相比实际上是在应用程序和存储数据的数据库之间增加了一个系统软件,即数据库管理系统,使得以前在应用程序中由开发人员实现的很多繁琐的操作和功能,都可以由这个系统软件完成,这样应用程序不再需要关心数据的存储方式,而且数据的存储方式的变化也不再影响应用程序。而在文件系统中,应用程序和数据的存储是紧密相关的,数据的存储方式的任何变化都会影响到应用程序,因此不利于应用程序的维护。 4、数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么? 答:数据库系统由三个主要部分组成,即数据库、数据库管理系统和应用程序。数据库是数据的汇集,它以一定的组织形式存于存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序指以数据库数据为核心的应用程序。 第二章 1、解释数据模型的概念,为什么要将数据模型分成两个层次? 答:数据模型是对现实世界数据特征的抽象。数据模型一般要满足三个条件:第一是数据模型要能够比较真实地模拟现实世界;第二是数据模型要容易被

相关文档