数据库系统教程-课后答案(施伯乐)(第三版). 下载本文

内容发布更新时间 : 2024/5/3 15:23:57星期一 下面是文章的全部内容请认真阅读。

19.根据计算机的系统结构,DBS可分成四种类型:_______、_______、_______和_______。 20.数据独立性使得修改DB结构时尽量不影响已有的__________。 1.3.2 单项选择题(在备选答案中选出一个正确答案) 1.在DBS中,DBMS和OS之间关系是 [ ] A.并发运行 B.相互调用

C.OS调用DBMS D.DBMS调用OS 2.在数据库方式下,信息处理中占据中心位置的是 [ ] A.磁盘 B.程序 C.数据 D.内存 3.DB的三级体系结构是对_________抽象的三个级别。 [ ] A.存储器 B.数据 C.程序 D. 外存 4.DB的三级模式结构中最接近外部存储器的是 [ ] A.子模式 B.外模式 C.概念模式 D.内模式

5.DBS具有“数据独立性”特点的原因是因为在DBS中 [ ] A.采用磁盘作为外存 B.采用三级模式结构

C.使用OS来访问数据 D.用宿主语言编写应用程序 6.在DBS中,“数据独立性”和“数据联系”这两个概念之间联系是 [ ] A.没有必然的联系 B.同时成立或不成立

C.前者蕴涵后者 D.后者蕴涵前者 7.数据独立性是指 [ ] A.数据之间相互独立 B.应用程序与DB的结构之间相互独立

C.数据的逻辑结构与物理结构相互独立 D.数据与磁盘之间相互独立 8.DB中数据导航是指 [ ] A.数据之间联系 B.数据之间指针联系

C.从已知数据找未知数据的过程 D.数据的组合方式 9.用户使用DML语句对数据进行操作,实际上操作的是 [ ] A.数据库的记录 B.内模式的内部记录

C.外模式的外部记录 D.数据库的内部记录值 10.对DB中数据的操作分成两大类: [ ] A.查询和更新 B.检索和修改

C.查询和修改 D.插入和修改 1.3.3 问答题

1.试对数据管理技术三个发展阶段作一详细的比较。

2.在用户访问数据库中数据的过程中,DBMS起着什么作用? 3.什么是“DB的系统缓冲区”? 4.DBS中有哪些系统软件?

1.4 自测题答案

1.4.1 填空题答案

1.硬件 软件 计算机应用 2.设备 3.数据冗余 数据不一致 数据联系弱 4.程序设计 数据 数据 5.概念 结构(或逻辑) 6.树 有向图 二维表 嵌套和递归 7.指针 关键码(或外键与主键) 8.数据 9.数据的传输 格式的转换 10.宿主语言(或主语言,host language) 11.外模式 内模式 概念模式 12.过程性 非过程性 13.数据字典(DD) 14.查询处理器 存储管理器 15.一系列实用程序 DD系统 16.数据库 硬件 软件 DBA 17.模块功能 18. 文件 管理外存(或文件系统)

19.集中式 C/S式 并行式 分布式 20.应用程序 1.4.2 单项选择题答案

1.D 2.C 3.B 4.D 5.B 6.A 7.B 8.C 9.C 10. A

1.4.3 问答题答案

1.答:数据管理技术三个发展阶段的详细比较见图1.1。 人工管理阶段 文件系统阶段 数据库阶段 时 间 20世纪50年代 60年代 70年代 环 外存 纸带、卡片、磁带 磁盘 大容量磁盘 境 软件 汇编语言 3GL、OS DBMS 计算机应用 科学计算 进入企业管理 企业管理 数据的管理者 用户(程序员) 文件系统 DBS 数据的针对者 面向某一应用程序 面向某一应用 面向现实世界 数据的共享程度 无共享 共享性差、冗余度大 共享性高、冗余度小 数据独立性 无独立性, 独立性差, 有高度的物理独立性,

数据完全依赖于程序 有设备独立性 一定的逻辑独立性

数据的结构化 无结构 记录内有结构, 整体结构化,

整体结构性差 用数据模型描述 图1.1

2.答:在用户访问数据的过程中,DBMS起着核心的作用,实现“数据三级结构转换”的工作。

3.答:在应用程序运行时,DBMS在内存为其开辟一个程序工作区,称为“DB的系统缓冲区”。这个工作区主要用于“数据的传输和格式的转换”。

4.答:DBS应包括DBMS、OS、宿主语言和应用开发支撑软件等四部分系统软件。 DBMS是管理DB的软件系统,但对硬盘的管理是由OS实现的,因此DBS中应包括DBMS和OS这两个主要的系统软件。

编写应用程序仍然是用C一类高级程序设计语言,这些语言在DBS中称为宿主语言。 为提高应用程序开发效率,需要像Dephi、PowerBuilder一类软件开发工具(即应用开发支撑软件)开发应用程序。这些软件属于4GL范畴,可使应用系统开发生产率提高20~100倍。

第2章 关系模型和关系运算理论

2.1 基本内容分析

2.1.1 本章重要概念

(1)基本概念 关系模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,ER模型到关系模型的转换规则,过程性语言与非过程性语言。

(2)关系代数 五个基本操作,四个组合操作,七个扩充操作。

(3)关系演算 元组关系演算和域关系演算的原子公式、公式的定义。关系演算的安全性和等价性。

(4)关系代数表达式的优化 关系代数表达式的等价及等价转换规则,启化式优化算法。

(5)关系逻辑 谓词、原子、规则和查询,规则的安全性,用规则模拟关系代数表达式。 2.1.2 本章的重点篇幅

(1)教材中P56的例2.7(关系代数表达式的应用实例)。 (2)教材中P63的例2.19(元组表达式的应用实例)。 (3)教材中P81的例2.36(关系逻辑的规则表示)。 2.1.3 重要内容分析 1.关系代数表达式的运用技巧

(1)一般规则

·对于只涉及到选择、投影、联接的查询可用下列表达式表示:

π…(σ…(R×S)) 或者π…(σ…(R?S))

·对于否定的操作,一般要用差操作表示,例如“检索不学C2课的学生姓名”。

·对于检索具有“全部”特征的操作,一般要用除法操作表示,例如“检索学习全部课程的学生姓名”。

(2)“检索不学C2课的学生姓名”,决不能用下式表示:

π

SNAME,AGE(σC#≠'C2'(S?SC))

一定要用“差”的形式: π

SNAME,AGE(S)-πSNAME,AGE(σC#='C2'(S?SC))

(3)“检索学习全部课程的学生学号”,要用πS#,C#(SC)÷πC#(C)表示,

而不能写成 πS# (SC÷πC#(C))形式。这是因为一个学生学的课程的成绩可能是不一样的。

(4)对于教材P56的例2.7的8个查询语句的关系代数表达式,考生一定要掌握,这是基础。 2.非过程性语言与过程性语言的区别

编程时必须指出“干什么”及“怎么干”的语言,称为过程性语言;编程时只须指出“干什么”,不必指出“怎么干”的语言,称为非过程性语言。

两种语言的主要区别见图2.1。

过程性语言 非过程性语言 编程时,必须指出“怎么干” 编程时,不必指出“怎么干” 由用户进行数据导航 由系统进行数据导航 单记录处理方式 集合处理方式 属于3GL范畴 属于4GL范畴 C语言,层次、网状DML等 关系DML,软件开发工具等 图2.1 2.2 教材中习题2的解答

2.1名词解释

·关系模型:用二维表格表示实体集,外键和主键表示实体间联系的数据模型,称为关系模型。

·关系模式:是对关系的描述,包括模式名、诸属性名、值域名和模式的主键。 ·关系实例:关系模式具体的值,称为关系实例。

·属性:即字段或数据项,与二维表中的列对应。属性个数,称为元数(arity)。 ·域:属性的取值范围,称为域。

·元组:即记录,与二维表中的行对应。元组个数,称为基数(cardinality)。 ·超键:能惟一标识元组的属性或属性集,称为关系的超键。 ·候选键:不含有多余属性的超键,称为候选键。

·主键:正在使用的、用于标识元组的候选键,称为主键。

·外键:属性集F是模式S的主键,在模式R中也出现,那么称F是模式R的外键。 ·实体完整性规则:实体的主键值不允许是空值。

·参照完整性规则:依赖关系中的外键值或者为空值,或者是相应参照关系中某个主键码。

·过程性语言:编程时必须给出获得结果的操作步骤,即指出“干什么”及“怎么干”的语言。

·非过程性语言:编程时,只需指出需要什么信息,不必给出具体的操作步骤,即只要指出“干什么”,不必指出“怎么干”的语言。

·无限关系:指元组个数为无穷多个的关系。

·无穷验证:验证公式真假时需要进行无限次验证。 ? 2.2 在关系模型中,对关系作了哪些规范性限制? 答:对关系作了一下四个限制: 属性值不可分解;没有重复元组;没有行序;使用时有列序。

2.3 为什么关系中的元组没有先后顺序,且不允许有重复元组?

答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组也就没有先后的顺序(对用户而言)。这样既能减少逻辑排序,又便于在关系数据库中引进集合论的理论。

每个关系模式都有一个主键,在关系中主键值是不允许重复的。如果关系中有重复元组,那么其主键值肯定相等,起不了惟一标识作用,因此关系中不允许有重复元组。

? 2.4 外键值何时允许空?何时不允许空?

答:在依赖表中,当外键是主键的组成部分时,外键值不允许空;否则外键值允许空。 2.5 笛卡儿积、等值联接、自然联接三者之间有什么区别?

答:笛卡尔积是一个基本操作,而等值联接和自然联接是组合操作。

设关系R的元数为r,元组个数为m;关系S的元数为s,元组个数为n。 那么,R×S的元数为r+s,元组个数为m×n;

R?S的元数也是r+s,但元组个数小于等于m×n;

iθj

R?S的元数小于等于r+s,元组个数也小于等于m×n;

2.6 设有关系R和S: R A B C 3 6 7 2 5 7 7 2 3 4 4 3 S A B C 3 4 5 7 2 3 计算R∪S,R-S,R∩S,R×S,π3,2(S),σB<’5’(R),R 2<2 S, R S。 解: R∪S A B C R-S A B C 3 6 7 3 6 7 2 5 7 2 5 7 7 2 3 4 4 3 4 4 3 3 4 5

R×S R.A R.B R.C S.A S.B S.C 3 6 7 3 4 5 3 6 7 7 2 3 2 5 7 3 4 5 2 5 7 7 2 3 7 2 3 3 4 5 7 2 3 7 2 3 4 4 3 3 4 5 4 4 3 7 2 3

σ

B<’5’(R)

R∩S A B C

7 2 3

π

3,2(S)

5 3

C B 4 2

A B C 2 4

3 3

2<2

R?S

R.A R.B R.C S.A S.B S.C

2

3

3

4

5

7 4

7

R?S ? ? ? ? ?

A B C 7

2

3

2.7 设有关系R和S: R A B a b c b d e

S B b e b C c a d

? 计算R ? S,R ? S,σA=C(R×S),S ? R。

B

? 2.8 假设关系U和V分别有m个元组和n个元组,给出下列表达式中可能的最小和最大的元组数量:

? ⑴ U∩V ⑵ U∪V

? ⑶ U?V

⑷ σF(U)×V (F为某个条件)

? ⑸ πL(U)-V (其中L为某属性集)