《数据库原理与应用》课后习题答案 下载本文

数据库物理设计是将逻辑结构设计阶段所产生的逻辑数据模型,转换为某一计算机系统所支持的数据库物理结构的实现过程。

数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,完全依赖于给定的硬件环境、具体的DBMS和操作系统,。

存储记录格式的设计包括记录的组成、数据项的类型、长度,以及逻辑记录到存储记录的映射。存储记录的安排是指可以把经常同时被访问的数据组合在一起。存取方法的设计主要是指存取路径,存取路径分为主存取路径与辅存取路径,前者用于主键检索,后者用于辅助键检索。

除此之外,物理结构设计还要进行完整性和安全性考虑,设计者应在完整性、安全性、有效性和效率方面进行分析,做出权衡。

完成物理结构设计后,对该物理结构做出相应的性能评价,若评价结果符合原设计要求,则进一步实现该物理结构。否则,对该物理结构做出相应的修改,若属于最初设计问题所导致的物理结构的缺陷,必须返回到概念设计阶段修改其概念数据模型或重新建立概念数据模型,如此反复,直至评价结果最终满足原设计要求为止。

(5)数据库实施

数据库实施阶段,即数据库调试、试运行阶段。一旦数据库物理结构形成,就可以用已选定的DBMS定义、描述相应的数据库结构,装入数据库数据,以生成完整的数据库,编制有关应用程序,进行联机调试并转入试运行,同时进行时间、空间等性能分析,若不符合要求,则需调整物理结构、修改应用程序,直至高效、稳定、正确地运行该数据库系统为止。

(6)数据库运行和维护

数据库实施阶段结束,标志着数据库系统投入正常运行的开始。严格地说,数据库运行和维护不属于数据库设计的范畴,早期的新奥尔良法明确规定数据库设计的四个阶段,不包括运行和维护内容。随着人们对数据库设计的深刻了解和设计水平的不断提高,已经充分认识到数据库运行和维护工作与数据库设计的紧密联系。数据库设计是一种动态和不断完善的运行过程,运行和维护阶段开始,并不意味着设计过程的结束,任何哪怕只有细微的结构改变,也许就会引起对物理结构的调整、修改,甚至物理结构的完全改变,因此数据库运行和维护阶段是保证数据库日常活动的一个重要阶段。 5.3 试述数据库设计的需求分析阶段的目标和方法

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

需求分析常用的方法有:

(1)跟班作业。通过亲身参加业务工作来了解业务活动的情况。这种方法可以比较准确地理解用户的需求,但比较耗费时间。

(2)开调查会。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。

(3)请专人介绍。

(4)询问。对某些调查中的问题,可以找专人询问。

(5)设计调查表请用户填写。如果调查表设计得合理,这种方法是很有效,也很易于为用户接受的。

(6)查阅记录。即查阅与原系统有关的数据记录,包括原始单据、账簿、报表等。 需求分析的过程一般是:

(7)分析用户活动,产生业务流程图:了解用户当前的业务活动和职能,理清其处理流程。把用户业务分成若干个子处理过程,使每个处理功能明确、界面清楚,画出业务流程图

(8)确定系统范围,产生系统范围图:在和用户经过充分讨论的基础上,确定计算机所能进行数据处理的范围,确定哪些工作由人工完成,哪些工作由计算机系统完成,即确定人机界面。

(9)分析用户活动所涉及的数据,产生数据流图:深入分析用户的业务处理,以数据流图(Data Flow Diagram,DFD)形式表示出数据的流向和对数据所进行的加工。DFD有四个基本成分:数据流、加工或处理、文件、外部实体。DFD可以形象地表示数据流与各业务活动的关系,它是需求分析的工具和分析结果的描述手段。

(10)分析系统数据,产生数据字典:仅仅有DFD并不能构成需求说明书,DFD只表示出系统有哪几部分组成和各个部分之间的关系,并没有说明各个成分的含义。数据字典提供对数据库时间描述的集中管理,它的功能是存储和检索各种数据描述(元数据Metadata),数据字典是数据收集和数据分析的主要成果,在数据库设计中占有很重要地位。

(11)功能分析:数据库的设计是与应用系统的设计紧密结合的过程,离开一定的功能,数据库就失去其存在价值。数据库设计的一个重要特点是结构(数据)和行为(功能)的结合。用户希望系统能提供的功能必须有一个清晰的描述。功能分析可以采用软件结构图或模块图来表示系统的层次分解关系、模块调用关系。

5.4 评审在数据库设计中有什么作用?为什么允许设计过程中有多次的回溯与重复? 评审的作用在于确认某一阶段的任务是否全部完成,通过评审可以及早发现系统设计中的错误,并在生存期的早期阶段给予纠正,以减少系统研制的成本。 如果在数据库已经实现时再发现设计中的错误,那么代价比较大。因此应该允许设计过程的回溯与反复。设计过程需要根据评审意见修改所提交的阶段设计成果,有时修改甚至要回溯到前面的某一阶段,进行部分乃至全部重新设计。 5.5 数据字典的内容和作用是什么?

数据字典是将数据流程图中各个要素的具体内容和特征,以特定格式记录下来,所形成的文档。它主要包括:数据项、数据结构、数据流、加工、文件、外部实体等内容。在数据库设计过程中,数据字典被不断地充实、修改和完善。

对数据库设计来讲,数据字典是进行数据收集和数据分析所获得的主要成果,是各类数据描述的集合。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。

5.6 什么是数据库的概念结构?数据库的概念结构设计的特点和方法是什么?

将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。 对数据库概念模型有以下要求:

(1)有丰富的语义表达能力,能表达用户的各种需求。

(2)易于交流和理解,从而可以用它和不熟悉计算机的用户交换意见。

(3)要易于更改。当应用环境和应用要求改变时,概念模型要能很容易的修改和扩充以反映这种变化。

(4)易于向各种数据模型转换。

(1)集中式模式设计法

即首先定义全局概念结构的框架,然后逐步细化。例如,可以先确定几个高级实体类型,然后在确定其属性时,把这些实体类型分裂为更低一层的实体类型和联系。

(2)视图集成法

以各部分的需求说明为基础,分别设计各自的局部模式,这些局部模式相当于各部分的视图,然后再以这些视图为基础,集成为一个全部模式。视图是按照某个用户组、应用或部门的需求说明,用E-R数据模型设计的局部模式。

(3)混合方法

即将集中式模式设计法和视图集成法相结合,用集中式模式设计法设计一个全局概念结构的框架,以它为骨架集成由视图集成法中设计的各局部概念结构。 (4)由内向外法

首先定义最重要的核心概念结构,然后向外扩充,考虑已存在概念附近的新概念使得建模过程向外扩展。 使用该策略,可以先确定模式中比较明显的一些实体类型,然后继续添加其它相关的实体类型。

5.7 什么是视图集成?视图集成的方法是什么?

以各部分的需求说明为基础,分别设计各自的局部模式,这些局部模式相当于各部分的视图,然后再以这些视图为基础,集成为一个全部模式。视图是按照某个用户组、应用或部门的需求说明,用E-R数据模型设计的局部模式。

子视图的集成是一个非常复杂的过程,需要一个更加严格和系统化的方法。下面介绍一些用于视图合并的策略: 1)二元集成

首先对两个比较类似的模式进行集成。然后把结果模式和另外一个模式集成,不断重复该过程直到所有模式被集成。可以根据模式的相似程度确定模式集成的顺序。由于集成是逐步进行的,所以该策略适用于手工集成。

2)n元集成

对视图的集成关系进行分析和说明之后,在一个过程中完成所有视图的集成。对于规模较大的设计问题,这个策略需要使用计算机化的工具,目前有一些这种工具的原型,但还没有成熟的商业产品。

3)二元平衡策略

首先将模式成对地进行集成,然后再将结果模式成对地进一步集成,不断重复该过程直至得到最终的全局模式。

4)混合策略(mixed strategy)

首先,根据模式的相似性把它们划分为不同的组,对每个组单独地进行集成。然后对中间结果进行分组并集成,重复该过程直至集成结束。

5.8 视图集成时,分E-R图之间的冲突有哪些?解决这些冲突的方法是什么?

由于局部概念设计相对简单,因此简化了全局模式的设计。但是,在将局部视图合成为全局视图的时候,需要一个方法学在集成时具体地解决下列问题:

1)确定模式之间的对应和冲突 由于各子模式是分开进行设计的,因此有必要在集成之前确定各模式表示的是否是同一个现实世界的概念结构。在此过程中,模式间可能会发生如下的一些冲突:

①属性冲突

? 属性域冲突,即属性值的类型、取值范围或取值集合不同,如零件号,有的部门作

为整数对待,有的部门则使用字符串。不同部门对零件号的编码也可能不同。 ? 属性取值单位冲突:如零件重量,有的部门以公斤为单位,有的部门以克为单位。 ②命名冲突

包括同名异义和异名同义。如科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程,这就是一个异名同义的例子。

③结构冲突

? 同一对象在不同应用中具有不同的抽象。如在教学管理中,职称是一个属性;而在

人事管理中,因为职称与工资、住房挂钩,因此是一个实体。 ? 同一实体在不同局部视图中所包含的属性不完全相同。

? 实体间的联系在不同分E-R图中为不同类型:如生产子系统分E-R图中,产品和零

件构成1:n联系。而物资子系统分E-R图中,产品、零件、供应商三者构成多对多联系。

2) 修改视图使得相互一致

对一些模式进行修改,以便于其它模式相符合。这一步可以解决上一步发现的冲突。 3)合并视图

通过创建单个子视图来创建全局视图。相应的概念在全局模式中只出现一次,并且要确定子视图和全局视图之间的映射关系。在涉及到数百个实体和联系的现实数据库中,这一步是最为困难的。因为牵扯到大量的人为干预和协商来解决冲突,并且要确定全局模式的一个最为合理并且能够接受的解决方案。

4)重构

该步骤是一个可选步骤,可能会对全局模式进行分析和重构,以删除任何冗余和不必要的内容。

5.9 试述数据库逻辑结构设计的步骤。

逻辑结构设计阶段需要完成的任务有:

(1)将E-R模型转换为等价的关系模式。 (2)按需要对关系模式进行规范化。 (3)对规范化后的模式进行评价。

(4)根据局部应用的需要,设计用户外模式。

5.10试述E-R图转换成关系模型的转换规则。

E-R图向关系模型的转换一般应遵循如下原则:

(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的属性就是关系的属性。实体的码就是关系的码。

例如在例子中,学生实体可以转换为如下关系模式,其中学号为学生关系的码:学生(学号,姓名,出生日期,院系,专业,班级,宿舍) 同样宿舍、班级、专业、院系都分别转换为一个关系模式。

(2)一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转化为关系的属性,该关系的码则有几种情况:

? 若联系为1:1,则每个实体的码均是该关系的后选码。 ? 若联系为1:n,则关系的码为n端实体的码。 ? 若联系为m:n,则关系的码为诸实体码的组合。