数据库实验指导书答案 下载本文

《数据库原理》1—7章作业参考答案

第1章 数据库技术基础参考答案

一、名词解释参考答案

DBMS:

DBS:

DB:

数据模型:

层次模型:

满足下面两个条件的基本层次联系的集合称之为层次模型:

⑴ 有且只有一个结点没有双亲(根结点) ⑵ 根以外的其余结点有且只有一个双亲 网状模型:

满足下面条件的基本层次联系的集合:

⑴ 有一个以上的结点没有双亲; ⑵ 一个结点可以有多于一个的双亲; ⑶ 两个结点之间可以有多重关系; ⑷ 一个结点有到自身的关系。 关系模型:

关系模型可以看作用一张二维表格来描述实体及实体之间的联系。每一列称为属性或字段;每一行称为元组或记录。用关系模式来描述。关系模型既能反映属性间一对一的联系,又能反映属性间一对多的联系,还能反映属性间多对多的联系。

物理数据独立性:

逻辑数据独立性:

.1.

数据字典:

数据字典(DD)是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具。数据字典的基本内容包括:

数据项 描述实体的一个属性,每个数据项都有自己专有的名称。 记 录 若干数据项的集合,它是对一个实体的完整性的描述。 文 件 记录值的集合。 外模式 用户视图的定义。

模 式 描述数据库所含实体、实体之间的联系和信息流。

内模式 数据库存储结构的描述、实体之间的和存放方法、物理映象等。 外模式/模式映象 描述外模式和模式之间信息的对应关系。 模式/内模式映象 描述模式和内模式之间信息的对应关系。

用户管理信息 如用户应用程序、用户口令和工作区信息的对应关系。

数据库控制信息 主要有安全性要求、完整性约束、多个用户使用数据库时的并行管理、数据库副本管理、工作日志文件的维护等。

对数据库的操作都要通过访问DD才能实现。通常DD中还存放数据库运行时的统计信息,例如,记录个数、访问次数等。

DD分两类:一类是只能被用户和DBA访问,而DBMS软件不能访问,这类DD称为“被动的DD”,另一类是既能被用户和DBA访问,也能被DBMS软件访问,这类DD称为“主动的DD”。

管理DD的实用程序称为DD系统。访问DD中的数据是由DD系统实现的。现有的大型系统中,把DD系统单独抽出来成为一个软件工具,使之成为一个比DBMS更高级的用户与数据库系统之间的接口。

DDL:

数据描述语言对应数据库系统的三级模式(外模式、模式和内模式),分别有三种不同的DDL:外模式DDL、模式DDL和内模式DDL。

外模式DDL:是专门定义外视图的,外视图是用户观点的数据库描述(与用户有关的数据元素名字、特征及相互关系),它是数据库的局部逻辑结构。

模式DDL:是用来描述概念视图的专用语言。概念视图是数据库的全局逻辑结构,它包括数据库中所有元素的名字、特征及相互关系的描述,并包括数据的安全保密性和完整以及存储安排、存取路径等信息。

内模式DDL:是用来定义内视图的数据描述语言。内视图是从物理层中分离出来的,但不是物理视图。虽然它有存储记录和块的,但它不受任何存储设备和设备规格(如柱面大小、磁道容量等)的限制。它包括对存储记录类型、索引方法等方面的描述。 用三种DDL描述不同的模式,有利于实现数据的独立性。

DML:

数据操纵语言是用户与DBMS之间的接口,它是DBMS提供给用户的对数据库进行检索的存储的工具。包括数据查询、插入、删除等各种操作命令。DML由一组命令语句组成,这些语句可分为4类。

(1)存储语句

用户使用存储语句向数据库中存放数据。系统给出新增数据库记录的数据库码,并分配相应的存储空间。 (2)控制语句

用户通过这类语句向DBMS发出使用数据库的命令,使数据库置于可用状态。操作结束后,

.2.

必须使用关闭数据库的命令,以便对数据库的数据进行保护。 (3)检索语句

用户通过这类语句把需要检索的数据从数据库中选择出来传至内存,交给应用程序处理。 (4)更新语句

用户通过这组更新语句完成对数据库的插入、删除和修改数据的操作。

二、选择题参考答案

CDDCA、DACBD

三、填空题

1.数据库的三级模式体系结构是指__外模式___、___模式____和___内模式_。

2.数据库经历了_人工管理阶段__、__文件管理阶段_和_数据库管理阶段_三个阶段。 3.层次模型的上层和下层实体之间表现为___一多_____联系。

4.当用E-R图表示数据库概念模型时,此E-R图能常按_局部E-R图__和_总体E—R图_两个步骤进行设计。

5.两个实体型联系分为_一对一_、_一对多_、_多对多_ 。

6.模式/内模式映象为数据库提供了_物理数据独立性_数据独立性。 7.在层次、网状模型中,数据之间联系用_基本层次_实现。

8.结构数据模型是由 层次 、 网状 和 关系 三部分组成的。

9.按照数据结构的类型来命名,数据模型分为 概念结构 、 逻辑结构 和 物理结构 。 10.提供数据库定义、数据装入、数据操纵、数据控制和DB维护功能的软件称为_DBMS___。

四、简答题

1.DB的三级模式体系结构描述了什么问题?试详细解释。 答:

2.试述模式在数据库中的重要地位。

答:数据模式是对全体数据的逻辑结构、联系和约束的描述。某数据模式下的一组具体的数据值称为数据模式的一个实例。因此,数据模式是稳定的,而实例是在不断变化,不断更新的。数据库的三级模式结构是对数据的三个抽象级别。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。主要是保证数据的物理独立性和逻辑数据的独立性。数据独立性的好处在于,当数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。数据的逻辑模式改变了,但用户的模式可以不改变,因此应用程序也可以不变,这将使程序维护容易,。另外,对同

.3.

一逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给数据库管理员(DBA)维护、改变数据库的存储提供了方便。方便了用户使用数据库。在使用时只需去关心用户数据库的具体内容,不要考虑它的逻辑结构和存储结构。有利于数据共享(减少数据冗余)。有利于数据安全和保密。 3.数据独立性与数据联系这两个概念有什么区别?

答:联系是指在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。数据独立性是指,当数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。数据的逻辑模式改变了,但用户的模式可以不改变,因此应用程序也可以不变,这将使程序维护容易,。另外,对同一逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给数据库管理员(DBA)维护、改变数据库的存储提供了方便。 4.试述DBMS的主要功能。 答:

5.DBS由哪几个部分组成? 答:

6.DBA的职责是什么? 答:

五、综合应用题

1.奥林匹克运动会有来自世界各国运动员组成的体育代表团参赛各类竞赛项目。

一个代表团由多名运动员组成;一个运动员可以参加不同项目的比赛,而一个竞赛项目允许多名运动员参赛。为了管理赛事,将代表团、运动员、竞赛项目作为实体,其中:

代表团包含:国家、团长、人数等属性;

运动员包含:编号、姓名、性别、年龄等属性;

竞赛项目包含:项目号、项目名、比赛时间、比赛场地等属性。

试为赛事涉及的各代表团、运动员、竞赛项目、比赛情况设计E-R模型。

.4.

2.某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。

根据上述语义画出E-R图,在E-R图中需注明实体的属性、联系的类型等。

.5.

第2章 关系数据库

一、 名词解释

关系模型:

关系模型主要有三个组成部分: ? 数据结构(二维表格即关系);数据操作(其理论依据是关系代数和关系演算);完整性规则(实体完整性、参照完整性和用户完整性)。 1.数据结构

在关系模型中,实体、实体间的各种联系均用关系表示;其逻辑结构就是二维表格。

2.数据操作

数据操作用于描述系统的动态特性,其理论依据是关系代数和关系演算。

数据库主要有检索和更新(包括插入、删除和修改)两大类操作。在关系模型中必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。 (1)常用的关系操作 包括:选择(Select)、 投影(Project)、 连接(Join)、

除(Divide)、 并(Union) 交(Intersection)、

差(Difference)、 插入(Insert)、 删除(Delete)、

修改(Update)等操作。

特点:集合操作方式(操作的对象和结果都是集合)。

操作方式:采用关系代数和关系演算方式。关系代数是用关系运算来表达查询要求的方式;关系演算是用谓词来表达查询要求的方式。在关系演算中又分元组关系演算和域关系演算。 (2)关系数据语言 1)抽象的查询语言

关系代数、关系演算是抽象的查询语言,它们与具体的DBMS中实现的实际语言并不完全一样,但它们能用作评估实际系统中查询语言能力的标准和基础。 2)SQL语言

SQL语言是介于关系代数、关系演算之间的一种语言,它是把查询、定义、控制合为一体的关系数据语言。

3.关系模型的三类完整性规则

关系模型的三类完整性规则,是对数据的约束。在关系模型中提供了三类完整性规则:实体完整性、参照完整性和用户定义的完整性。

主键:用户选作元组标识的一个侯选键称为主键。

外键:若有一个关系R中包含有另一个关系S的主键K所对应的 属性组F ,且F不是R的主键,则称F为R的外键。 候选键:能唯一标识元组的最小属性组合。 实体完整性:

参照完整性:

.6.

关系系统:

当一个系统满足以下两条要求时,它就是一个关系系统:

(1)支持关系数据结构。在用户眼里,数据库是由表,并且只有表构成的。

(2)不仅应有关系代数中选择、投影和(自然)连接运算,并且不能要求用户定义任何物理存取路径。

上述两点构成了关系系统的最基本要求。

二、 单项选择题

BBABB、ACDBD

三、 填空题

1.“关系”这个术语来自数学中的_集合_概念,因此,关系中任意两个元组不能__重复__。 2. 关系代数运算都是_关系_级的运算,即它们的每个运算分量是一个_关系_,运算的结果也是

_关系_。

3. 关系数据库中,实现表与表之间的联系是通过__外码__。

4. 两个没有公共属性的关系作自然连接时等价于它们作_集合并_。

5. 关系数据库中,实现主码标识元组的作用是通过_实体完整性实现的_。

6. 在关系数据库中,实现“表中任意两行不能相同”的约束是_实体完整性_。

7. 传统的集合“并、交、差”运算施加于两个关系时,这两个关系的_度(列数)_必须相等,

_对应列_必须取自同一个域。

8. 在关系代数中,对一个关系做投影操作后,新关系的元组个数_等于或小于_原来关系的元组个数。

9. 设关系 R 和关系 S 的元数分别是 3 和 4 ,关系 T 是 R 与 S 的笛卡尔积,即:T=R×S

则关系 T 的元数是 7 。

10.关系代数中,连接运算是__笛卡尔积、选择和投影_操作的组合。

四、 程序设计题 1.解:

πB,C(R) σA=D(R×S) B 3 5 8 C A B C D E 4 4 7 7 9 5 7 4 8 9 7 8 5 2.现有关系数据库如下:?

S(学号,姓名,性别,专业,奖学金)? C(课程号,课程名,学分)? SC(学号,课程号,分数)?

用关系代数表达式实现下列各题。

(1)检索“英语”专业学生所学课程的学号、姓名、课程名和分数。

(2)检索“数据库技术”课程成绩高于90分的所有学生的学号、姓名、专业和

分数。

(3)检索选修课程号为C2和C5的学生学号。

(4)检索不选修“C1”课程的学生学号,姓名和专业。

(5)检索没有任何一门课程成绩不及格的所有学生的学号、姓名和专业。

3.对于上题的关系S、C、SC,试用元组演算表达式表示下列各题。?

(1)检索选修课程号为K2的学生学号和分数。

.7.

(2)检索“数据库技术”课程的学生学号和姓名。 (3)检索选修课程号为K2和K5的学生学号。 (4)检索不选修“C1”课程的学生姓名和专业。 (5)检索选修全部课程的学生姓名。

4.有关系R、S和W,写出下列域演算表达式的结果。

R S W A B C A B C A B C 6 b 7 3 a d 6 b 2 6 d 4 6 b e 5 a 7

3 c 5 5 c f 2 c 9

(1) R1= { xyz| R(xyz) ?(z>6∨y=a) } (2) R2={ xyz| R(xyz)∨S(xyz)?x=6?z?7 }

(2) R3={vyx|(?z)( ?u)( R(xyz)?w(uvt)?z>u)}

5.设 R 和 S 都是二元关系,把元组表达式

{ t| R(t)?(?u)(s(u)?u[1]=t[2]) }转换成等价的: (1) 汉语查询句子; (2) 关系代数表达式; (3) 域表达式。

.8.

第3章 关系数据库标准语言SQL

一、基本概念题

1. SQL语言有什么特点? 答:(1)语言功能的一体化 (2)模式结构的一体化 (3)面向集合的操作方式

(4)自含式语言(交互式语言),又是嵌入式语言两种使用方式、同一语法结构 (5)语言简洁、易学易用 (6)高度非过程化

2. 试指出SQL语言中基本表和视图的区别和联系是什么?

答:一个视图虽然也是一个关系,但是它与基本表有着本质的区别。任何一个视图都是从已有的若干关系导出的关系,它只是逻辑上的定义,实际并不存在。在导出时,给出一个视图的定义,此定义存放在数据字典中,但没有真正执行此定义。当使用某一视图查询时,将实时从数据字典中调出此视图的定义;根据此定义以及现场查询条件,从规定的若干关系中取出数据,组织成查询结果。因此,视图是虚表。

3. 哪些视图是可以更新的?哪些视图是不可以更新的?请各举一例说明。

4. 嵌入式SQL语言需解决的几个问题是什么?怎么解决? 答:使用嵌入式SQL必须解决以下几个问题:

.9.

⑴ 预编译器不能识别和接受 SQL语句,因此,嵌入式程序中,应有区分 SQL语句与 宿主语言语句的标记。如:在C语言中使用EXEC SQL标记。

⑵ DBMS和宿主语言程序(程序工作单元)如何进行信息传递。解决方法:主变量及其指示变量、SQL通信区。

⑶ 一条SQL语句原则上可产生或处理一组记录(集合),而宿主语言一次只能处理一

个记录,必须协调这两种处理方式。解决方法:游标。 5. 什么是游标?使用游标有哪几个步骤?

答:游标是系统为用户的查询结果开辟带指针的数据缓冲区,存放SQL的查询结果,每个游标有一个单独的名字。 游标的操作的主要步骤:

(1)用DECLARE语句声明游标,并定义游标类型和属性; (2)调用OPEN语句打开和填充游标;

(3)执行FETCH函数(或语句)读取游标中的单行数据; (4)如果需要,修改游标基表中的当前行数据; (5)执行CLOSE语句关闭游标;

(6)执行DEALLOCATE语句删除游标,并释放它所占用的所有资源。

6. 嵌入式SQL语言在什么情况下需要使用游标?什么情况下不需要使用游标? 答:不需要使用游标的语句有: .说明性语句;

.数据定义语句; . 数据控制语句; .INSERT语句

.查询结果为单记录的SELECT语句 . 对满足条件的当前记录(或记录集),一次性进行修改或删除的UPDATE和 DELETE语句(有些书上把 UPDATE或 DELETE语句这种使用形式称为非CURRENT形式)。

需要使用游标的SQL语句有:

.查询结果为多条记录的SELECT语句;

.对满足条件的结果集中记录分别进行修改或删除的UPDATE、DELETE语句。也称为CURRENT形式的UPDATE、DELETE语句

7. 什么是Transact-SQL?它在哪些方面增加了标准SQL的功能? 答:Transact-SQL 的缩写为T-SQL,T-SQL是Microsoft 公司的SQL Server的数据库语言,它是对标准SQL语言的扩充。T-SQL以存储过程、函数、数据类型、逻辑运算符及流程控制语句等增加了SQL语言的功能。

8. 什么是触发器?触发器的主要优点是什么?

答:所谓触发器就是一类由事件驱动的特殊过程(特殊类型的存储过程),当一个触发器建立后,它作为一个数据库对象被存储。当某个触发事件发生时,触发器被触发,执行一系列操作。触发器一旦由某个用户建立,任何用户对该触发器指定的数据进行增、删或改操作时,DBMS系统将自动激活相应的触发器,定义在触发器中的功能将被DBMS执行,在核心层进行集中的完整性控制。 触发器的主要优点

⑴ 触发器能够实施比外键约束,检查约束和规则对象等更为复杂的数据完整性检查。 ⑵ 和约束相比,触发器提供了更多的灵活性。约束将系统错误信息返回给用户,而触发器则可以打印错误信息,调用其他存储过程,或根据需要纠正错误。 ⑶ 无论对表中的数据进行何种更新(增、删、改操作),相应的触发器都能被激活,对数据实施完整性检查和处理。

⑷ 触发器能够级联更新数据库中的表内容。

.10.

9. 在SQL SERVER中定义触发器时可使用系统提供的两张特殊的临时表inserted和

deleted,这两个表的结构如何确定?作用是什么? 答:两张表与创建触发器的表有相同的结构。 作用是:

.用户可以使用该表检查某些修改操作的效果。 .但用户不能直接修改该表中的数据。

.用户可以使用该表的内容作为查询操作的判断条件,但要在FROM中写出使用的表名(inserted 或deleted)。

10. 什么是存储过程?存储过程有哪些特点?

答:存储过程是存放在数据库服务器上的预先定义与编译好的SQL语句集合,是一个独立的数据库对象。 存储过程特点如下:

⑴ 存储过程作为一个程序逻辑处理单元,使多个应用程序可以共享应用程序的处理逻辑单元,所有的客户机程序可以使用同一个存储过程进行各种操作,从而确保数据访问和操作的一致性,也提高了应用程序的可维护性。

⑵ 由于存储过程在第一次执行之后,就驻存在高速缓存存储器中,减少了执行SQL语句时的句法分析和查询优化的时间,提高了系统的执行效率。

⑶ 存储过程提供了一种安全机制。如果用户被授予执行存储过程的权限,那么既使该用户没有执行访问在该存储过程中所参考的表或者视图的权限,该用户也可以执行该存储过程。 ⑷ 减少了网络的流量负载。由于存储过程是存放在服务器端的,应用程序(客户端)只需向服务器发出一次请求调用一个存储过程,服务器上就可一次执行一批SQL命令,中间结果不用送回客户端,大大降低了网络流量和服务器的开销。

⑸ 因为存储过程提供该前端应用程序共享的处理逻辑,若要改变业务规则或策略,只需改变存储过程和参数,不用修改应用程序。 二、单项选择题

ACAAD、BDADC 三、填空题

1. SQL语言提供数据库定义、__数据操作______、数据控制等功能。 2.SQL语言特点之一是高度_非过程化_,只要说明要“做什么”,而不必说明“怎么做”。 3.在各类视图中,一般_行列子集_视图是可更新视图。

4.子查询中使用了_存在量词_的嵌套查询一般是相关子查询。 以下5、6、7题使用如下的关系表R、S和T: R(BH,XM,XB,DWH) S(DWH,DWM)

T(BH,XM,XB,DWH)

5. 实现∏XM,DWH(σXB=‘女’(R))的SQL语句是SELECT XM,DWH FROM R WHERE XB=’女’。 6. 实现R×S的SQL语句是 SELECT R.*,S.* FROM S,R 。

7. 实现∏BH,XM,XB,DWM(σXB=‘男’∧R.DWH=S.DWH(R×S))的SQL语句是

SELECT R.BH,R.XM,R.XB,S.DWM FROM R,S WHERE R.DWH=S.DWH and R.XB=’男’ 。

8. 在SQL语言中,把对表S,C进行查询,修改,插入,删除等全部权力授予所有用户的语句是 __ GRANT ALL ON S,C TO PUBLIC__。

9. 触发器一旦由某个用户建立,任何用户对该触发器指定的数据进行增、删或改操作时,DBMS系统将__自动_执行定义在触发器中的功能。

10.存储过程是存放在_数据库_上的_一组SQL_的语句集合,是一个独立的数据库对象。

四、编程题

.11.

已知有三个关系如下,请用SQL语言完成下面各项操作:

图书(总编号,分类号,书名,作者,出版单位,单价)

读者(借书证号,单位,姓名,性别,职称,地址,借阅册数) 借阅(借书证号,总编号, 借书日期) 1. 创建借阅基本表,同时指定主码和外码。(注:借书证号为字符型,宽度为 3 ;总编号为字

符型,宽度为 6 ;借书日期为日期时间型) 2.给读者表增加约束‘性别只能为男或女’。 3. 为图书表按总编号降序创建唯一索引。

4.查找‘清华大学出版社’的所有图书及单价,结果按单价降序排列。 5.查找单价在17元以上已借出的图书。

6.查找藏书中比‘清华大学出版社’的所有图书单价都高的图书总编号。

7.统计藏书中各个出版单位的册数和价值总和,显示册数在5本以上的出版单位、册数和

价值总和。

8 查找借阅了借书证号为‘006’的读者所借所有图书的读者借书证号、姓名和地址。

9.在借阅基本表中插入一条借书证号为‘008’,总编号为‘010206’, 借书日期为2000年12月16日的记录。

10. 将‘高等教育出版社’的图书单价增加5元。 11.删除所有作者为‘张三’的图书借阅记录。

12. 创建‘计算机系’借阅‘清华大学出版社’图书的读者视图。

13. 授予张军对借阅表有SELECT的权力,对其中借书日期有更新的权力。

14. 创建删除触发器,在借阅表中删除借阅记录时,将读者表的对应的借阅册数减1。 15. 创建一个带参数的存储过程,完成对指定借书证号的读者在2000年1月1日以后的借阅情况查询。

.12.

第4章 关系数据理论

一、基本概念题

1. 什么样的关系模式是一个不好的关系模式呢?其主要存在哪些问题?请举例说明. 答:不好的关系模式有如下的一些问题: (1)数据冗余 (2)更新异常 (3)插入异常 (4)删除异常

2. 简述Armstrong 公理系统。

答:设U为属性总体集合,F为U上的一组函数依赖,对于关系模式R(U,F),X、Y、Z为属性U的子集,有下列推理规则:

A1:自反律:若Y?X?U,则X→Y为F所蕴函。

A2:增广律:若X→Y为F所蕴函,且Z是U的子集,即Z?U,则XZ→YZ为F所蕴函。式中

XZ和YZ是X∪Z 和 Y∪Z的简写。

A3:传递律:若X→Y、Y→Z为F所蕴函,则X→Z为F所蕴函。 3. 什么叫关系的规范化?各种范式之间的联系是什么?

答:不好的关系模式导致关系操作异常,解决的办法是进行关系模式的合理分解,也就是进行关系模式的规范化。关系的规范化的程度用范式来描述。范式提供了研究关系模式与其上关系操作间关系的形式手段,也是衡量关系模式在其操作上好坏程度的依据。 各种范式之间的联系有:5NF?4NF?BCNF?3NF?2NF?1NF成立。 4. 关系模式的分解主要准则是什么?

答:关系模式经分解后,应与原来的关系模式等价。

在实际数据库设计中,关系模式的分解主要有两种准则:

1. 只满足无损连接性; 2. 既满足无损连接性,又满足函数依赖保持性。 5. 证明:若R∈BCNF,则R∈2NF。

我们证明若R∈BCNF,则R∈3NF。由于若R∈3NF,则R∈2NF已知。而不直接证明(当

然可以)证明:(反证法)

假设R∈BCNF,但R?3NF。

P

因为R?3NF,则必存在一个候选码X和非主属性Y使得 X→Y成立, 因此必存在X的一个真子集X’ 使得X’ →Y成立。 由于X’是决定因素,但X’不包含码,所以R?BCNF。 这与假设矛盾,得证。

二、单项选择题

CABDA、ACBDB 三、填空题

1、 设X→Y是关系模式R的一个函数依赖,如果存在X的真子集X',使得X'→Y成立,则称

Y__部分函数依赖_X ,记 __X→Y__ 。

2、如果关系模式R中的所有非主属性都不传递依赖任何侯选关键字,则称该关系属于__3___ 范式,记为__3NF___。

3、设X→Y是关系模式R1的一个函数依赖,并且Y是X的子集,则称X→Y是_平凡的函数依赖_ ;又若 在

一关系模式R2中,如果存在非平凡函数依赖X→Y,Y→Z,而Y→X,则称Z__直接函数依赖 X 。 4、设有关系模式为R(A,B,C,D,E),其函数依赖集为:F={A→B,B→C,C→D,C→E},若把该关

系R分解为R1(A,B,C)和R2(C,D,E),则R1属于_2NF_ 范式,R2属于_BCNF_ 范式。 5、包含在_码_ 中的属性,叫做主属性。

.13.

P

6、将一个关系从2NF规范到3NF,目的是消除_非主属性 对码的传递函数依赖。

7、设有关系模式R(A,B,C,D,E,F),其函数依赖集为:F={E→D,C→B,CE→F,B→A},则关系R的候选

码是__ 。

8、函数依赖AB→B是平凡_ (平凡/非平凡)的函数依赖。

9、设有关系模式为R(A,B,C,D,E),其函数依赖集为:F={A→B,B→C,AB→D,AB→E},则属性集 AB关于F的闭包(AB)+为_____ 。

10、多值依赖具有传递性。即若X→→Y,Y→→Z,则X→→__Z 。

四、综合题

1. 设有一个商店的发票关系FP(发票号,商品名称,商品单价,商品数量),有关语义如下:

一张发票上可以有几种商品,一个商品只有一个单价。试指出该关系的关键字是什么?该关系属于第几范式?并请将该关系模式分解成几个满足BCNF范式的关系模式。

1. 设有关系模式ABC(供应商号,供应商名,供应商地址,产品号,产品名,产品型号,产品

单价,工程号,工程名,QTY,COST),其中属性QTY和COST为供应商供应每个工程每型产品的数量和金额,试将关系模式ABC无损分解成几个满足第三范式的关系模式。 2. 设有关系模式R(A,B,C,D,E),其函数依赖集F={A→B,E→C,C→A, CD→E},试求A+

和(CD)+。

3. 设有关系模式R(A,B,C,D),其函数依赖集F={A→C,C→A,B→AC, D→AC},试求F的最

小函数依赖集Fm。

4. 设有关系模式R(A,B,C,D,E),其函数依赖集F={A→BC,CD→E,B→D,E→A},?1、?2

是R的两个分解:

?1={ R1(A,B,C),R2(A,D,E) } ?2={ R3(A,B,C),R4(C,D,E) }

试判断 ?1和?1是否具有无损连接性。

5. 现有某个应用,涉及到两个实体集: 实体集R(A#,A1,A2,A3),其中A#是码;另一个实体集

S(B#,B1,B2),其中B#是码;从实体集R到S存在多对一联系,联系属性是D。试完成下列任务:①设计对应的E-R图。②若设计关系模式RS(A#,A1,A2,A3, B#,B1,B2,D), 那么该关系模式的码是什么?属于第几范式?为什么? 7*. 设有关系模式R(A,B,C,D),其函数依赖集F={A→C,C→A,B→AC,D→AC, BD→A},

①找出R的所有关键字。②将R分解成3NF。③将R分解成BCNF。

.14.

第5章 数据库设计

一、选择题

DADBA DDCBB 二、填空题

1.两个实体型联系分为_1:1__、_1:n__、_n:m_ 。

2.实体之间的联系可抽象为三类,它们是 分类、聚集和概括。 3.E-R图中包括__实体__ 、__属性_和联系三种基本图素。

4.数据库的逻辑模型设计阶段,任务是将_E-R模型____转换成关系模型。

5.假定一个E-R图包含有A实体和B实体,并且从A到B存在着 M∶N 的联系,则转换成关系模型后,包含有_3_个 关系模式。

6.假定一个E-R图包含有A实体和B实体,并且从A到B存在着 1∶N 的联系,则转换成关系模型后,包含有_2_个关系模式。

7.新奥尔良方法将数据库设计分为四个阶段,它们是 需求分析、概念设计、逻辑设计、物理设计。

8.反映现实世界中实体及实体间联系的信息模型是 E-R模型 。 9.__数据_模型是数据库系统的核心和基础。

10.数据库设计中,如何构造出一个合适的数据逻辑结构是逻辑设计阶段主要解决的问题。 三、综述题 规 划 1.试述数据库的应用需求(数设计过程。 需求分析据、处理) 答: 需求收集与分析 阶段

概念设计

阶段 设计概念结构 转换规则、

DBMS功能、

逻辑设计优化方法 设计逻辑结构 阶段

数据模型优化

应用要求,

DBMS详细 设计物理结构 物理设计特征

阶段

评价设计,性能预测

2.答:参考1题设计步骤图教材中说明 3.(略) 物理实现 数据库实

施阶段

试运行 数据库运行、维护阶段

使用、维护数据库 .15.

5.需求分析阶段的设计目标是什么?调查的内容是什么?

答:需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。

需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。 调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求: 1、信息要求。指用户需要从数据库中获得信息的内容与性质。

2、处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。

3、安全性与完整性要求。 调查用户需求的具体内容是:

错误!未找到引用源。调查组织机构情况。包括了解该组织的部门组成情况、责任等,为分析信息流程做准备。

错误!未找到引用源。调查各部门的业务活动情况。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部几输出结果的格式是什么,这是调查的重点。

错误!未找到引用源。在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求,这是调查的又一个重点。

错误!未找到引用源。确定新系统的边界。对前面调查的结果进行初步分析,确定哪些功能由计算机完成或将来准备由计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。

在调查过程中,可以根据不同的问题和条件,使用不同的调查方法。常用的调查方法有: 错误!未找到引用源。跟班作业。通过亲身参加业务工作来了解业务活动的情况。这种方法可以比较准确地理解用户的需求,但比较耗费时间。

错误!未找到引用源。开调查会。通过与用户座谈来了解业务活动情况及用户需求时,参加考之间可以相互启发。

错误!未找到引用源。请专人介绍。

错误!未找到引用源。询问。对某些调查中的问题,可以找专人询问。 错误!未找到引用源。设计调查表请用户填写。如果调查表设计得合理,这种方法是很有效,也易于为用户接受。

错误!未找到引用源。查阅记录。查阅与原系统有关的数据记录。

做需求调查时,往往需要同时采用上述多种方法,都必须有用户的积极参与和配合。 6. 什么是数据库的概念结构?试述其特点和设计策略。

答:将需求分析得到的用户需求抽象为信息结构即概念模式的过程就是概念设计。 概念模型的主要特点是:

1、能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。

2、易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设汁成功的关键。

3、易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。 4、易于向关系、网状、层次等各种数据模型转换。 概念模型是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。 概念模型的设计通常分为两步:第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构;第3步是评审。

.16.

7. 什么是数据抽象?试举例说明。

答:概念结构是对现实世界的—种抽象。所谓抽象是对实际的人物进行人为处理,抽取人们所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。(举例略)

8.试述数据库概念结构设计的重要性和设计步骤。 (略)

9. 什么是E—R图?构成E—R图的基本要素是什么?

E-R图是一种直观地表示实体-联系模型的方法。基本图素(三种):实体、属性、联系。 10. 试述物理设计阶段的数据存储方式。

存取方法是快速存取数据库中数据的关键技术,物理设计的任务之一就是要确定选择哪些存取方法。常用的存取方法有索引方法和聚簇(Cluster)方法。 11. 试述数据库物理设计的内容和步骤。 (略)

12.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对每本被借出的书存有读者号、借出日期和应还日期。要求:给出E—R图,再将其转换为

.17.

第6章 事务管理和数据库安全

一、选择题: DBCBB ADBAA 二、填空题

1、数据库保护问题包括:_数据库安全性_、完整性、故障恢复和并发控制等方面。 2、当数据库被破坏后,如果事先保存了__数据库日志______和数据库的副本,就有可 能恢复数据库。?

3、关系中主码的取值必须唯一且非空,这条规则是__实体__完整性规则。 4、数据库恢复的基本原理用一个词概括既__冗余______ 。 三、综述题

1、为什么引入事务的概念?事务的性质是什么?它的引入对所要解决的问题是如何发挥作用的?

答:数据库系统在运行过程中,可能发生各种各样的故障,如计算机硬件损坏,软件错误,机房所在地地震,有人恶意破坏等。在发生故障时,有可能会丢失数据库中的数据。数据库管理系统的恢复子系统应该提供一定措施,保证在任何情况下事务的原子性和持久性,数据不被损坏。

事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。

事务故障的恢复是由系统自动完成的,对用户是透明的。系统的恢复步骤是: (1) 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。

(2) 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。即如

果记录中是插入操作,则相当于做删除操作(因此时“更新前的值”为空);若记录中是删除操作,则做插入操作;若是修改操作,则相当于用修改前的值代替修改后的值。

(3) 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 如此处理直至读到此事务的开始标记,事务故障恢复就完成了。

2、什么是数据库的安全性,什么是数据库的完整性,两者有什么区别与联系? 答:

3、有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号) 部门(部门号,名称,经理,地址,电话号码) 请用GRANT和REVOKE语句,完成下列授权:

① 用户WANG对两个表有SELECT和DELETE权力; GRANT SELECT,DELETE ON职工,部门 TO WANG

② 用户LIU对职工表有SELECT权力,对工资字段有UPDATE权力 GRANT SELECT,UPDATE(工资)ON职工TO LIU

③用户ZHOU对两个表具有所有权力,并具有给其它用户授权的权力

GRANT ALL PRIVILIGES ON职工,部门 TO ZHOU WITH GRANT OPTION

.18.

4、什么是数据库的恢复? 答:

5、数据库恢复的基本技术是什么? 答:

.19.

第7章 数据库技术的发展

1试述数据库技术的发展过程。

答:数据库技术从20世纪60年代中期产生到今天仅仅几十年的历史。其发展速度之快,使用范围之广是其他技术所远不及的。数据库系统已从第一代的网状、层次数据库系统,第二代的关系数据库系统,发展到第三代以面向对象模型为主要特征的数据库系统。 2当前数据库技术发展的主要特征是什么?

答:数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等互相渗透,互相结合,成为当前数据库技术发展的主要特征。 3试述第一、二代数据库系统的主要成就。

答:层次数据库系统和网状数据库系统的数据模型虽然分别为层次模型和网状模型,但实质上层次模型是网状模型的特例,它们都是格式化模型。它们从体系结构、数据库语言到数据存储管理均具有共同特征,是第一代数据库系统。

关系数据库系统支持关系模型。关系模型不仅简单、清晰,而且有关系代数作为语言模型,有关系数据理论作为理论基础。因此,关系数据库系统具有形式基础好、数据独立性强、数据库语言非过程化等特色,标志着数据库技术发展到了第二代。 4第三代数据库系统的主要特点是什么?

答:1、第三代数据库系统应支持数据管理、对象管理和知识管理

除提供传统的数据管理服务外,第三代数据库系统将支持更加丰富的对象结构和规则,应该集数据管理、对象管理和知识管理为一体。由此可以导出,第三代数据库系统必须支持OO数据模型。

第三代数据库系统不像第二代关系数据库那样有一个统一的关系模型。但是,有一点应该是统一的,即无论该数据库系统支持何种复杂的,非传统的数据模型,它应该具有OO模型的基本特征。

数据模型是划分数据库发展阶段的基本依据。因此第三代数据库系统应该是以支持面向对象数据模型为主要特征的数据库系统。但是,只支持OO模型的系统不能称为第三代数据库系统。第三代数据库系统还应具备其他特征。

2、第三代数据库系统必须保持或继承第二代数据库系统的技术

即必须保持第二代数据库系统非过程化数据存取方式和数据独立性。第三代数据库系统应继承第二代数据库系统已有的技术。不仅能很好的支持对象管理和规则管理,而且能更好地支持原有的数据管理,支持多数用户需要的即时查询等。

3、第三代数据库系统必须对其他系统开放

数据库系统的开放性表现在:支持数据库语言标准;在网络上支持标准网络协议;系统具有良好的可移植性、可连接性、可扩展性和可互操作性等。

5请用实例阐述数据库技术与其他学科的技术相结合的成果。

答:数据库技术与分布处理技术相结合,出现了分布式数据库系统; 数据库技术与并行处理技术相结合,出现了并行式数据库系统;

数据库技术与人工智能技术相结合,出现了知识库系统和主动数据库系统; 数据库技术与多媒体技术相结合,出现了多媒体数据库系统; 数据库技术与模糊技术相结合,出现了模糊数据库系统等。 6 面向对象程序设计的基本思想是什么?它的主要特点是什么? 答:对象(类)+消息+资源+文档; 封装、继承、多态

7 举例说明超类和子类的概念。

答:超类是子类的抽象或概括,子类是超类的特殊化或具体化。学生是大学生的超类;大学生是学生的子类。

8 解释以下概念:对象与对象标识、类、单继承与多继承。

.20.

答:“对象”就是具有自身状态响应内外部请求即操作自身状态的能力的实体。

对象标识:每一对象与一个唯一标识符相联,该标识无关于它的状态和结构变化,这意思就是对象独立于其值而存在。

若一个类只能有一个超类,则其继承称为“单继承”,若可以有多个超类,则称为“多继承”。 9 请阐述分布式数据库系统和并行数据库系统的主要概念、研究的主要问题及其发展过程。 答:(略)

10 试述数据仓库的产生背景。

答:数据仓库是信息领域中近年来迅速发展起来的数据库新技术。数据仓库的建立能充分利用已有的数据资源,把数据转换为信息,从中挖掘出知识,提炼成智慧,最终创造出效益。所以,越来越多的企业开始认识到数据仓库应用所带来的好处。

由原来的以单一数据库为中心的数据环境发展为一种新环境:体系化环境。体系化环境由操作型环境和分析型环境(包括全局级数据仓库、部门级数据仓库、个人级数据仓库)构成。 11 数据仓库数据的基本特征是什么? 答:论数据仓库的四个基本特征。 (1) 主题与面向主题 (2) 数据仓库是集成的 (3) 数据仓库是不可更新的 (4) 数据仓库是随时间变化的

12 什么是联机分析处理?什么是数据挖掘?

答:OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

数据挖掘(Data Mining),又称数据库中的知识发现(Knowledge Discovery in Database,KDD),是指从大型数据库或数据仓库中提取隐含的、未知的、非平凡的及有潜在应用价值的信息或模式,它是数据库研究中的一个很有应用价值的新领域,融合了数据库、人工智能、机器学习、统计学等多个领域的理论和技术。

13 什么是对象——关系数据库?它的主要特点是什么?常用的实现方法有哪些?

答:对象—关系数据库系统除了具有原来关系数据库的各种特点外,还应该提供以下特点: (1) 扩充数据类型

目前的商品化RDBMS只支持某一固定的类型集,不能依据某—应用所需的特定数据类型来扩展其类型集。对象—关系数据库系统允许用户在关系数据库系统上扩充数据类型,即允许用户根据应用需求自己定义数据类型、函数和操作符。例如,某些应用涉及三维向量,系统就允许用户定义一个新的数据类型三维向量vector,它包含三个实数分量。而且一经定义,这些新的数据类型、函数和操作符将存放在数据库管理系统核心中,可供所有用户共享,如同基本数据类型一样。例如可以定义数组、向量、矩阵、集合等数据类型以及这些数据类型上的操作。

(2) 支持复杂对象

能够在SQL中支持复杂对象。复杂对象是指由多种基本数据类型或用户自定义的数据类型构成的对象。

(3) 支持继承的概念

能够支持子类、超类的概念,支持继承的概念,包括属性数据的继承和函数及过程的继承;支持单继承与多重继承;支持函数重载(操作的重载)。 (4) 提供通用的规则系统

能够提供强大而通用的规则系统。规则在DBMS及其应用中是十分重要的,在传统的RDBMS中用触发器来保证数据库数据的完整性。触发器可以看成规则的一种形式。对象—关系数据库系统要支持的规则系统将更加通用,更加灵活,并且与其他的对象是集成为一体的,例如规则中的事件和动作可以是任意的SQL语句,可以使用用户自定义的函数,规则能够被继承等。这就大大增强了对象—关系数据库的功能,使之具有主动数据库和知识库的特性。

.21.