当前位置:文档之家› 数据库系统及应用课后练习答案

数据库系统及应用课后练习答案

数据库系统及应用课后练习答案
数据库系统及应用课后练习答案

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

习题一

1.什么是数据库?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

习题二

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

数据需要我们的认识、理解、整理、规范和加工,然后才能存放到数据库中。数据从现实生活进入到数据库实际经历了现

·2·

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

实世界阶段(认识、理解)、信息世界阶段(规范、提升)和机器世界阶段(管理),我们也把之称为数据的三种范畴,数据在三种范畴中的概念、术语都有些不同。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

习题三

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

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

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

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

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

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)检索在上海工作的职工的工资。

·4·

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

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

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 DATABASE命令建立新的数据库时,新数据库的第一部分总是通过复制model数据库中的内容创建,剩余部分由空页填充。

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

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

《数据库系统及应用》习题解答·5·通过指定的物理文件名、文件的大小等向操作系统申请物理存储空间。

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 distinct 供应商名,供应商号

from 供应商

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

(select distinct 供应商号

·6·

《数据库系统及应用》习题解答from 订购单

where 供应商号is not null and

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

from 职工

where 工资<1220)

)

--该供应商有下过订单

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

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

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 A VG(工资) 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 A VG(工资) FROM 职工)

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

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

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

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

3)宿主语言的单记录与SQL的多记录的问题。宿主语言一般一次处理一条记录,而SQL常常处理的是记录(元组)的集合,这个矛盾必须解决。

·8·

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

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语句的集合,它存放在数据库中,当用户执行存储过程时,存储过程在数据库服务器上运行。

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

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)

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

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

IF @@ERROR = 0

RETURN 0

ELSE

RETURN –1

--调用

exec upd_wh_area '广州',1000

--查看结果

select * from 仓库

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数据库的订购单关系建立参照完整性。。

·10·

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

建立插入触发器

CREATE TRIGGER ord_ins_trigger

ON 订购单FOR INSERT

AS

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

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子句说明被授权用户可以将指定的对象权限授予其他用户。该子句仅对对象权限有效,对语句权限无效。

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

《数据库系统及应用》习题解答·11·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.请举出两个并发的程序进行更新操作时相互干扰的例子。

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

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

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

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

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

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

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

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

·12·

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

习题九

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

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

仓库关系上的函数依赖:

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

职工关系上的函数依赖:

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

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

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

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

《数据库系统及应用》习题解答·13·供应商号→供应商名,供应商名→供应商号,供应商号→地址,供应商名→地址

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

·14·

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

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

习题十

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

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

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

?确定实体;

?确定实体的属性;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

?设计数据库设备;

?安排数据库的存储;

?设计索引;

《数据库系统及应用》习题解答·15·?设计备份策略等。

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

习题十一

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

?数据库访问界面要支持消息传递,提供计算能力完备的数据库程序设计语言,能解决数据库语言与宿主语言

·16·

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

的某些不匹配问题,提供类似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的查询结果;处理出错信息,并将出错信息返回给应用程序;终止对数据源的连接。

3.设有基于SQL Server的pubs数据源,它对应于pubs数据库,写出利用Visual FoxPro访问或操作SQL Server 的如下语句:

1)连接到pubs数据库;

gn=SQLCONNECT("pubs","sa")

2)查询employee表的全部信息;

=SQLEXEC(gn,"SELECT * FROM employee")

3)为publishers表准备一个带参数的查询,可以指定pub_name(出版社名)进行查询;

=SQLPREPARE(gn,"SELECT * FROM publishers WHERE pub_name=?m_p_name")

4)以前一小题为基础,查询“Five Lakes Publishing”出版社的信息;

m_p_name="Five Lakes Publishing"

=SQLEXEC(gn)

5)从sales表中删除stor_id为6380的记录。

=SQLEXEC(gn,"DELETE FROM sales where stor_id=6380")

4.PowerBuilder是个什么类型的软件产品?

PowerBuilder是一个面向对象的数据库应用系统开发工具。

5.PowerBuilder都可以通过哪些方式访问数据库?

PowerBuilder都可以通过各种接口访问数据库,如ODBC、JDBC、OLE DB和各种数据库专用接口等。

6.试述PowerBuilder中事务对象的概念。

PowerBuilder的事务对象是PowerScript与数据库的通讯区,只有通过事务对象才能完成对数据库的操作。

7.使用PowerBuilder完成12.3节中的例子,初步掌握使用PowerBuilder进行开发的方法。

8.试述基于组件的数据库开发的基本思想。

克服传统C/S结构的明显缺点(缺乏中心控制、缺乏安全性和沉重的客户端负载等),以面向对象技术为基础,将业务处理

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

逻辑和规则按完整的逻辑单元进行封装,即将相关的类封装成组件,并使它们部署在应用服务器上,客户端应用程序不再直接和数据库打交道,而是通过部署在服务器上的组件完成数据操作。

9.查阅有关资料,进一步了解和掌握有关组件开发的技术标准。

10.为什么需要动态HTML?为什么需要Web数据库?

在传统的Web服务器中,文本和其他多媒体信息都是以文件的形式来进行存储和管理的,随着信息量的不断增加,系统的速度等性能受到越来越大的影响。另一方面,WWW的应用领域在不断拓展,静态的Web页面也越来越不能满足对信息服务的动态性、实时性和交互性的要求。也就是说,用户已经不满足看技术人员事先做好的静态信息,而希望能够根据自己的需要看到最新的信息,这就需要数据库的支持,可以根据检索数据库的结果动态生成网页。所以可以嵌入数据库检索语句并根据检索结果动态生成网页的HTML称为动态HTML,而可以支持动态生成网页的数据库就是WEB数据库。

11.试分别叙述Web服务器、页面服务器和事务服务器的作用。

Web服务器接收Web浏览器发送的页面浏览请求,如果其中嵌入了数据请求则交由页面服务器处理。

页面服务器处理负责数据库与Web站点的协调和管理,负责解释Web页面中的数据请求,并将从数据库中获得的动态数据嵌入到Web页面中。

事务服务器即应用服务器或组件服务器,当页面中的数据访问需要调用相应的业务处理逻辑时,可能需要事务服务器的支持。

12.试述在PowerBuilder中Web数据窗口的作用。

Web数据窗口是用于HTML的数据窗口,它提供了一种瘦客户端解决方案,可以提供PowerBuilder数据窗口的大部分数据操作功能,而且不需要在Web客户端安装任何PowerBuilder动态连接库(DLL)或其他组件。

习题十三

1.按软件工程思想(结构化生命周期法)开发一个数据库应用系统应该包括哪些步骤?说明各步骤的主要工作内容。

数据库应用系统开发可以分为如下七个步骤:

?系统调查及可行性分析;

?系统分析(需求分析);

?概要设计(总体设计);

?详细设计(模块设计);

?系统实现(编程);

?系统调试与试运行(测试);

?系统运行、评价与维护(运行)。

系统调查和可行性分析阶段的任务是初步了解信息系统用户的组织机构、业务范畴以及新系统的目标,并且做出可行性分析,包括经济可行性、技术可行性和使用可行性。

需求分析阶段的主要任务是了解用户的需求,基本目标是:对现实世界要处理的对象进行详细调查,在了解原系统(手工系统或以前开发的计算机系统)的情况、确定新系统功能的过程中,确定新系统的目标,收集支持新系统目标的数据需求和处理需求。

总体设计阶段的主要任务是把用户的信息要求统一到一个整体的逻辑结构或概念模式中,此结构能表达用户的要求,并且

·18·

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

独立于任何硬件和数据库管理系统。这一步,从应用程序的角度来讲,要完成子系统的划分和功能模块的划分;从数据库的角度来讲要完成概念模型的设计。

详细设计阶段同样是包括数据库设计和应用程序设计两大部分。对数据库设计要根据具体的数据库管理系统设计数据库、设计关系、考虑数据的完整性、考虑数据的安全和备份策略等。对应用程序设计要给出功能模块说明,考虑实施方法,设计存储过程等。

编程阶段则根据上一步的设计结果进行具体实施,建立数据库并装入原始数据,建立存储过程,编写和调试应用程序代码等。

调试与试运行阶段对各个子系统、各个模块要进行联合调试和测试,并试运行。在试运行阶段要广泛听取用户的意见,并根据运行效果进行评估,修改系统的错误、改进系统的性能。

最后一步是将系统交给用户使用,在使用的过程中可能还会出现新的问题,甚至提出新的需求,所以还要不断对系统进行评价和维护。

2.试述快速原型方法的基本思想,并说明该方法的步骤及其工作内容。

快速原型法(Rapid Prototyping)的基本思想是依据原型进行快速开发,对存在的问题进行反复的修正,直至形成用户满意的系统。

快速原型开发方法可以分为四个步骤:

?系统基本需求的确定:确定用户对系统的基本需求,包括系统的主要性能、总体结构、交互界面等,勾画出用户所需要的初步原型;

?对原型的功能选择:根据需要将原型中的功能分类,确定主次关系,以决定先实现哪些功能;

?原型的构造与试用:根据原型进行快速开发,并提供给用户试用;

?原型的修改和完善:用户可以在试用的过程中发现问题、提出建议,从而不断完善原型,最终得到用户满意的系统。

3.试叙述结构化生命周期方法和快速原型方法的各自利弊,并阐述你个人对数据库应用系统开发方法的见解。

4.试述面向对象开发方法的基本思想和步骤。

面向对象开发方法的基本思想和步骤完全融合了结构化生命周期方法和快速原型方法的基本思想和步骤,只是在其中采取了面向对象的技术。具体来说,也包括需求分析、总体设计、详细设计、编程实施等各个阶段,只是在需求分析阶段建立的是面向对象的数据模型,在设计和实现阶段采取面向对象的技术等。

5.查阅有关资料,进一步了解面向对象的建模语言UML。

6.如何看待数据库应用系统的开发方法?常常导致系统开发失败的原因有哪些?

习题十四

1.简述分布式数据库的特点。

分布式数据库应该具有如下特点:

?数据的物理分布性;

?数据的逻辑整体性;

?数据的分布透明性;

《数据库系统及应用》习题解答·19·?场地自治和协调工作;

?数据冗余。

2.分布式数据库的分布数据独立性的含义是什么?

数据的分布独立性是指用户只需关心整体数据库中有哪些数据,而不必关心数据存放在什么地方及存放细节,分布的存储实现是由系统自动完成的。

3.分布式数据库有哪些分布策略?SQL Server采用的是什么分布技术?

分布式数据库常用的分布策略有:集中式、分割式、复制式、混合式。SQL Server采用的是复制式分布技术。

4.试述出版数据库、发行数据库、订阅数据库的概念,并说明三者之间的关系。

出版数据库提供复制的源数据;订阅数据库与出版数据库相对应,是存放复制数据的目标数据库;发行数据库则扮演着“存储和转发”的角色,它存储来自出版数据库的出版数据,并将这些数据转发到订阅数据库。

5.分别讨论在什么情况下应该使用快照复制、事务复制和合并复制。

以静态数据为主时可以单独使用快照复制;当发生在出版服务器上的数据更改希望及时传播到订阅服务器上时应该使用事务复制;当多个订阅服务器需要在不同时刻更新数据并将这些更改传播到出版服务器和其它订阅服务器时应该使用合并复制。

6.试述在事务复制中“日志读取器代理”的作用和工作流程。

日志读取器代理程序的作用是监视为事务复制配置的每个数据库的事务日志,当发现有更新事务时将这些事务批量复制到发行服务器上的发行数据库中。然后由发行代理程序将这些更新事务传送到订阅数据库。

7.讨论在合并复制中解决更新冲突的策略可以有哪些?

8.试为高校的学籍管理数据库设计分布复制数据模型和复制类型,并说明设计的根据和原则。

习题十五

1.什么是数据仓库?

数据仓库是支持管理决策过程的、面向主题的、集成的、随时间而增长的持久的数据集合。

2.简单叙述数据仓库与决策支持系统的关系。

传统的决策支持系统由数据库、模型库、方法库和人机交互等四个部件组成,它是综合利用各种数据、信息、知识、特别是模型技术,辅助各级决策者解决半结构化决策问题的人机交互系统。但是这种决策支持系统并不成功,它缺少不同时期的大量数据的支持,而数据仓库技术则为决策支持系统提供了支持。数据仓库是支持联机分析应用,是为决策支持服务的。也有人说数据仓库就是决策支持系统。

3.简述SQL Server的数据仓库解决方案。

SQL Server提供了一些组件可以将OLTP数据转换为OLAP数据,并使OLAP信息可由决策者使用,从而构成SQL Server 的数据仓库解决方案。

4.将数据库中的OLTP数据转换成数据仓库的OLAP数据一般包括哪些过程?

包括合并数据、清理数据、聚合数据、将数据组织到多维数据集中等过程。

·20·

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

习题十六

1.什么是并行数据库?并行数据库的主要研究内容是什么?

并行数据库是在并行计算机上具有并行处理能力的数据库系统,它是数据库技术与计算机并行处理技术相结合的产物。

并行数据库的研究主要包括以下几个方面:一是实现并行数据库操作的并行算法的研究;二是并行数据库物理存储结构的研究;三是并行查询优化的研究。

2.简单叙述主动数据库的主要特征。

主动数据库的最主要特征就是能够提供主动的服务。

3.工程数据库主要用于什么领域?工程数据库有哪些特点?

工程数据库主要用于计算机辅助设计(CAD)和计算机辅助制造(CAM)等通常称为CAx的工程应用领域。工程数据库具有以下一些特点:

?支持复杂多样的工程数据的存储和管理;

?支持复杂对象(如图形数据)的表示和处理;

?支持变长结构的数据实体的处理;

?支持多种工程应用程序;

?支持模式的动态修改和扩展;

?支持工程长事务和嵌套事务的处理和恢复等。

4.什么是知识库?知识库一般从哪两个方面进行研究?

数据库除了可以存储常规的数据,还可以存储和管理“知识”,使数据库智能化,这就是所谓的知识库。

知识库的研究一般从两个方面进行,一方面是从人工智能出发研究知识库,另一方面是从数据库出发研究知识库。

5.试述研究模糊数据库的意义。

传统的数据库系统描述和存储的是精确的和确定的客观事物,但不能描述和处理模糊的和不确定的数据。模糊技术与数据库技术相结合,就是希望利用数据库来描述、存储和处理模糊数据,从而提高模糊技术的应用水平。

模糊不是目的,研究模糊是人们认知世界所采取的一种手段,人们通过模糊最终要做出正确的结论。所以模糊数据库是人工智能和专家系统的一个很重要的研究领域。

6.什么是空间数据库?举例说明空间数据库应该提供哪些特定的查询功能。

空间数据是用于表示空间物体的位置、形状、大小和分布特征等各方面信息的数据。空间数据库则是存储空间物体信息的数据库,并能够对空间数据进行高效的查询和处理。

空间数据库应该提供以下一些常用的查询方法:

?点-线查询,例如查询某一河流(线)上的桥梁(点);

?点-面查询,例如查询某一城市(面)的学校(点);

?线-面查询,例如查询某一高速公路(线)所经过的城镇(面);

?点-点查询,例如查询两个地点之间的距离;

?线-线查询,例如查询与某一高速公路相交的所有公路等。

数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”与“值”之分;○2数据受数据类型与取值范围的约束;○3数据有定性表示与定量之分;○4数据应具有载体与多种表现形式。 3、(1)数据管理的功能: ○1组织与保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存; ○2数据维护功能,即根据需要随时进行插入新数据,修改原数据与删除失效数据的操作; ○3数据查询与数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全与完整性控制功能,即能保护数据的安全与完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全与完整性。 4、(1)数据库:就是数据管理的新方法与技术,她就是一个按数据结构来存储与管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它就是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询与统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:就是数据存储、数据操作与数据控制功能。其数据存储与数据操作就是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除与修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询与统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露与破坏,也就就是避免数据被人偷瞧、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效与相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件与用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统就是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法与汉字信息的处理方法。②数据库管理系统与主语言系统:数据库管理系统就是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统就是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具就是DBMS系统为应用开发人员与最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询与视图设计器等,它们为数据库系统的开发与使用提供了良好的环境与帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们就是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理与处理操作。(3)关系:

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

《数据库原理与应用》 一.单项选择题(每题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 页

兰州交通大学数据库期末复习资料

1.数据库:是描述事物的符号记录,是信息的载体,是信息的具体表现形式。 2.数据库技术的三个发展阶段: (1)人工管理阶段:硬件,外存只有磁带、卡片、纸带,没有磁盘等直接存取的存储设备;软件,没有操作系统,没有管理数据的软件,数据处理的方式是批处理。 (2)文件系统阶段:硬件,磁盘为主要外存储器;软件,高级语言和操作系统。 (3)数据库系统阶段:统一管理和共享数据的数据库管理系统(DBMS)。 3.数据库系统的特点: 数据结构化。较高的数据共享性。较高的数据独立性。数据由DBMS统一管理和控制。 4.数据库概念:数据库指长期存储在计算机系统内有组织的、可共享的数据集合,即在计算机系统中按一定的数据模型组织、存储和使用的相关联的数据集合。 5.数据库系统的概念:指在计算机系统中引入数据库后的 系统,一般由数据库、数据库 管理系统、数据库开发工具、 数据库应用系统、数据库管理 员和用户构成。 6.数据库(DataBase,DB)就 是存放数据库的仓库,是将数 据按一定的数据模型组织、描 述和存储,能够自动进行查询 和修改的数据集合。 7.数据库管理系统(DataBase Management System,DBMS)是 数据库系统的核心,是为数据 库建立、使用和维护而配置的 软件。 8.数据库管理系统的功能: 数据定义和操纵功能。数据库 运行控制功能。数据库的组织、 存储和管理。建立和维护数据 库。数据通信接口。 9.数据库的三级模式结构: 外模式、模式和内模式。 10.数据库的两级映像:外模 式/模式映像(逻辑独立性)。 模式/内模式映像(物理独立 性)。 10.概念模型及作用:是现实 世界的抽象反映,它表示实体 类型及实体间的联系,是独立 于计算机系统的模型,是现实 世界到机器世界的一个中间层 次。 11.联系的类型: 一对一联系(1:1)。一对多联 系(1:M)。多对多联系(M:N)。 12.数据模型:由数据结构(对 计算机的数据组织方式和数据 直接联系进行框架性描述的集 合,是对数据库静态特征的描 述)、数据操作(指数据库中 各记录允许执行的操作的集 合,包括操作方法及有关的操 作规则等,如插入、修改、检 索、更新等)、数据的完整性 约束(数据的约束条件是关于 数据状态和状态变化的一组完 整性约束规则的集合,以保证 数据的正确性、有效性和一致 性)三部分组成。 A.数据模型:层次模型。网 状模型。关系模型。 13.关系数据模型:用二维表 格结构表示实体以及实体之间 的联系的数据模型。 14.关系模式:关系的描述称 为关系模式。一个关系模式应 当是一个五元组。关系模式可 以形式化的表示为, R(U,D,dom,F).其中,R是关系 名,U是组成该关系的属性名 集合,D是属性组U中属性所 来自的域,dom是属性向域的 映像集合 15.关系的完整性:实体完 整性、参照完整性、用户自定 义完整性。 16.关系运算:关系代数的运 算对象是关系,运算结果也是 关系。 17.关系代数中的操作也分为 两类:(1)传统的集合操作, 并、差、交、笛卡尔积。(2) 专门的关系操作(关系特有的 运算),投影(对关系进行垂直 分割)、选择(水平分割)、连 接(关系的结合)、除法(笛卡 尔积的逆运算)等。 18.数据库设计过程的步骤: 需求分析、概念结构设计、逻 辑结构设计、数据库物理设计、 数据库实施、运行和维护等内 容。 20.SQL Server 2005的版本 企业版。标准版。工作组版。 精简版。开发人员版。 21.SQL(结构化查询语言)语 言是集数据定义、数据查询、 数据操纵和数据控制功能于一 体的语言 22.数据定义语言(DDL)用 于执行数据库任务,对数据库 以及数据库中的各种对象进行 创建(CREA TE)、删除 (DROP)、修改(AL TER)等操 作。 23.数据库操纵语言(DML) 用于操纵数据库中各种对象, 检索和修改数据。增inster .. 删delete 修update 查 select. 24.数据控制语言(DCL)用 于安全管理,确定哪些用户可 以查看或修改数据库中的数 据。授予权限(GRANT).收 回权限(REVOKE)收回权 限,并禁止从其他角色继承许 可权限(DENY) 25.Select 列1,列2 From 表1,表2 Where 条件 Group by 26.局部变量定义一般格式: DECLAER{@local_variable data_type}[…n] ①@local_variable :用于指定 变量的名称,变量名必须以@ 开头,并且变量名必须符合 SQL Server的命名规则。 ②data_type: 用于设置变量的 数据类型及大小,data_type可 以是任何由系统提供的或用户 定义的数据类型。但是,变量 不能是text ntexr或image数据 类型 27.局部变量的赋值方法: 使用DECLARE命令声明并创 建变量之后,系统会将其初始 值设为NULL,如果想要设定 变量的值,必须使用SET命令 或者SELECT命令 SET{@local_variable = expression }或者SELECT {@local_variable = expression}[、…n] 其中:参数@local_variable 是 给其赋值并声明的变量, expression是有效的SQL Server 表达式。 二崽版权所属!- 1 -

《抽象代数基础》习题解答

《抽象代数基础》习 题 答 解 于延栋编 盐城师范学院数学科学学院二零零九年五月

第一章 群 论 §1 代数运算 1.设},,,{c b a e A =,A 上的乘法”“?的乘法表如下: 证明: ”“?适合结合律. 证明 设z y x ,,为A 中任意三个元素.为了证明”“?适合结合律,只需证明 )()(z y x z y x ??=??. 下面分两种情形来阐明上式成立. I.z y x ,,中至少有一个等于e . 当e x =时,)()(z y x z y z y x ??=?=??; 当e y =时,)()(z y x z x z y x ??=?=??; 当e z =时,)()(z y x y x z y x ??=?=??. II .z y x ,,都不等于e . (I)z y x ==.这时,)()(z y x e x x z z e z y x ??=?===?=??. (II)z y x ,,两两不等.这时,)()(z y x x x e z z z y x ??=?==?=??. (III)z y x ,,中有且仅有两个相等. 当y x =时,x 和z 是},,{c b a 中的两个不同元素,令u 表示},,{c b a 中其余的那个元素.于是,z z e z y x =?=??)(,z u x z y x =?=??)(,从而,)()(z y x z y x ??=??.同理可知,当z y =或x z =时,都有)()(z y x z y x ??=??. 2.设”“?是集合A 上一个适合结合律的代数运算.对于A 中元素,归纳定义∏=n i i a 1为: 111a a i i =∏=,111 1+=+=????? ??=∏∏r r i i r i i a a a . 证明: ∏∏∏+==+==???? ??????? ??m n k k m j j n n i i a a a 1 11.

数据库课后练习及答案

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

数据库原理及应用教程第4版习题参考答案

习题参考答案 第1章习题参考答案 一、选择题 1. C 2. B 3. D 4. C 5. D 6. B 7. A 8. B 9. D 10. B 11. C 12. D 13. D 14. D 15. B 16. C 17. D 18. A 19. D 20. A 21. D 22. D 23. C 24. A 25. C 二、填空题 1. 数据库系统阶段 2. 关系 3. 物理独立性 4. 操作系统 5. 数据库管理系统(DBMS) 6. 一对多 7. 独立性 8. 完整性控制 9. 逻辑独立性 10. 关系模型 11. 概念结构(逻辑) 12. 树有向图二维表嵌套和递归 13. 宿主语言(或主语言) 14. 数据字典 15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构 16. 现实世界信息世界计算机世界 三、简答题 1、简述数据库管理技术发展的三个阶段。各阶段的特点是什么? 答:数据库管理技术经历了人工管理阶段、文件系统阶段和数据库系统阶段。 (1)、人工管理数据的特点: A、数据不保存。 B、系统没有专用的软件对数据进行管理。 C、数据不共

享。D、数据不具有独立性。 (2)、文件系统阶段的特点: A、数据以文件的形式长期保存。 B、由文件系统管理数据。 C、程序与数据之间有一定的独立性。 D、文件的形式已经多样化 E、数据具有一定的共享性 (3)、数据库系统管理阶段特点: A、数据结构化。 B、数据共享性高、冗余度底。 C、数据独立性高。 D、有统一的数据控制功能。 2、从程序和数据之间的关系来分析文件系统和数据库系统之间的区别和联系 答:数据管理的规模日趋增大,数据量急剧增加,文件管理系统已不能适应要求,数据库管理技术为用户提供了更广泛的数据共享和更高的数据独立性,进一步减少了数据的余度,并为用户提供了方便的操作使用接口。数据库系统对数据的管理方式与文件管理系统不同,它把所有应用程序中使用的数据汇集起来,以记录为单位存储,在数据库管理系统的监督和管理下使用,因此数据库中的数据是集成的,每个用户享用其中的一部分。 3、简述数据库、数据库管理系统、数据库系统三个概念的含义和联系。答:数据库是指存储在计算机内、有组织的、可共享的数据集合。 数据库管理系统是软件系统的一个重要组成部分,它通过借助操作系统完成对硬件的访问,并对数据库的数据进行存取、维护和管理。 数据库系统是指计算机系统中引入数据库后的系统构成。它主要由数据库、数据库用户、计算机硬件系统和计算机软件系统几部分组成。 三者的联系是:数据库系统包括数据库和数据库管理系统。数据库系统主要通过数据库管理系统对数据库进行管理的。 4、数据库系统包括哪几个主要组成部分?各部分的功能是什么?画出整个数据库系统的层次结构图。 答:数据库系统包括:数据库、数据库用户、软件系统和硬件系统。 数据库主要是来保存数据的。 数据库用户是对数据库进行使用的人,主要对数据库进行存储、维护和检索等操作。 软件系统主要完成对数据库的资源管理、完成各种操作请求。 硬件系统主要完成数据库的一些物理上的操作,如物理存储、输入输出等。

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.更新视图数据

数据库系统模拟试卷上海交大成人教育

模拟试卷 一、选择题(15分) 1.关系的主属性不能取空值,属于() A.实体完整性约束 B.参照完整性约束 C.用户定义完整性约束 D.动态元组约束 2..数据库系统的数据独立性体现在()。 A.不会因为数据的变化而影响到应用程序 B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序 C.不会因为存储策略的变化而影响存储结构 D.不会因为某些存储结构的变化而影响其他的存储结构 3.概念模型是现实世界的第一层抽象,这一类模型中最着名的模型是()。 A.层次模型 B.关系模型 C.网状模型 D.实体-关系模型 4.如果一个关系属于第3范式,则它() A.必然属于2NF B.必然属于4NF C.可能不属于2NF D.必然属于BCNF 5.数据库系统由数据库、数据库管理系统、应用系统和()组成。 A.系统分析员 B.程序员 C.数据库管理员 D.操作员 6.根据DBMS的特点,进行数据库的存取方法和存储方式设置,形成了关系数据库的() A.外模式 B.模式 C.子模式 D.内模式 7.关系数据库中的投影操作是指从关系中()。 A.抽出特定记录 B.抽出特定字段 C.建立相应的影像 D.建立相应的图形 8.全码是指() A.每个属性都是独立的主码 B.每个属性都是独立的候选码 C.所有属性组合为关系的候选码 D.所有属性组合为关系的外码 9.关系代数中的连接操作是由()操作组合而成。 A.选择和投影 B.选择和笛卡尔积 C.投影、选择、笛卡尔积 D.投影和笛卡尔积 10.假设有关系R和S,关系代数表达式R-(R-S)表示的是()。 ∩S∪S -S ×S 11.在SQL语言中的视图VIEW是数据库的()。 A.外模式 B.模式 C.内模式 D.存储模式 12.在概念模型中事物称为() A.实体 B.对象 C.纪录 D.节点 13.下列不属于并发操作带来的一致性问题是()。 A.丢失修改 B.不可重复读 C.死锁 D.脏读 14.在关系R中选择若干属性列,形成新的关系,这叫做()

数据库课后练习及答案

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,建立和修改表结构属于数据定义。

数据库试题及答案_

笔试样卷一 参考答案 一、简答题(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)

大连交通大学数据库期末复习提纲和各章节概念总结

数据库原理与应用期末复习提纲 第一章概述 1.了解数据库管理技术发展的三个阶段,数据库系统阶段特点 2.掌握数据库技术的相关概念,包括数据、数据模型、数据库、数据库管理系统和数据系统等 3.理解数据模型,包括数据模型的组成要素;概念模型的基本概念和表示方法。 4.掌握常见的三种逻辑数据模型的根本区别,关系模型; 5.掌握数据库系统的结构,包括数据库的三级模式及两级映像结构; 6.了解数据库管理系统的主要功能、组成,以及数据库系统的组成。 第二章关系数据库 1.关系及基本概念 2.关系的性质 3.关系的三种完整性 4.关系代数运算重点 第三章、第七章 1.什么是DB2实例,实例和数据库的关系? 2.什么是表空间,DB2支持哪几类表空间? 3.DB2创建数据库时,先创建哪三个表空间? 4.什么是缓冲池,其作用是什么? 5.什么是容器,容器和表空间的关系,三类容器都是什么,分别适合哪种表空间使用? 6.DB2移动实用程序所使用的文件格式有哪几种? 7.DB2导入工具import和装入工具load有何区别,各自支持哪些文件格式? 8.DB2数据库间移动大量的表使用哪个工具? 9.DB2数据库系统架构:核心、接口等 第四章SQL 1.SQL语言功能 2.SQL数据定义功能 3.SQL查询重点 4.视图操作 5.数据更新 6.授权 第五章关系数据库规范化理论

1.掌握主键、外键、候选键、全键、决定属性集的概念及判断。 2.掌握数据依赖类型以及各种函数依赖定义,会判断函数依赖类型。 3.理解掌握范式的定义及类型,重点掌握1NF、2NF、3NF的判定条件,了解BCNF概念。 4.掌握根据所给语义写出函数依赖集。 5.掌握候选键的求解理论。 6.掌握模式分解的方法 第六章数据库设计 1.数据库设计的特点、方法和步骤 2.需求分析阶段的结果 3.概念设计的特点、方法、步骤 4.局部视图的设计、视图的集成 5.逻辑结构设计:E-R图向关系模型的转换,数据模型的优化等重点 第八章数据库完整性 1.掌握实体完整性、参照完整性、用户自定义完整性的定义方法 2.掌握DB2参照完整性规则 3.掌握唯一性约束的定义方法 4.掌握约束的命名、撤销、添加方法(CONSTRAINT关键字的使用) 5.掌握前、后触发器的定义方法 第九章数据库安全性 1.计算机系统的安全模型 2.数据库系统安全控制的一般方法 3.DB2数据库系统的安全性控制三个级别 4.DB2的五种权限的分配 第十章数据库并发性 1.什么是事务,事务的ACID特性是什么 2.数据库的并发操作带来的四个问题 3.事务的两种调度方案及其正确性 4.锁的类型和锁相容关系 5.两阶段锁协议是什么 6.掌握一、二、三级封锁协议是什么,各能解决什么问题 7.掌握DB2隔离级别及其并发性能 第十一章数据库恢复 1.数据库常见的故障类型及相应的恢复策略

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

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

(完整word版)数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”和“值”之分;○2数据受数据类型和取值范围的约束;○3数据有定性表示和定量之分;○4数据应具有载体和多种表现形式。 3、(1)数据管理的功能:○1组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入新数据,修改原数据和删除失效数据的操作;○3数据查询和数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全和完整性控制功能,即能保护数据的安全和完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。 4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件和用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。②数据库管理系统和主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。(3)关系:

相关主题
文本预览
相关文档 最新文档