第七章 习题解答和解析
1. 试述数据库设计过程。 答:
这里只概要列出数据库设计过程的六个阶段: (1) 需求分析; (2) 概念结构设计; (3) 逻辑结构设计; (4) 数据库物理设计; (5) 数据库实施;
(6) 数据库运行和维护。
这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
解析:希望读者能够认真阅读《概论》7.1 的内容,了解并掌握数据库设计过程。
2.试述数据库设计过程中结构设计部分形成的数据库模式。 答:
数据库结构设计的不同阶段形成数据库的各级模式,即:
(1) 在概念设计阶段形成独立于机器特点,独立于各个 DB MS 产品的概念模式,在本篇中就是 E-R 图;
(2) 在逻辑设计阶段将 E-R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图(View),形成数据的外模式;
(3) 在物理设计阶段,根据 DB MS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
读者可以参考《概论》上图7.4。图中概念模式是面向用户和设计人员的,属于概念模型的层次;逻辑模式、外模式、内模式是 DBMS 支持的模式,属于数据模型的层次,可以在 DBMS 中加以描述和存储。
3.需求分析阶段的设计目标是什么 ? 调查的内容是什么 ? 答
需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:
(1) 信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;
(2) 处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;
(3) 安全性与完整性要求。
详细的可以参考《概论》上7. 2。
4.数据字典的内容和作用是什么 ? 答
数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(1) 数据项;(2) 数据结构;(3) 数
据流;(4) 数据存储;(5) 处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
数据字典的作用: 数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。
(详细参考《概论》上 7. 2. 3。注意,数据库设计阶段形成的数据字典与DBMS 中的数据字典不同,后者是 DBMS 关于数据库中数据的描述,当然两者是有联系的)。
5.什么是数据库的概念结构 ? 试述其特点和设计策略。 答
概念结构是信息世界的结构,即概念模型,其主要特点是:
(1) 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;
(2) 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键;
(3) 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充; (4) 易于向关系、网状、层次等各种数据模型转换。 概念结构的设计策略通常有四种:
1) 自顶向下,即首先定义全局概念结构的框架,然后逐步细化;
2) 自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
3) 逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
4) 混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
6. 定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(E-R 图) 答
实体:客观存在并可以相互区分的事物叫实体。
实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
实体集:同型实体的集合称为实体集。
属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。 码:惟一标识实体的属性集称为码。
实体联系图(E-R 图):提供了表示实体型、属性和联系的方法: ? 实体型:用矩形表示,矩形框内写明实体名;
? 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;
? 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1: n 或 m: n)。
7. 学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E-R 图画出此学校的概念模型。
在画 E-R 图时,读者可以按照习题中对问题的描述一步一步画出每一句话中涉及的实体,再根据给出的实际语义,画出实体之间的联系。例如,每个教研室有若干教员,每个班有若干学生,可以画出教研室和教员、班级和学生之间一对多的联系。再如,有的教授和副教授每人各带若干研究生,而一个研究生一般指定一个导师,这是通常的规则,所以可以画出教员和学生之间一对多的联系。
E-R图中各实体的属性假设为: 系:系编号,系名
班级:班级编号,班级名 教研室:教研室编号,教研室 学生:学号,姓名,学历 课程:课程编号,课程名 教员:职工号,姓名,职称
各联系的属性为:选修:成绩,其他联系无属性。
8. 某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E-R 图画出此工厂产品、零件、材料、仓库的概念模型。
对实体之间联系的语义描述有时不是直截了当的,需要从对现实世界的整体描述中进行分析,导出实体之间的某种联系。就如本题中,“零件和仓库的联系”就要从以下描述中分析:“零件按所属的不同产品分别放在仓库中”。因为一个产品由多种零件组成的,所以一个仓库中存放多种零件;反过来一种零件是放在一个仓库还是多个仓库中呢 ? 因为一种零件可以用在多种产品上,这些零件按所属的不同产品分别放在仓库中, 于是知道一种零件可以放在多个仓库中,所以零件和仓库之间是多对多的联系。
“材料和仓库的联系”则根据“原材料按照类别放在若干仓库”这句话就可以得出:一个仓库中放多种材料,而一种材料只放在一个仓库中,所以仓库和材料之间是一对多的联系。
E-R图中各实体的属性假设为: 产品:产品号,产品名 零件:零件号,零件名
原材料:原材料号,原材料名,类别 仓库:仓库号,仓库名 各联系的属性为:
产品的组成:使用零件量 零件制造:使用原材料量 零件存储:存储量 材料存放:存放量
9. 什么是数据库的逻辑结构设计 ? 试述其设计步骤。
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R 图转换为与选用的 DBMS 产品所支持的数据模型相符合的逻辑结构。设计步骤为 :
(1)将概念结构转换为特定 DBMS 支持下的数据模型:关系、网状、层次模型等; (2)对数据模型进行优化。
10.试把习题7和习题8中的E-R图转换为关系模型。
习题7中的E-R图转换的关系模型如下,其中有划画线的属性是主码属性: 系(系编号,系名,学校名)
班级(班级编号,班级名,系编号)
教研室(教研室编号,教研室,系编号)
学生(学号,姓名,学历,班级编号,导师职工号) 课程(课程编号,课程名)
教员(职工号,姓名,职称,教研室编号) 选课(学号,课程编号,成绩)
习题8中的E-R图转换的关系模型如下,其中有划画线的属性是主码属性: 产品(产品号,产品名,仓库号) 零件(零件号,零件名)
原材料(原材料号,原材料名,类别,仓库号,存放量) 仓库(仓库号,仓库名)
产品组成(产品号,零件号,使用零件量) 零件组成(零件号,原材料号,使用原材料量) 零件储存(零件号,仓库号,存储量)
11. 试用规范化理论中有关范式的概念分析习题 7中你设计的关系模型中各个关系模式的码,它们属于第几范式 ? 会产生什么更新异常 ?
习题 7 中设计的各个关系模式的码都用下划线注明,这些关系模式都只有一个码,且都是惟一决定的因素,所以都属于 BCNF。不会产生更新异常现象。
12规范化理论对数据库设计有什么指导意义 ? 答
规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。可参考《概论》上 7.4.2有关数据模型的优化的内容)。
13. 试述数据库物理设计的内容和步骤。 答
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的 DBMS。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。
数据库的物理设计步骤通常分为两步:
(1) 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; (2) 对物理结构进行评价,评价的重点是时间效率和空间效率。 详细参考《概论》7.5。
14. 数据输入在实施阶段的重要性是什么 ? 如何保证输入数据的正确性 ? 答
数据库是用来对数据进行存储、管理与应用的,因此在实施阶段必须将原有系统中的历史数据输入到数据库。数据量一般都很大,而且数据来源于部门中的各个不同的单位。数据的组织方式、结构和格式都与新设计的数据库系统有相当的差距,组织数据录入就要将各类源数据从各个局部应用中抽取出来,分类转换,最后综合成符合新设计的数据库结构的形式,输入数据库。因此这样的数据转换、组织入库的工作是相当费力费时的工作。特别是原系统是手工数据处理系统时,各类数据分散在各种不同的原始表格、凭证、单据之中,数据输入工作量更大。
保证输入数据正确性的方法: 为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务。在源数据入库之前要采用多种方法对它们进行检验,以防止不正确的数据入库。
15.什么是数据库的再组织和重构造 ? 为什么要进行数据库的再组织和重构造 ? 答
数据库的再组织是指:按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。 数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。
进行数据库的再组织和重构造的原因:
数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时 DBA 就要对数据库进行重组织。DBMS 一般都提供用于数据重组织的实用程序。
数据库系统概论第五版第七章习题解答和解析
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)