数据库原理及应用(第3版) - 全部习题new 下载本文

解:

9、分别给出一个层次、网状和关系模型的实例。 解:

1)层次模型的实例

图1.17给出了一个系的层次模型。

系 教研室 学生 教师

图1.17 一个层次模型的示例

图1.18是图1.17的具体化,成为一个教师-学生层次数据库。该层次数据库有四个记录型。记录型系是根结点,由系编号、系名、办公地三个字段组成。它有两个子女结点教研室和学生。记录型教研室是系的子女结点,同时又是教师的双亲结点,它是教研室编号、教研室名两个字段组成。记录类型学生由学号、姓名、年龄三个字段组成。记录教师由教师号、姓名、研究方向三个字段组成。学生与教师是叶结点,它们没有子女结点。由系到教研室、教研室到教师、系到学生均是一对多的联系。

系 系编号 系名 办公地 教研室 教研室编号 教研室 学生 学号 姓名 成绩 教师 教师号 姓名 研究方向

图1.18 教师-学生数据库模型

图1.19是图1.18数据库模型的一个值。

9

数据库原理及应用 系 D01 计算机 信息楼 教研室 R01 数据库 R02 网络 学生 S001 张华 89 S002 刘文 74 教师 教师 E0101 王玲 数据库 E0102 丰年 数据仓库 E0201 成芳 网络安全 E0202 朝霞 网络管理

图1.19 教师-学生数据库的一个值

2)网状模型的实例

下面以教师授课为例,教师授课数据库可包含三个记录:教师、课程和授课。

每个教师可以讲授多门课程,显然对教师记录中的一个值,授课记录中可以有多个值与之联系,而授课记录中的一个值,只能与教师记录中的一个值联系。教师与授课之间联系是一对多的联系联系名为T-TC。同样,课程与授课之间的联系也是一对多的联系,联系名为C-TC。图1.24为教师授课数据库的网状数据库模式。

教师 教师号 姓名 系别 课程 课程号 课程名 学分 T-TC C-TC 授课 教师号 课程号 教学效果

图1.24 教师、课程、授课的网状数据库模式

教师授课数据库的实例如图1.25所示。

t1 c1 A t1 t1 c2 B c1 t2 c1 B t2 t2 c2 A c2

图1.25 教师/授课/课程的网状数据库实例

3)关系模型的实例

10

SC选课表

学号 SNO 200401 200401 200401 200402 200403 课程号 CNO C1 C2 C3 C2 C3 成绩 SCORE 85 92 84 94 83

10、试述层次、网状和关系数据库的优缺点。 解:

1)层次模型的优缺点 层次模型的优点:

(1)层次模型本身比较简单。

(2)对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能较优。

(3)层次模型提供了良好的完整性支持。 层次模型的缺点主要有:

(1)现实世界中很多联系是非层次性的,如多对多联系,一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据或创建非自然的数据组织来解决。

(2)对插入和删除操作的限制太多,影响太大。

(3)查询子女结点必须通过双亲结点,缺乏快速定位机制。 (4)由于结构严密,层次命令趋于程序化。 2)网状模型的优缺点 网状模型的优点主要有:

(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。 (2)具有良好的性能,存取效率较高。 网状模型的缺点主要有:

(1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。

(2)其DDL、DML语言复杂,用户不容易使用。

由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写程序的负担。

3)关系模型的优缺点 关系模型具有下列优点:

(1)关系模型与非关系模型不同,它有较强的数学理论基础。

(2)数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。

(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发和建立的工作。

关系模型具有查询效率不如非关系模型效率高的缺点。因此,为了提高性能,必须对用

11

数据库原理及应用 户的查询进行优化,增加了开发数据库管理系统的负担。

11、定义并理解关系模型中的以下术语:

关系、元组、属性、主码、域、分量、关系模式 解:

关系:一个关系对应一张二维表,如一张教师登记表称为教师关系。 元组:二维表中的一行称为一个元组。

属性:二维表中的一列称为一个属性,对应每一个属性的名字称为属性名。

主码:如果二维表中的某个属性或是属性组可以唯一确定一个元组,则称为主码,也称为关系键,如教师号,可以唯一确定一个教师,也就成为教师关系的主码。

域:属性的取值范围称为域,如人的年龄一般在1-120岁之间,大学生的年龄属性的域是14-38,性别的域是男和女等等。

分量:元组中的一个属性值。例如,教师号对应的值001、002、003都是分量。 关系模式:表现为关系名和属性的集合,是对关系的具体描述。一般表示为: 关系名(属性1,属性2,?,属性N)

例如教师关系可描述为:教师(教师号,姓名,年龄,职称)

12、数据库系统的三级模式结构是什么?为什么要采用这样的结构? 解:

1)从数据库管理系统内部系统结构看,数据库系统通常采用三级模式结构。 数据库系统的三级模式结构是指外模式、模式和内模式。如图1.28所示。

应用A 应用B 应用C 应用D 应用E 用户层 外模式1 (数据抽象3) 外模式2 外模式3 外模式/模式映象 概念层 (数据抽象2) 模式 控制 DBMS 物理层 (数据抽象1) 内模式 模式/内模式映象 OS 数据库

图1.28 数据库系统的三级模式结构

(1)外模式(External Schema):外模式也称子模式(SubSchema)或用户模式,是三

级模式的最外层,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。数据库管理系统(DBMS)提供子模式描述语言(子模式DDL)来定义子模式。

(2)模式(Schema):模式又称概念模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据视图的全部。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,与所使用

12