数据库系统原理及应用教程课后答案苗雪兰第5讲.ppt

上传人:公**** 文档编号:575792524 上传时间:2024-08-18 格式:PPT 页数:106 大小:428.50KB
返回 下载 相关 举报
数据库系统原理及应用教程课后答案苗雪兰第5讲.ppt_第1页
第1页 / 共106页
数据库系统原理及应用教程课后答案苗雪兰第5讲.ppt_第2页
第2页 / 共106页
数据库系统原理及应用教程课后答案苗雪兰第5讲.ppt_第3页
第3页 / 共106页
数据库系统原理及应用教程课后答案苗雪兰第5讲.ppt_第4页
第4页 / 共106页
数据库系统原理及应用教程课后答案苗雪兰第5讲.ppt_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《数据库系统原理及应用教程课后答案苗雪兰第5讲.ppt》由会员分享,可在线阅读,更多相关《数据库系统原理及应用教程课后答案苗雪兰第5讲.ppt(106页珍藏版)》请在金锄头文库上搜索。

1、第第6章数据库设计章数据库设计 16.1 6.1 数据库设计概述数据库设计概述6.1.1 6.1.1 数据库设计的任务、内容和特点数据库设计的任务、内容和特点6.1.1.1 6.1.1.1 数据库设计的任务数据库设计的任务数数据据库库设设计计是是指指根根据据用用户户需需求求研研制制数数据据库库结结构构的的过过程程,具具体体地地说说,是是指指对对于于一一个个给给定定的的应应用用环环境境,构构造造最最优优的的数数据据库库模模式式,建建立立数数据据库库及及其其应应用用系系统统,使使之之能能有有效效的的存存储储数数据据,满满足足用用户的信息要求和处理要求。户的信息要求和处理要求。也也就就是是把把现现实

2、实世世界界中中的的数数据据,根根据据各各种种应应用用处处理理的的要要求求,加加以以合合理理地地组组织织,满满足足硬硬件件和和操操作作系系统统的的特特性性,利利用用已已有有的的DBMSDBMS来来建建立立能能够够实实现现系统目标的数据库。系统目标的数据库。2数据库设计的任务如图数据库设计的任务如图6.16.1所示。所示。数据库设计信息需求处理需求信息需求典型应用程序DBM特性硬件和操作系统特性图6.1 数据库设计的任务36.1.1.2 6.1.1.2 数据库设计的内容数据库设计的内容数数据据库库设设计计包包括括数数据据库库的的结结构构设设计计和和数数据据库库的的行为设计两方面的内容。行为设计两方

3、面的内容。1 1数据库的结构设计数据库的结构设计数数据据库库的的结结构构设设计计指指是是根根据据给给定定的的应应用用环环境境,进行数据库的模式或子模式的设计。进行数据库的模式或子模式的设计。它它包包括括数数据据库库的的概概念念设设计计、逻逻辑辑设设计计和和物物理理设设计。计。数数据据库库模模式式是是各各应应用用程程序序共共享享的的结结构构,是是静静态态的的、稳稳定定的的,一一经经形形成成后后通通常常情情况况下下是是不不容容易易改变的,所以结构设计又称为改变的,所以结构设计又称为静态模型设计静态模型设计。42 2数据库的行为设计数据库的行为设计数数据据库库的的行行为为设设计计是是指指确确定定数数

4、据据库库用用户户的的行行为为和和动动作作。而而在在数数据据库库系系统统中中,用用户户的的行行为为和和动动作作指指用用户户对对数数据据库库的的操操作作,这这些些要要通通过过应应用用程程序序来来实实现现,所所以以数数据据库库的的行行为设计就是应用程序的设计。为设计就是应用程序的设计。用用户户的的行行为为总总是是使使数数据据库库的的内内容容发发生生变变化化,所所以以行行为为设设计是动态的,行为设计又称为计是动态的,行为设计又称为动态模型设计动态模型设计。6.1.1.3 6.1.1.3 数据库设计的特点数据库设计的特点在在7070年年代代末末8080年年代代初初,人人们们为为了了研研究究数数据据库库设

5、设计计方方法法学学的的便便利利,曾曾主主张张将将结结构构设设计计和和行行为为设设计计两两者者分分离离,随随着着数数据据库库设设计计方方法法学学的的成成熟熟和和结结构构化化分分析析、设设计计方方法法的的普普遍遍使使用用,人人们们主主张张将将两两者者作作一一体体化化的的考考虑虑,这这样样可可以以缩缩短数据库的设计周期,提高数据库的设计效率。短数据库的设计周期,提高数据库的设计效率。5现现代代数数据据库库的的设设计计的的特特点点是是强强调调结结构构设设计计与与行行为为设设计计相相结结合合,是是一一种种“反反复复探探寻寻,逐逐步步求求精精”的的过过程程。首首先先从从数数据据模模型型开开始始设设计计,以

6、以数数据据模模型型为为核核心心进进行行展展开开,数数据据库库设设计计和和应应用用系系统统设设计计相相结结合合,建建立立一一个个完完整整、独独立立、共共享享、冗冗余小、安全有效的数据库系统。余小、安全有效的数据库系统。图图6.26.2给出了数据库设计的全过程。给出了数据库设计的全过程。6现实世界数据分析用户业务活动分析概念设计功能模型逻辑设计事务设计物理设计程序说明子模式设计应用程序设计加载试验数据程序编码调试性能考核满意?是否加载数据库运行和维护图图6.2 6.2 数据库设计的全过程数据库设计的全过程76.1.2 数据库设计方法简述数据库设计方法简述 数据库设计方法目前可分为四类:数据库设计方

7、法目前可分为四类:直观设计法直观设计法、规范设计法规范设计法、计计算机辅助设计法算机辅助设计法和和自动化设计法自动化设计法。直观设计法也叫手工试凑法,它是最早使用的数据库设计方法。直观设计法也叫手工试凑法,它是最早使用的数据库设计方法。这种方法依赖于设计者的经验和技巧,缺乏科学理论和工程原则这种方法依赖于设计者的经验和技巧,缺乏科学理论和工程原则的支持,设计的质量很难保证,常常是数据库运行一段时间后又的支持,设计的质量很难保证,常常是数据库运行一段时间后又发现各种问题,这样再重新进行修改,增加了系统维护的代价。发现各种问题,这样再重新进行修改,增加了系统维护的代价。因此这种方法越来越不适应信息

8、管理发展的需要。因此这种方法越来越不适应信息管理发展的需要。为了改变这种情况,为了改变这种情况,1978年年10月,来自三十多个国家的数据库专月,来自三十多个国家的数据库专家在美国新奥尔良(家在美国新奥尔良(New Orleans)市专门讨论了数据库设计问题,市专门讨论了数据库设计问题,他们运用软件工程的思想和方法,提出了数据库设计的规范,这他们运用软件工程的思想和方法,提出了数据库设计的规范,这就是著名的新奥尔良法,它是目前公认的比较完整和权威的一种就是著名的新奥尔良法,它是目前公认的比较完整和权威的一种规范设计法。新奥尔良法将数据库设计分成需求分析(分析用户规范设计法。新奥尔良法将数据库设

9、计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。目前,常用的规范设计方法大和物理设计(物理数据库设计)。目前,常用的规范设计方法大多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来具体实现。具体实现。下面简单介绍几种常用的规范设计方法。下面简单介绍几种常用的规范设计方法。 81基于基于E-R模型的数据库设计方法模型的数据库设计方法 v基于基于E-R模型的数据库设计方法是由模型的数据库设计方法是由P.P.S.chen于

10、于1976年提出的数据库设计方法,其基本思想是在需年提出的数据库设计方法,其基本思想是在需求分析的基础上,用求分析的基础上,用E-R(实体实体联系)图构造一联系)图构造一个反映现实世界实体之间联系的企业模式,然后再个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的将此企业模式转换成基于某一特定的DBMS的概念的概念模式。模式。2 2基于基于3 3NFNF的数据库设计方法的数据库设计方法v基于基于3NF的数据库设计方法是由的数据库设计方法是由SAtre提出的结构提出的结构化设计方法,其基本思想是在需求分析的基础上,化设计方法,其基本思想是在需求分析的基础上,确定数据库模

11、式中的全部属性和属性间的依赖关系,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析将它们组织在一个单一的关系模式中,然后再分析模式中不符合模式中不符合3NF的约束条件,将其进行投影分解,的约束条件,将其进行投影分解,规范成若干个规范成若干个3NF关系模式的集合。关系模式的集合。其具体设计步骤分为五个阶段:其具体设计步骤分为五个阶段: 9(1)(1)设设计计企企业业模模式式,利利用用规规范范化化得得到到的的3 3NFNF关关系系模式画出企业模式;模式画出企业模式;(2)(2)设设计计数数据据库库的的概概念念模模式式,把把企企业业模模式式转转换换成成DBM

12、SDBMS所所能能接接受受的的概概念念模模式式,并并根根据据概概念念模模式导出各个应用的外模式;式导出各个应用的外模式;(3)(3)设计数据库的物理模式(存储模式);设计数据库的物理模式(存储模式);(4)(4)对物理模式进行评价;对物理模式进行评价; (5) 实现数据库。实现数据库。 103 3基于视图的数据库设计方法基于视图的数据库设计方法此此方方法法先先从从分分析析各各个个应应用用的的数数据据着着手手,其其基基本本思思想想是是为为每每个个应应用用建建立立自自己己的的视视图图,然然后后再再把把这这些些视视图图汇汇总总起起来来合合并并成成整整个个数数据据库库的的概概念念模模式。合并过程中要解

13、决以下问题:式。合并过程中要解决以下问题: (1) (1) 消除命名冲突;消除命名冲突;(2) (2) 消除冗余的实体和联系;消除冗余的实体和联系;(3)(3)进进行行模模式式重重构构,在在消消除除了了命命名名冲冲突突和和冗冗余余后后,需需要要对对整整个个汇汇总总模模式式进进行行调调整整,使使其其满满足足全全部部完完整整性性约约束条件。束条件。 11除除了了以以上上三三种种方方法法外外,规规范范化化设设计计方方法法还还有有实实体体分分析析法法、属属性性分分析析法法和和基基于于抽抽象象语语义义的的设设计计方方法法等等,这这里里不再详细介绍。不再详细介绍。规规范范设设计计法法从从本本质质上上来来说

14、说仍仍然然是是手手工工设设计计方方法法,其其基基本思想是过程迭代和逐步求精。本思想是过程迭代和逐步求精。计计算算机机辅辅助助设设计计法法是是指指在在数数据据库库设设计计的的某某些些过过程程中中模模拟拟某某一一规规范范化化设设计计的的方方法法,并并以以人人的的知知识识或或经经验验为为主主导,通过人机交互方式实现设计中的某些部分。导,通过人机交互方式实现设计中的某些部分。目目前前许许多多计计算算机机辅辅助助软软件件工工程程(Computer Aided Software Engineering,CASE)工工具具可可以以自自动动或或辅辅助助设设计计人人员员完完成成数数据据库库设设计计过过程程中中的

15、的很很多多任任务务.比比如如SYSBASE公公司司的的PowerDesigner和和Oracle公公司司的的Design 2000。 126.1.3 6.1.3 数据库设计的步骤数据库设计的步骤和和其其他他软软件件一一样样,数数据据库库的的设设计计过过程程可可以以使使用用软软件件工工程程中中的的生生存存周周期期的的概概念念来来说说明明,称称为为“数数据据库库设设计计的的生生存存期期”,它它是是指指从从数数据据库库研研制制到不再使用它的整个时期。到不再使用它的整个时期。按按规规范范设设计计法法可可将将数数据据库库设设计计分分为为六六个个阶阶段段(如图(如图6.36.3所示):所示):(1 1)系

16、统需求分析阶段)系统需求分析阶段(2 2)概念结构设计阶段)概念结构设计阶段(3 3)逻辑结构设计阶段)逻辑结构设计阶段(4 4)物理设计阶段)物理设计阶段(5 5)数据库实施阶段)数据库实施阶段(6 6)数据库运行与维护阶段)数据库运行与维护阶段 13该该方方法法是是分分阶阶段段完完成成的的,每每完完成成一一个个阶阶段段,都都要要进进行行设设计计分分析析,评评价价一一些些重重要要的的设设计计指指标标,把把设设计计阶阶段段产产生生的的文文档档组组织织评评审审,与与用用户户进进行行交交流流。如如果果设设计计的的数数据据库库不不符符合合要要求求则则进进行行修修改改,这这种种分分析析和和修修改改可可

17、能能要要重重复复若若干干次次,以以求求最最后后实实现现的的数数据据库库能能够够比比较较精精确确地地模模拟拟现现实实世世界界,能能较较准准确确地地反反映映用用户户的的需需求求,设设计计一一个个完完善善的的数数据据库库应应用用系系统统往往往往是是六六个个阶阶段段的的不不断断反反复复的过程。的过程。数数据据库库设设计计中中,前前两两个个阶阶段段是是面面向向用用户户的的应应用用要要求求,面面向向具具体体的的问问题题;中中间间两两个个阶阶段段是是面面向向数数据据库库管管理理系系统统;最最后后两两个个阶阶段段是是面面向向具具体体的的实实现现方方法法。前前四四个个阶阶段段可可统统称称为为“分分析析和和设设计

18、计阶阶段段”,后后两两个个阶阶段段称称为为“实现和运行阶段实现和运行阶段”。六个阶段的主要工作各有不同。六个阶段的主要工作各有不同。 141 1系统需求分析阶段系统需求分析阶段v需需求求分分析析是是整整个个数数据据库库设设计计过过程程的的基基础础,要要收收集集数数据据库库所所有有用用户户的的信信息息内内容容和和处处理理要要求求,并并加加以以规规格格化化和和分分析析。这这是是最最费费时时、最最复复杂杂的的一一步步,但但也也是是最最重重要要的的一一步步,相相当当于于待待构构建建的的数数据据库库大大厦厦的的地地基基,它它决决定定了了以以后后各各步步设设计计的的速速度度与与质质量量。需需求求分分析析做

19、做得得不不好好,可可能能会会导导致致整整个个数数据据库库设设计计返返工工重重做做。在在分析用户需求时,要确保用户目标的一致性。分析用户需求时,要确保用户目标的一致性。2 2概念结构设计阶段概念结构设计阶段v概概念念设设计计是是把把用用户户的的信信息息要要求求统统一一到到一一个个整整体体逻逻辑辑结结构构中中,此此结结构构能能够够表表达达用用户户的的要要求求,是是一一个个独独立立于任何于任何DBMSDBMS软件和硬件的概念模型。软件和硬件的概念模型。3 3逻辑结构设计阶段逻辑结构设计阶段v逻逻辑辑设设计计是是将将上上一一步步所所得得到到的的概概念念模模型型转转换换为为某某个个DBMSDBMS所支持

20、的数据模型,并对其进行优化。所支持的数据模型,并对其进行优化。 15图图6.3数据库的设计步骤数据库的设计步骤YYNN需求分析阶段现有应用、未来应用数据分析概念模型设计转换规范,规范化理论DBMS要求逻辑模型设计用户应用要求DBMS限制物理模型设计应用程序的使用频率性能评价与预测符合要求?物理实现试运行满意?使用与维护概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行维护阶段164 4物理设计阶段物理设计阶段v物物理理设设计计是是为为逻逻辑辑数数据据模模型型建建立立一一个个完完整整的的能能实实现现的的数数据据库库结构,包括存储结构和存取方法。结构,包括存储结构和存取方法。v上上述述分

21、分析析和和设设计计阶阶段段是是很很重重要要的的,如如果果做做出出不不恰恰当当的的分分析析或或设计,则会导致一个不恰当或反应迟钝的应用系统。设计,则会导致一个不恰当或反应迟钝的应用系统。5 5数据库实施阶段数据库实施阶段v根根据据物物理理设设计计的的结结果果把把原原始始数数据据装装入入数数据据库库,建建立立一一个个具具体体的的数数据据库库并并编编写写和和调调试试相相应应的的应应用用程程序序。应应用用程程序序的的开开发发目目标标是是开开发发一一个个可可依依赖赖的的有有效效的的数数据据库库存存取取程程序序,来来满满足足用用户户的处理要求。的处理要求。6 6数据库运行与维护阶段数据库运行与维护阶段v这

22、这一一阶阶段段主主要要是是收收集集和和记记录录实实际际系系统统运运行行的的数数据据,数数据据库库运运行行的的记记录录用用来来提提高高用用户户要要求求的的有有效效信信息息,用用来来评评价价数数据据库库系系统统的的性性能能,进进一一步步调调整整和和修修改改数数据据库库。在在运运行行中中,必必须须保保持持数数据据库库的的完完整整性性,并并能能有有效效地地处处理理数数据据库库故故障障和和进进行行数数据据库库恢恢复复。在在运运行行和和维维护护阶阶段段,可可能能要要对对数数据据库库结结构构进进行行修修改改或或扩充。扩充。 17可可以以看看出出,以以上上六六个个阶阶段段是是从从数数据据库库应应用用系系统统设

23、设计计和和开开发发的的全全过过程程来来考考察察数数据据库库设设计计的的问问题题。因因此此,它它既既是是数数据据库库也也是是应应用用系系统统的的设设计计过过程程。在在设设计计过过程程中中,努努力力使使数数据据库库设设计计和和系系统统其其他他部部分分的的设设计计紧紧密密结结合合,把把数数据据和和处处理理的的需需求求收收集集、分分析析、抽抽象象、设设计计和和实实现现在在各各个个阶阶段段同同时时进进行行、相相互互参参照照、相相互互补补充充,以以完完善善两两方方面面的的设设计计。按按照照这这个个原原则则,数数据据库库过过程程各各个个阶阶段段的设计可用图的设计可用图6.46.4描述。描述。在在上上图图有有

24、关关处处理理特特性性的的描描述述中中,采采用用的的设设计计方方法法和和工工具具属属于于软软件件工工程程和和管管理理信信息息系系统统等等课课程程中中的的内内容容,本本书书不不再再讨讨论论,这这里里重重点点介介绍绍数数据据特特性性的的设设计计描描述述以以及及在在结结构构特特性性中中参参照照处处理理特特性性设设计计以以完完善善数数据据模模型型设设计计的问题。的问题。以下各节分别详细介绍数据库设计的六个阶段。以下各节分别详细介绍数据库设计的六个阶段。18需求分析是数据库设计的起点,为以后的具体需求分析是数据库设计的起点,为以后的具体设计作准备。设计作准备。需求分析的结果是否准确的反映了用户的实际需求分

25、析的结果是否准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。影响到设计结果是否合理和实用。经验证明,由于设计要求的不正确或误解,直经验证明,由于设计要求的不正确或误解,直到系统测试阶段才发现许多错误,则纠正起来到系统测试阶段才发现许多错误,则纠正起来要付出很大代价。要付出很大代价。因此,必须高度重视系统的需求分析。因此,必须高度重视系统的需求分析。 6.2 6.2 系统需求分析系统需求分析196.2.1 6.2.1 需求分析的任务需求分析的任务从数据库设计的角度来看,需求分析的任务是:从数据库设计的角度来看,需

26、求分析的任务是:对现实世界要处理的对象(组织、部门、企业)对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,收等进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。此基础上确定新系统的功能。 20具体地说,需求分析阶段的任务包括以下三项:具体地说,需求分析阶段的任务包括以下三项: 设计阶段设 计 描 述数据处理需求分析数据字典、全系统中数据项、数据流、数据存储的描述数据流图和定表(判定树)数据字典中处理过程的描述概 念 结 构 设 计概念模型(E-R图)数据字典系统说明书。

27、包括:(1)新系统要求、方案和概图(2)反映新系统信息的数据流图逻 辑 结 构 设 计某种数据模型关系模型系统结构图非关系模型(模块结构图)物理设计存储安排存取方法选择存取路径建立模块设计IPO表实施阶段编写模式装入数据数据库试运行程序编码编译联结测试运行维护性能测试,转储/恢复数据库重组和重构新旧系统转换、运行、维护(修正性、适应性、改善性维护)图图6.4 6.4 数据库各个设计阶段的描述数据库各个设计阶段的描述211 1调查分析用户的活动调查分析用户的活动这这个个过过程程通通过过对对新新系系统统运运行行目目标标的的研研究究,对对现现行行系系统统所所存存在在的的主主要要问问题题的的分分析析以

28、以及及制制约约因因素素的的分分析析,明明确确用用户户总总的的需需求求目目标标,确确定定这这个个目目标的功能域和数据域。具体做法是:标的功能域和数据域。具体做法是:(1) (1) 调调查查组组织织机机构构情情况况,包包括括该该组组织织的的部部门门组组成成情情况况,各部门的职责和任务等。各部门的职责和任务等。(2) (2) 调调查查各各部部门门的的业业务务活活动动情情况况,包包括括各各部部门门输输入入和和输输出出的的数数据据与与格格式式、所所需需的的表表格格与与卡卡片片、加加工工处处理理这些数据的步骤、输入输出的部门等。这些数据的步骤、输入输出的部门等。222 2收集和分析需求数据,确定系统边界收

29、集和分析需求数据,确定系统边界在在熟熟悉悉业业务务活活动动的的基基础础上上,协协助助用用户户明明确确对对新新系系统统的的各各种种需需求求,包包括括用用户户的的信信息息需需求求、处处理理需需求求、安安全全性性和完整性的需求等。和完整性的需求等。(1 1)信信息息需需求求指指目目标标范范围围内内涉涉及及的的所所有有实实体体、实实体体的的属属性性以以及及实实体体间间的的联联系系等等数数据据对对象象,也也就就是是用用户户需需要要从从数数据据库库中中获获得得信信息息的的内内容容与与性性质质。由由信信息息要要求求可可以以导导出出数数据据要要求求,即即在在数数据库中需要存储哪些数据。据库中需要存储哪些数据。

30、(2 2)处处理理需需求求指指用用户户为为了了得得到到需需求求的的信信息息而而对对数数据据进进行行加加工工处处理理的的要要求求,包包括括对对某某种种处处理理功功能能的的响响应应时时间间,处处理理的的方方式式(批处理或联机处理)等。(批处理或联机处理)等。(3 3)安安全全性性和和完完整整性性的的需需求求。在在定定义义信信息息需需求求和和处处理理需需求求的的同同时必须相应确定安全性和完整性约束。时必须相应确定安全性和完整性约束。在在收收集集各各种种需需求求数数据据后后,对对前前面面调调查查的的结结果果进进行行初初步步分分析析,确确定定新新系系统统的的边边界界,确确定定哪哪些些功功能能由由计计算算

31、机机完完成成或或将将来来准准备备让让计计算算机机完完成成,哪哪些些活活动动由由人人工工完完成成。由计算机完成的功能就是新系统应该实现的功能。由计算机完成的功能就是新系统应该实现的功能。 233 3编写需求分析说明书编写需求分析说明书系系统统分分析析阶阶段段的的最最后后是是编编写写系系统统分分析析报报告告,通通常常称称为为需需求求规规范范说说明明书书。需需求求规规范范说说明明书书是是对对需需求求分分析析阶阶段段的的一一个个总总结结。编编写写系系统统分分析析报报告告是是一一个个不不断断反反复复、逐逐步步深深入入和和逐逐步步完完善善的的过过程程,系系统统分分析析报报告告应应包包括括如如下下内容:内容

32、:(1) (1) 系统概况,系统的目标、范围、背景、历史和现状;系统概况,系统的目标、范围、背景、历史和现状;(2) (2) 系统的原理和技术,对原系统的改善;系统的原理和技术,对原系统的改善;(3) (3) 系统总体结构与子系统结构说明;系统总体结构与子系统结构说明;(4) (4) 系统功能说明;系统功能说明;(5) (5) 数据处理概要、工程体制和设计阶段划分;数据处理概要、工程体制和设计阶段划分;(6) (6) 系统方案及技术、经济、功能和操作上的可行性。系统方案及技术、经济、功能和操作上的可行性。完成系统的分析报告后,在项目单位的领导下要组织完成系统的分析报告后,在项目单位的领导下要组

33、织有关技术专家评审系统分析报告,这是对需求分析结有关技术专家评审系统分析报告,这是对需求分析结构的再审查。审查通过后由项目方和开发方领导签字构的再审查。审查通过后由项目方和开发方领导签字认可。认可。 24随系统分析报告提供下列附件:随系统分析报告提供下列附件:(1) (1) 系系统统的的硬硬件件、软软件件支支持持环环境境的的选选择择及及规规格格要要求求(所所选选择择的的数数据据库库管管理理系系统统、操操作作系系统统、汉汉字字平平台台、计算机型号及其网络环境等)。计算机型号及其网络环境等)。(2) (2) 组组织织机机构构图图、组组织织之之间间联联系系图图t t 各各机机构构功功能能业业务务一览

34、图。一览图。(3) (3) 数据流程图、功能模块图和数据字典等图表。数据流程图、功能模块图和数据字典等图表。如如果果用用户户同同意意系系统统分分析析报报告告和和方方案案设设计计,在在与与用用户户进进行行详详尽尽商商讨讨的的基基础础上上,最最后后签签订订技技术术协协议书。议书。系系统统分分析析报报告告是是设设计计者者和和用用户户一一致致确确认认的的权权威威性文献,是今后各阶段设计和工作的依据。性文献,是今后各阶段设计和工作的依据。 256.2.2 6.2.2 需求分析的方法需求分析的方法用用户户参参加加数数据据库库设设计计是是数数据据应应用用系系统统设设计计的的特特点点,是是数据库设计理论不可分

35、割的一部分。数据库设计理论不可分割的一部分。在在数数据据需需求求分分析析阶阶段段,任任何何调调查查研研究究没没有有用用户户的的积积极极参参加加是是寸寸步步难难行行的的,设设计计人人员员应应和和用用户户取取得得共共同同的的语语言言,帮帮助助不不熟熟悉悉计计算算机机的的用用户户建建立立数数据据库库环环境境下下的的共共同同概概念念,所所以以这这个个过过程程中中不不同同背背景景的的人人员员之之间间互互相相了了解与沟通是至关重要的,同时方法也很重要。解与沟通是至关重要的,同时方法也很重要。用用于于需需求求分分析析的的方方法法有有多多种种,主主要要方方法法有有自自顶顶向向下下和和自底向上两种自底向上两种,

36、 ,如图如图6.56.5所示。所示。其中自顶向下的分析方法(其中自顶向下的分析方法(Structured Analysis,简称简称SA方法)是最简单实用的方法。方法)是最简单实用的方法。SA方法从最上层的系方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用统组织机构入手,采用逐层分解的方式分析系统,用数据流图数据流图(Data Flow Diagram,DFD)和和数据字典数据字典(Data Dictionary,DD)描述系统。描述系统。下面对数据流图和数据字典作些简单的介绍。下面对数据流图和数据字典作些简单的介绍。 261 1数据流图数据流图使使用用SASA方方法法,任任何何

37、一一个个系系统统都都可可抽抽象象为为图图6.66.6所所示示的的数数据流图。据流图。在在数数据据流流图图中中,用用命命名名的的箭箭头头表表示示数数据据流流,用用圆圆圈圈表表示处理,用矩形或其他形状表示存储。示处理,用矩形或其他形状表示存储。图图6.76.7是是一一个个简简单单的的数数据据流流图图。一一个个简简单单的的系系统统可可用用一一张张数数据据流流图图来来表表示示。当当系系统统比比较较复复杂杂时时,为为了了便便于于理理解解,控控制制其其复复杂杂性性,可可以以采采用用分分层层描描述述的的方方法法。一一般般用用第第一一层层描描述述系系统统的的全全貌貌,第第二二层层分分别别描描述述各各子子系系统

38、统的的结结构构。如如果果系系统统结结构构还还比比较较复复杂杂,那那么么可可以以继继续续细细化化,直直到到表表达达清清楚楚为为止止。在在处处理理功功能能逐逐步步分分解解的的同同时时,它它们们所所用用的的数数据据也也逐逐级级分分解解,形形成成若若干干层层次次的的数数据据流流图。数据流图表达了数据和处理过程的关系。图。数据流图表达了数据和处理过程的关系。在在SA方法中,处理过程的处理逻辑常常借助判定表或方法中,处理过程的处理逻辑常常借助判定表或判定树来描述,而系统中的数据则是借助数据字典来判定树来描述,而系统中的数据则是借助数据字典来描述描述 27图图6.5 需求分析的方法需求分析的方法(a)自顶向

39、下的需求分析(b)自底向上的需求分析需求需求需求需求需求需求需求需求需求需求需求需求需求需求28图图6.6 数据流图数据流图数据流数据流数据存储数据来源处理数据输出处理需求信息需求29图图6.7 数据流图示例数据流图示例付款凭证报销单报销登记报销人审查分录302 2数据字典数据字典数数据据字字典典是是对对系系统统中中数数据据的的详详细细描描述述,是是各各类类数数据据结结构和属性的清单。它与数据流图互为注释。构和属性的清单。它与数据流图互为注释。数数据据字字典典贯贯穿穿于于数数据据库库需需求求分分析析直直到到数数据据库库运运行行的的全全过程,在不同的阶段其内容和用途各有区别。过程,在不同的阶段其

40、内容和用途各有区别。在需求分析阶段,它通常包含以下五部分内容。在需求分析阶段,它通常包含以下五部分内容。(1) (1) 数据项数据项v数数据据项项是是数数据据的的最最小小单单位位,其其具具体体内内容容包包括括:数数据据顶顶名名、含含义义说说明明、别别名名、类类型型、长长度度、取取值值范范围围、与与其其他他数数据据项项的的关关系。系。v其其中中,取取值值范范围围、与与其其他他数数据据项项的的关关系系这这两两项项内内容容定定义义了了完完整性约束条件,是设计数据检验功能的依据。整性约束条件,是设计数据检验功能的依据。(2) (2) 数据结构数据结构v数数据据结结构构是是数数据据项项有有意意义义的的集

41、集合合。内内容容包包括括:数数据据结结构构名名、含义说明,这些内容组成数据项名。含义说明,这些内容组成数据项名。 31(3) (3) 数据流数据流v数数据据流流可可以以是是数数据据项项,也也可可以以是是数数据据结结构构,它它表表示示某某一一处处理理过程中数据在系统内传输的路径。过程中数据在系统内传输的路径。v内内容容包包括括:数数据据流流名名、说说明明、流流出出过过程程、流流入入过过程程,这这些些内内容组成数据项或数据结构。容组成数据项或数据结构。v其其中中,流流出出过过程程说说明明该该数数据据流流由由什什么么过过程程而而来来;流流入入过过程程说说明该数据流到什么过程。明该数据流到什么过程。(

42、4) (4) 数据存储数据存储v处处理理过过程程中中数数据据的的存存放放场场所所,也也是是数数据据流流的的来来源源和和去去向向之之一一。可以是手工凭证,手工文档或计算机文件。可以是手工凭证,手工文档或计算机文件。v包包括括数数据据存存储储名名,说说明明,输输入入数数据据流流,输输出出数数据据流流,组组成成:数据项或数据结构,数据量,存取频度,存取方式。数据项或数据结构,数据量,存取频度,存取方式。v其其中中,存存取取频频度度是是指指每每天天(或或每每小小时时、或或每每周周)存存取取几几次次,每每次次存存取取多多少少数数据据等等信信息息。存存取取方方法法指指的的是是批批处处理理,还还是是联联机处

43、理;是检索还是更新;是顺序检索还是随机检索等。机处理;是检索还是更新;是顺序检索还是随机检索等。 32(5) (5) 处理过程处理过程v处处理理过过程程的的处处理理逻逻辑辑通通常常用用判判定定表表或或判判定定树树来来描描述述,数据字典只用来描述处理过程的说明性信息。数据字典只用来描述处理过程的说明性信息。v处处理理过过程程包包括括处处理理过过程程名名,说说明明,输输入入:数数据据流,输出:数据流,处理,简要说明。流,输出:数据流,处理,简要说明。v其其中中,简简要要说说明明主主要要说说明明处处理理过过程程的的功功能能及及处处理理要要求。求。v功功能能是是指指该该处处理理过过程程用用来来做做什什

44、么么(不不是是怎怎么么做做),处处理理要要求求指指该该处处理理频频度度要要求求,如如单单位位时时间间里里处处理理多多少少事事务务、多多少少数数据据量量、响响应应时时间间要要求求等等,这这些些处处理理要求是后面物理设计的输入及性能评价的标准。要求是后面物理设计的输入及性能评价的标准。最终形成的数据流图和数据字典为最终形成的数据流图和数据字典为“需求分析需求分析说明书说明书”的主要内容,这是下一步进行概念设的主要内容,这是下一步进行概念设计的基础。计的基础。 336.3.1 6.3.1 概念结构设计的必要性概念结构设计的必要性在在需需求求分分析析阶阶段段,设设计计人人员员充充分分调调查查并并描描述

45、述了了用用户户的的需需求求,但但这这些些需需求求只只是是现现实实世世界界的的具具体体要要求求,应应把把这这些些需需求求抽抽象象为信息世界的结构,才能更好地实现用户的需求。为信息世界的结构,才能更好地实现用户的需求。概概念念设设计计就就是是将将需需求求分分析析得得到到的的用用户户需需求求抽抽象象为为信信息息结结构构,即概念模型。即概念模型。在在早早期期的的数数据据库库设设计计中中,概概念念设设计计并并不不是是一一个个独独立立的的设设计计阶阶段段。当当时时的的设设计计方方式式是是在在需需求求分分析析之之后后,接接着着就就进进行行逻逻辑辑设设计计。这这样样设设计计人人员员在在进进行行逻逻辑辑设设计计

46、时时,考考虑虑的的因因素素太太多多,既既要要考考虑虑用用户户的的信信息息,又又要要考考虑虑具具体体DBMS的的限限制制,使使得得设设计计过过程程复复杂杂化化,难难以以控控制制。为为了了改改善善这这种种状状况况,P.P.S.chen设设计计了了基基于于E-R模模型型的的数数据据库库设设计计方方法法,即即在在需需求求分分析析和和逻逻辑辑设设计计之之间间增增加加了了一一个个概概念念设设计计阶阶段段。在在这这个个阶阶段段,设设计计人人员员仅仅从从用用户户角角度度看看待待数数据据及及处处理理要要求求和和约约束束,产产生生一一个个反反映映用用户户观观点点的的概概念念模模型型,然然后后再再把把概概念念模模型

47、型转转换成逻辑模型。这样做有三个好处:换成逻辑模型。这样做有三个好处: 6.3 6.3 概念结构设计概念结构设计34(1) (1) 从从逻逻辑辑设设计计中中分分离离出出概概念念设设计计以以后后,各各阶阶段段的的任任务务相相对对单单一一化化,设设计计复复杂杂程程度度大大大大降降低低,便便于于组组织织管理。管理。(2) (2) 概概念念模模型型不不受受特特定定的的DBMSDBMS的的限限制制,也也独独立立于于存存储储安排和效率方面的考虑,因而比逻辑模型更为稳定。安排和效率方面的考虑,因而比逻辑模型更为稳定。(3) (3) 概概念念模模型型不不含含具具体体的的DBMSDBMS所所附附加加的的技技术术

48、细细节节,更更容容易易为为用用户户所所理理解解,因因而而更更有有可可能能准准确确反反映映用用户户的的信息需求。信息需求。设设计计概概念念模模型型的的过过程程称称为为概概念念设设计计。概概念念模模型型在数据库的各级模型中的地位如图在数据库的各级模型中的地位如图6.8所示。所示。 35图图6.8 数据库各级模型的形成数据库各级模型的形成应用1应用要求应用2应用要求应用3应用要求概念模式综合应用1外模式1应用2外模式2应用3外模式3概念模式概念模式转换映象映象366.3.2 6.3.2 概念模型的特点概念模型的特点概概念念模模型型作作为为概概念念设设计计的的表表达达工工具具,为为数数据据库库提提供供

49、一一个个说说明明性性结结构构,是是设设计计数数据据库库逻逻辑辑结结构构即即逻逻辑辑模模型型的的基础。因此,概念模型必须具备以下特点:基础。因此,概念模型必须具备以下特点:(1) (1) 语语义义表表达达能能力力丰丰富富。概概念念模模型型能能表表达达用用户户的的各各种种需需求求,充充分分反反映映现现实实世世界界,包包括括事事物物和和事事物物之之间间的的联联系系、用用户户对对数数据据的的处理要求,它是现实世界的一个真实模型。处理要求,它是现实世界的一个真实模型。(2) (2) 易易于于交交流流和和理理解解。概概念念模模型型是是DBADBA、应应用用开开发发人人员员和和用用户户之之间间的的主主要要界

50、界面面,因因此此,概概念念模模型型要要表表达达自自然然、直直观观和和容容易易理理解解,以以便便和和不不熟熟悉悉计计算算机机的的用用户户交交换换意意见见,用用户户的的积积极极参参与与是保证数据库设计和成功的关键。是保证数据库设计和成功的关键。(3) (3) 易易于于修修改改和和扩扩充充。概概念念模模型型要要能能灵灵活活地地加加以以改改变变,以以反反映映用用户需求和现实环境的变化。户需求和现实环境的变化。(4) (4) 易易于于向向各各种种数数据据模模型型转转换换。概概念念模模型型独独立立于于特特定定的的DBMSDBMS,因因而而更更加加稳稳定定,能能方方便便地地向向关关系系模模型型、网网状状模模

51、型型或或层层次次模模型型等等各种数据模型转换。各种数据模型转换。人们提出了许多概念模型,其中最著名、最实用的一人们提出了许多概念模型,其中最著名、最实用的一种是种是E-R模型,它将现实世界的信息结构统一用属性、模型,它将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。实体以及它们之间的联系来描述。 376.3.3 6.3.3 概念结构设计的方法与步骤概念结构设计的方法与步骤1 1概念结构设计的方法概念结构设计的方法设计概念结构的设计概念结构的E-RE-R模型可采用四种方法。模型可采用四种方法。(1) (1) 自自顶顶向向下下。先先定定义义全全局局概概念念结结构构E-RE-R模模型型

52、的的框框架架,再再逐逐步步细细化。如图化。如图6.96.9(a a)所示。所示。(2) (2) 自自底底向向上上。先先定定义义各各局局部部应应用用的的概概念念结结构构E-RE-R模模型型,然然后后将将它们集成,得到全局概念结构它们集成,得到全局概念结构E-RE-R模型。如图模型。如图6.96.9(b b)所示。所示。(3) (3) 逐逐步步扩扩张张。先先定定义义最最重重要要的的核核心心概概念念E-RE-R模模型型,然然后后向向外外扩扩充充,以以滚滚雪雪球球的的方方式式逐逐步步生生成成其其他他概概念念结结构构E-RE-R模模型型。如如图图6.96.9(c c)所示。所示。(4) (4) 混混合合

53、策策略略。该该方方法法采采用用自自顶顶向向下下和和自自底底向向上上相相结结合合的的方方法法,先先自自顶顶向向下下定定义义全全局局框框架架,再再以以它它为为骨骨架架集集成成自自底底向向上上方方法法中设计的各个局部概念结构。中设计的各个局部概念结构。其中最常用的方法是自底向上。即自顶向下地进行需其中最常用的方法是自底向上。即自顶向下地进行需求分析,再自底向上地设计概念结构。求分析,再自底向上地设计概念结构。 382 2概念结构设计的步骤概念结构设计的步骤自底向上的设计方法可分为两步,如图自底向上的设计方法可分为两步,如图6.106.10所示:所示:(1) (1) 进行数据抽象,设计局部进行数据抽象

54、,设计局部E-RE-R模型,即设计用户视图。模型,即设计用户视图。(2) (2) 集成各局部集成各局部E-RE-R模型,形成全局模型,形成全局E-RE-R模型,即视图的集成。模型,即视图的集成。3 3数据抽象与局部数据抽象与局部E-RE-R模型设计模型设计概念结构是对现实世界的一种抽象。概念结构是对现实世界的一种抽象。所所谓谓抽抽象象是是对对实实际际的的人人、物物、事事和和概概念念进进行行人人为为处处理理,它它抽抽取取人人们们关关心心的的共共同同特特性性,忽忽略略非非本本质质的的细细节节,并并把把这这些些特特性性用用各各种种概概念念精精确确地地加加以以描描述述,这这些些概概念念组组成了某种模型

55、。成了某种模型。概概念念结结构构设设计计首首先先要要根根据据需需求求分分析析得得到到的的结结果果(数数据据流流图图、数数据据字字典典等等)对对现现实实世世界界进进行行抽抽象象,设设计计各各个个局部局部E-R模型。模型。 39图图6.9 概念结构设计的方法概念结构设计的方法概念模式(b)自底向上的设计方法概念模式概念模式概念模式子 需求概念模式概念模式全局概念模式子 需求子 需求子 需求全局概念模式概念模式概念模式概念模式概念模式概念模式(a)自顶向下的设计方法概念模式需求(c)逐步扩张的设计方法核心需求需求核心概念结构全局概念结构40图图6.10 自底向上方法的设计步骤自底向上方法的设计步骤需

56、求分析数据抽象、局部视图设计视图集成征求用户意见DFD、DD局部ER图全局ER图逻辑结构设计41(1) (1) E-RE-R方法方法E-RE-R方方法法是是“实实体体- -联联系系方方法法”(Entity-Relationship Entity-Relationship ApproachApproach)的的简简称称。它它是是描描述述现现实实世世界界概概念念结结构构模模型型的的有有效效方方法法。用用E-RE-R方方法法建建立立的的概概念念结结构构模模型型称称为为E-RE-R模模型型,或或称为称为E-RE-R图。图。E-RE-R图图基基本本成成分分包包含含实实体体型型、属属性性和和联联系系。(在

57、在第第1 1章章已已经经介绍过它们的基本概念,这里只给出它们的表示方法。)介绍过它们的基本概念,这里只给出它们的表示方法。)实体型:用矩形框表示,框内标注实体名称。如图实体型:用矩形框表示,框内标注实体名称。如图6.116.11(a a)所示。所示。属性:用椭圆形框表示,框内标注属性名称。如图属性:用椭圆形框表示,框内标注属性名称。如图6.116.11(b b)所示。所示。联联系系:指指实实体体之之间间的的联联系系,有有一一对对一一(1:1),一一对对多多(1:n)或或多多对对多多(m :n)三三种种联联系系类类型型。例例如如系系主主任任领领导导系系,学学生生属属于于某某一一系系,学学生生选选

58、修修课课程程,工工人人生生产产产产品品,这这里里“领领导导”、“属属于于”、“选选修修”、“生生产产”表表示示实实体体间间的的联联系系,可可以以作作为为联联系系名名称。联系用菱形框表示,框内标注联系名称。如图称。联系用菱形框表示,框内标注联系名称。如图6.11(c)所示。所示。 42现现实实世世界界的的复复杂杂性性导导致致实实体体联联系系的的复复杂杂性性。表表现现在在E-RE-R图上可以归结为图图上可以归结为图6.126.12所示的几种基本形式:所示的几种基本形式:两个实体之间的联系,如图两个实体之间的联系,如图6.126.12(a a)所示。所示。两个以上实体间的联系,如图两个以上实体间的联

59、系,如图6.126.12(b b)所示。所示。同同一一实实体体集集内内部部各各实实体体之之间间的的联联系系,例例如如一一个个部部门门内内的的职职工工有有领领导导与与被被领领导导的的联联系系,即即某某一一职职工工(干干部部)领领导导若若干干名名职职工工,而而一一个个职职工工(普普通通员员工工)仅仅被被另另外外一一个个职职工工直直接接领领导导,这这就就构构成了实体内部的一对多的联系。如图成了实体内部的一对多的联系。如图6.126.12(c c)所示。所示。需要注意的是,因为联系本身也是一种实体型,所以需要注意的是,因为联系本身也是一种实体型,所以联系也可以有属性。如果一个联系具有属性,则这些联系也

60、可以有属性。如果一个联系具有属性,则这些联系也要用无向边与该联系连接起来。例如,学生选联系也要用无向边与该联系连接起来。例如,学生选修的课程有相应的成绩。这里的修的课程有相应的成绩。这里的“成绩成绩”既不是学生既不是学生的属性,也不是课程的属性,只能是学生选修课程的的属性,也不是课程的属性,只能是学生选修课程的联系的属性。图联系的属性。图6.12(b)中中“供应数量供应数量”是是“供应供应”联系的属性。联系的属性。 43E-R图的基本思想就是分别用矩形框、椭圆形图的基本思想就是分别用矩形框、椭圆形框和菱形框表示实体、属性和联系,使用无向框和菱形框表示实体、属性和联系,使用无向边将属性与其相应的

61、实体连接起来,并将联系边将属性与其相应的实体连接起来,并将联系分别和有关实体相连接,注明联系类型。分别和有关实体相连接,注明联系类型。图图6.12为几个为几个E-R图的例子,只给出了实体及图的例子,只给出了实体及其其E-R图,省略了实体的属性。图,省略了实体的属性。图图6.13为一个描述学生与课程联系的完整的为一个描述学生与课程联系的完整的E-R图。图。 446.11 E-R图的三种基本成份及其图形的表示方法图的三种基本成份及其图形的表示方法学生选修学号(a)实体(b)属性(c)联系45图图6.12 实体及其联系图实体及其联系图(a)两个实体之间的联系学生选修成绩课程系主任领导系学生属于系11

62、n1系主任n(c)实体集内部的联系m职工领导1n供应商供应数量零件项目mnn(b)多个实体之间的联系46图图6.13 学生与课程联系的完整的学生与课程联系的完整的ER图图课程名学生学号姓名性别年龄系别课程课程号学分n选修成绩m47(2) (2) 数据抽象数据抽象在在系系统统需需求求分分析析阶阶段段,最最后后得得到到了了多多层层数数据据流流图图、数数据据字字典典和和系系统统分分析析报报告告。建建立立局局部部E-RE-R模模型型,就就是是根根据据系系统统的的具具体体情情况况,在在多多层层的的数数据据流流图图中中选选择择一一个个适适当当层层次次的的数数据据流流图图,作作为为设设计计分分E-RE-R图

63、图的的出出发发点点,让让这这组组图图中中毎毎一一部部分分对对应应一一个个局局部部应应用用。在在前前面面选选好好的的某某一一层层次次的的数数据据流流图图中中,每每个个局局部部应应用用都都对对应应了了一一组组数数据据流流图图,局局部部应应用用所所涉涉及及的的数数据据存存储储在在数数据据字字典典中中。现现在在就就是是要要将将这这些些数数据据从从数数据据字字典典中中抽抽取取出出来来,参参照照数数据据流流图图,确确定定每每个个局局部部应应用用包包含含哪哪些些实实体体,这这些些实实体体又包含哪些属性,以及实体之间的联系及其类型。又包含哪些属性,以及实体之间的联系及其类型。设设计计局局部部E-R模模型型的的

64、关关键键就就是是正正确确划划分分实实体体和和属属性性。实实体体和和属属性性之之间间在在形形式式上上并并无无可可以以明明显显区区分分的的界界限限,通通常常是是按按照照现现实实世世界界中中事事物物的的自自然然划划分分来来定定义义实实体体和和属属性性,将将现现实实世世界界中中的的事事物物进进行行数数据据抽抽象象,得得到到实实体体和和属性。属性。一般有两种数据抽象:分类和聚集。一般有两种数据抽象:分类和聚集。 48分类(分类(ClassificationClassification)v分分类类定定义义某某一一类类概概念念作作为为现现实实世世界界中中一一组组对对象象的的类类型型,将将一一组组具具有有某某

65、些些共共同同特特性性和和行行为为的的对对象象抽抽象象为为一一个个实实体体。对对象象和和实实体体之之间间是是“is is member member ofof”的的关系。关系。v例例如如,在在教教学学管管理理中中,“赵赵亦亦”是是一一名名学学生生,表表示示“赵赵亦亦”是是学学生生中中的的一一员员,她她具具有有学学生生们们共共同同的的特特性和行为。性和行为。聚集(聚集(AggregationAggregation)v聚聚集集定定义义某某一一类类型型的的组组成成成成份份,将将对对象象类类型型的的组组成成成成份份抽抽象象为为实实体体的的属属性性。组组成成成成份份与与对对象象类类型型之之间间是是“is

66、part of”的关系。的关系。v例例如如,学学号号、姓姓名名、性性别别、年年龄龄、系系别别等等可可以以抽抽象象为为学学生生实实体体的的属属性性,其其中中学学号号是是标标识识学学生生实实体体的的主主键。键。 49(2) (2) 局部局部E-RE-R模型设计模型设计数数据据抽抽象象后后得得到到了了实实体体和和属属性性,实实际际上上实实体体和和属属性性是是相相对对而而言言的的,往往往往要要根根据据实实际际情情况况进进行行必必要要的的调调整整。在调整中要遵循两条原则:在调整中要遵循两条原则:实实体体具具有有描描述述信信息息,而而属属性性没没有有。即即属属性性必必须须是是不不可可分分的的数数据据项,不

67、能再由另一些属性组成。项,不能再由另一些属性组成。属性不能与其他实体具有联系,联系只能发生在实体之间。属性不能与其他实体具有联系,联系只能发生在实体之间。v例例如如:学学生生是是一一个个实实体体,学学号号、姓姓名名、性性别别、年年龄龄、系系别别等等是是学学生生实实体体的的属属性性,系系别别只只表表示示学学生生属属于于哪哪个个系系,不不涉涉及及系系的的具具体体情情况况,换换句句话话说说,没没有有需需要要进进一一步步描描述述的的特特性性,即即是是不不可可分分的的数数据据项项,则则根根据据原原则则可可以以作作为为学学生生实实体体的的属属性性。但但如如果果考考虑虑一一个个系系的的系系主主任任、学学生生

68、人人数数、教教师师人人数数、办办公公地地点等,则系别应看作一个实体。如图点等,则系别应看作一个实体。如图6.146.14所示。所示。v又如,又如,“职称职称”为教师实体的属性,但在涉及住房分配时,为教师实体的属性,但在涉及住房分配时,由于分房与职称有关,即职称与住房实体之间有联系,则根由于分房与职称有关,即职称与住房实体之间有联系,则根据原则据原则,职称应作为一个实体。如图,职称应作为一个实体。如图6.15所示。所示。 50图图6.14系别作为一个属性或实体系别作为一个属性或实体学生学生系别属于n1m姓名性别年龄系别学号姓名性别年龄系主任学 生 人数教 师 人数办 公 地点51图图6.15职称

69、作为一个属性或实体职称作为一个属性或实体聘任教师教师n1职称分配住房姓名性别职称姓名性别52此此外外,我我们们可可能能会会遇遇到到这这样样的的情情况况,同同一一数数据据项项,可可能能由由于于环环境境和和要要求求的的不不同同,有有时时作作为为属属性性,有有时时则则作作为为实实体体,此此时时必必须须根根据据实实际际情情况况而而定定。一一般般情情况况下下,凡凡能能作作为为属属性性对对待待的的,应应尽尽量量作作为为属属性性,以以简简化化E-RE-R图图的处理。的处理。下面举例说明局部下面举例说明局部E-RE-R模型设计。模型设计。在简单的教务管理系统中,有如下语义约束。在简单的教务管理系统中,有如下语

70、义约束。一一个个学学生生可可选选修修多多门门课课程程,一一门门课课程程可可为为多多个个学学生生选选修修,因因此此学生和课程是多对多的联系;学生和课程是多对多的联系;一一个个教教师师可可讲讲授授多多门门课课程程,一一门门课课程程可可为为多多个个教教师师讲讲授授,因因此此教师和课程也是多对多的联系;教师和课程也是多对多的联系;一一个个系系可可有有多多个个教教师师,一一个个教教师师只只能能属属于于一一个个系系,因因此此系系和和教教师是一对多的联系,同样系和学生也是一对多的联系。师是一对多的联系,同样系和学生也是一对多的联系。根据上述约定,可以得到如图根据上述约定,可以得到如图6.16所示的学生选课局

71、部所示的学生选课局部图和如图图和如图6.17所示的教师任课局部图。形所示的教师任课局部图。形成局部成局部E-R模型后,应该返回去征求用户意见,以求改模型后,应该返回去征求用户意见,以求改进和完善,使之如实地反映现实世界。进和完善,使之如实地反映现实世界。E-R图的优点就是易于被用户理解,便于交流。图的优点就是易于被用户理解,便于交流。 53图图6.16学生选课局部图学生选课局部图mmnm名称系拥有学生学号姓名性别年龄开课课程教师号课程号课程名选修成绩平均成绩54图图6.17 教师任课局部图教师任课局部图1m教师号姓名性别职称课程号教师讲授课程n属于单位单位名电话m554 4全局全局E-RE-R

72、模型设计模型设计局局部部E-RE-R模模型型设设计计完完成成之之后后,下下一一步步就就是是集集成成各各局局部部E-RE-R模模型型,形形成成全全局局E-RE-R模模型型,即即视视图图的的集成。视图集成的方法有两种:集成。视图集成的方法有两种:多多元元集集成成法法,一一次次性性将将多多个个局局部部E-RE-R图图合合并并为为一一个个全局全局E-RE-R图,如图图,如图6.186.18(a a)所示。所示。二二元元集集成成法法,首首先先集集成成两两个个重重要要的的局局部部视视图图,以以后后用用累累加加的的方方法法逐逐步步将将一一个个新新的的视视图图集集成成进进来来,如如图图6.186.18(b b

73、)所所示示。在在实实际际应应用用中中,可可以以根根据据系系统统复复杂杂性性选选择择这这两两种种方方案案。一一般般采采用用逐逐步步集集成成的的方方法法,如如果果局局部部视视图图比比较较简简单单,可可以以采采用用多多元元集集成成法法。一一般般情情况况下下,采采用用二二元元集集成成法法,即即每每次次只只综综合合两两个个视视图图,这这样样可可降降低低难难度度。无无论论使使用用哪哪一一种种方方法法,视视图图集集成成均均分分成成两个步骤,如图两个步骤,如图6.196.19所示。所示。合并,消除各局部E-R图之间的冲突,生成初步E-R图。优化,消除不必要的冗余,生成基本E-R图。56图图6.18 局部视图合

74、并成全局视图局部视图合并成全局视图(a)多元集成法局部ER图1局部ER图2局部ER图n初步ER图基本ER图局部ER图1局部ER图2合并ER图12局部ER图3初步ER图基本ER图(b)二元集成法57图图6.19 视图集成视图集成局部图合并(消除冲突)修改与重构(消除不必要的冗余)集成视图基本图初步图分析规 范 化 理论58(1) (1) 合并局部合并局部E-RE-R图,生成初步图,生成初步E-RE-R图图这个步骤将所有的局部这个步骤将所有的局部E-RE-R图综合成全局概念结构。图综合成全局概念结构。全全局局概概念念结结构构它它不不仅仅要要支支持持所所有有的的局局部部E-RE-R模模型型,而而且且

75、必须合理地表示一个完整、一致的数据库概念结构。必须合理地表示一个完整、一致的数据库概念结构。由由于于各各个个局局部部应应用用不不同同,通通常常由由不不同同的的设设计计人人员员进进行行局局部部E-R图图设设计计,因因此此,各各局局部部E-R图图不不可可避避免免地地会会有有许多不一致的的地方,我们称之为许多不一致的的地方,我们称之为冲突冲突。合合并并局局部部E-R图图时时并并不不能能简简单单地地将将各各个个E-R图图画画到到一一起起,而而必必须须消消除除各各个个局局部部E-R图图中中的的不不一一致致,使使合合并并后后的的全全局局概概念念结结构构不不仅仅支支持持所所有有的的局局部部E-R模模型型,而

76、而且且必必须须是是一一个个能能为为全全系系统统中中所所有有用用户户共共同同理理解解和和接接受受的的完完整整的的概念模型。概念模型。合合并并局局部部E-R图图的的关关键键就就是是合合理理消消除除各各局局部部E-R图图中中的的冲突。冲突。 59E-RE-R图图中中的的冲冲突突有有三三种种:属属性性冲冲突突、命命名名冲突和结构冲突。冲突和结构冲突。属性冲突属性冲突属属性性冲冲突突又又分分为为属属性性值值域域冲冲突突和和属属性性的的取取值值单单位冲突。位冲突。a.a.属属性性值值域域冲冲突突,即即属属性性值值的的类类型型、取取值值范范围围或或取取值值集集合合不不同同。比比如如学学号号,有有些些部部门门

77、将将其其定定义义为为数数值值型型,而而有有些些部部门门将将其其定定义义为为字字符符型型。又又如如年年龄龄,有有的可能用出生年月表示,有的则用整数表示。的可能用出生年月表示,有的则用整数表示。b.b.属属性性的的取取值值单单位位冲冲突突。比比如如零零件件的的重重量量,有有的的以以公斤为单位,有的以斤为单位,有的则以克为单位。公斤为单位,有的以斤为单位,有的则以克为单位。属属性性冲冲突突属属于于用用户户业业务务上上的的约约定定,必必须须与与用用户户协商后解决。协商后解决。 60命名冲突命名冲突命命名名不不一一致致可可能能发发生生在在实实体体名名、属属性性名名或或联联系系名名之之间间,其中属性的命名

78、冲突更为常见。其中属性的命名冲突更为常见。一一般般表表现现为为同同名名异异义义或或异异名名同同义义(实实体体、属属性性、联联系系名)。名)。a.a.同同名名异异义义,即即同同一一名名字字的的对对象象在在不不同同的的部部门门中中具具有有不不同同的的意义。意义。 比比如如,“单单位位”在在某某些些部部门门表表示示为为人人员员所所在在的的部部门门,而而在在某些部门可能表示物品的重量、长度等属性。某些部门可能表示物品的重量、长度等属性。b.b.异异名名同同义义,即即同同一一意意义义的的对对象象在在不不同同的的部部门门中中具具有有不不同同的的名称。名称。 比比如如,对对于于“房房间间”这这个个名名称称,

79、在在教教务务管管理理部部门门中中对对应应着着为教室,而在后勤管理部门对应为学生宿舍。为教室,而在后勤管理部门对应为学生宿舍。命命名名冲冲突突的的解解决决方方法法同同属属性性冲冲突突,需需要要与与各各部部门门协协商商、讨论后加以解决。讨论后加以解决。 61结构冲突结构冲突a.a.同同一一对对象象在在不不同同应应用用中中有有不不同同的的抽抽象象,可可能能为为实实体体,也也可可能能为为属属性性。例例如如,教教师师的的职职称称在在某某一一局局部部应应用用中中被当作实体,而在另一局部应用中被当作属性。被当作实体,而在另一局部应用中被当作属性。这这类类冲冲突突在在解解决决时时,就就是是使使同同一一对对象象

80、在在不不同同应应用用中中具具有有相相同同的的抽抽象象,或或把把实实体体转转换换为为属属性性,或或把把属属性性转转换换为为实实体体。但但都都要要符符合合6.3.36.3.3中所介绍的准则。中所介绍的准则。b.b.同同一一实实体体在在不不同同应应用用中中属属性性组组成成不不同同,可可能能是是属属性性个数或属性次序不同。个数或属性次序不同。解解决决办办法法是是,合合并并后后实实体体的的属属性性组组成成为为各各局局部部E-RE-R图图中中的的同同名名实实体属性的并集,然后再适当调整属性的次序。体属性的并集,然后再适当调整属性的次序。c.c.同同一一联联系系在在不不同同应应用用中中呈呈现现不不同同的的类

81、类型型。比比如如E1E1与与E2E2在在某某一一应应用用中中可可能能是是一一对对一一联联系系,而而在在另另一一应应用用中中可可能能是是一一对对多多或或多多对对多多联联系系,也也可可能能是是在在E1E1、E2E2、E3E3三者之间有联系。三者之间有联系。 这种情况应该根据应用的语义对实体联系的类型进行综合或调这种情况应该根据应用的语义对实体联系的类型进行综合或调整。整。 62下下面面以以教教务务管管理理系系统统中中的的两两个个局局部部E-RE-R图图为为例例,来来说说明明如如何何消消除除各各局局部部E-RE-R图图之之间间的的冲冲突突,进进行局部行局部E-RE-R模型的合并,从而生成初步模型的合

82、并,从而生成初步E-RE-R图。图。v首首先先,这这两两个个局局部部E-RE-R图图中中存存在在着着命命名名冲冲突突,学学生生选选课课局局部部图图中中的的实实体体“系系”与与教教师师任任课课局局部部图图中中的的实实体体“单单位位”,都都是是指指“系系”,即即所所谓谓的的异异名名同同义义,合合并并后后统统一一改改为为“系系”,这这样样属属性性“名称名称”和和“单位单位”即可统一为即可统一为“系名系名”。v其其次次,还还存存在在着着结结构构冲冲突突,实实体体“系系”和和实实体体“课课程程” 在在两两个个不不同同应应用用中中的的属属性性组组成成不不同同,合合并并后后这这两两个个实实体体的的属属性性组

83、组成成为为原原来来局局部部E-R图图中中的的同同名名实实体体属属性性的的并并集集。解解决决上上述述冲冲突突后后,合合并并两两个个局局部部E-R图,生成如图图,生成如图6.20所示的初步的全局所示的初步的全局E-R图。图。 63图图6.20教务管理系统的初步教务管理系统的初步ER图图mn1系属于教师拥有学生开课讲授选修课程mmnm1m1学号姓名性别年龄平均成绩成绩教师号课程号课程名教 师号姓名性别职称系名电话64(2) (2) 消除不必要的冗余,生成基本消除不必要的冗余,生成基本E-RE-R图图所所谓谓冗冗余余,在在这这里里指指冗冗余余的的数数据据和和实实体体之之间间冗冗余余的的联联系系。冗冗余

84、余的的数数据据是是指指可可由由基基本本的的数数据据导导出出的的数数据据,冗冗余余的的联联系系是是由由其其他他的的联联系系导导出出的的联联系系。在在上上面面消消除除冲冲突突合合并并后后得得到到的的初初步步E ER R图图中中,可可能能存存在在冗冗余余的的数数据据或或冗冗余余的的联联系系。冗冗余余的的存存在在容容易易破破坏坏数数据据库库的的完完整整性性,给给数数据据库库的的维维护护增增加加困困难难,应应该该消消除除。我我们们把把消消除除了了冗余的初步冗余的初步E-RE-R图称为基本图称为基本E-RE-R图。图。通通常常采采用用分分析析的的方方法法消消除除冗冗余余。数数据据字字典典是是分分析析冗冗余

85、余数据的依据,还可以通过数据流图分析出冗余的联系。数据的依据,还可以通过数据流图分析出冗余的联系。如如在在图图6.20所所示示的的初初步步E-R图图中中,“课课程程”实实体体中中的的属属性性“教教师师号号”可可由由“讲讲授授”这这个个教教师师与与课课程程之之间间的的联联系系导导出出,而而学学生生的的平平均均成成绩绩可可由由“选选修修”联联系系中中的的属属性性“成成绩绩”中中计计算算出出来来,所所以以“课课程程”实实体体中中的的 “教教师师号号” 与与“学学生生”实实体体中中的的“平平均均成成绩绩”均均属属于于冗冗余余数据。数据。 65另另外外,“系系”和和“课课程程”之之间间的的联联系系“开开

86、课课”,可可以以由由“系系”和和“教教师师”之之间间的的“属属于于”联联系系与与“教教师师”和和“课课程程”之之间间的的“讲讲授授”联联系系推推导导出出来来,所所以以“开开课课”属于冗余联系。属于冗余联系。这这样样,图图6.206.20的的初初步步E-RE-R图图在在消消除除冗冗余余数数据据和和冗冗余余联联系系后,便可得到基本的后,便可得到基本的E-RE-R模型,如图模型,如图6.216.21所示。所示。最最终终得得到到的的基基本本E-R模模型型是是企企业业的的概概念念模模型型,它它代代表表了了用用户户的的数数据据要要求求,是是沟沟通通“要要求求”和和“设设计计”的的桥桥梁梁。它它决决定定数数

87、据据库库的的总总体体逻逻辑辑结结构构,是是成成功功建建立立数数据据库库的的关关键键。如如果果设设计计不不好好,就就不不能能充充分分发发挥挥数数据据库库的的功功能能,无法满足用户的处理要求。无法满足用户的处理要求。因因此此,用用户户和和数数据据库库人人员员必必须须对对这这一一模模型型反反复复讨讨论论,在在用用户户确确认认这这一一模模型型已已正正确确无无误误的的反反映映了了他他们们的的要要求求后,才能进入下一阶段的设计工作。后,才能进入下一阶段的设计工作。 66图图6.21教务管理系统的基本教务管理系统的基本ER图图n1系属于教师拥有学生讲授选修课程mmnm1m学号姓名性别年龄成绩课程号课程名教师

88、号姓名性别职称系名电话676.4.1 6.4.1 逻辑结构设计的任务和步骤逻辑结构设计的任务和步骤概概念念结结构构设设计计阶阶段段得得到到的的E-RE-R模模型型是是用用户户的的模模型型,它它独独立立于于任任何何一一种种数数据据模模型型,独独立立于于任任何何一一个个具具体体的的DBMSDBMS。为为了了建建立立用用户户所所要要求求的的数数据据库库,需需要要把把上上述述概概念念模模型型转转换换为为某某个个具具体体的的DBMSDBMS所所支支持持的的数数据据模模型型。数数据据库库逻逻辑辑设设计计的的任任务务是是将将概概念念结结构构转转换换成成特特定定DBMSDBMS所所支支持持的的数数据据模模型型

89、的的过过程程。从从此此开开始始便便进进入入了了“实实现现设设计计”阶阶段段,需要考虑到具体的需要考虑到具体的DBMSDBMS的性能、具体的数据模型特点。的性能、具体的数据模型特点。从从E-R图图所所表表示示的的概概念念模模型型可可以以转转换换成成任任何何一一种种具具体体的的DBMS所所支支持持的的数数据据模模型型,如如网网状状模模型型、层层次次模模型型和和关关系系模模型型。这这里里只只讨讨论论关关系系数数据据库库的的逻逻辑辑设设计计问问题题,所以只介绍所以只介绍E-R图如何向关系模型进行转换。图如何向关系模型进行转换。 6.4 逻辑结构设计逻辑结构设计 68一一般般的的逻逻辑辑设设计计分分为为

90、以以下下三三步步(如如图图6.226.22所所示示):(1) (1) 初始关系模式设计;初始关系模式设计;(2) (2) 关系模式规范化;关系模式规范化;(3) (3) 模式的评价与改进。模式的评价与改进。 69图图6.22 关系数据库的逻辑设计关系数据库的逻辑设计概念结构设计初始关系模式设计关系模式规范化模式评价是否修正以DBMS语法描述物理设计模式修正否是706.4.2 6.4.2 初始关系模式设计初始关系模式设计1 1转换原则转换原则概概念念设设计计中中得得到到的的E-RE-R图图是是由由实实体体、属属性性和和联联系系组组成成的的,而而关关系系数数据据库库逻逻辑辑设设计计的的结结果果是是

91、一一组组关关系系模模式式的的集集合合。所所以以将将E-RE-R图图转转换换为为关关系系模模型型实实际际上上就就是是将将实实体体、属属性性和联系转换成关系模式。在转换中要遵循以下原则:和联系转换成关系模式。在转换中要遵循以下原则:(1) (1) 一一个个实实体体转转换换为为一一个个关关系系模模式式,实实体体的的属属性性就就是是关关系系的的属性,实体的键就是关系的键。属性,实体的键就是关系的键。(2) (2) 一一个个联联系系转转换换为为一一个个关关系系模模式式,与与该该联联系系相相连连的的各各实实体体的的键键以以及及联联系系的的属属性性均均转转换换为为该该关关系系的的属属性性。该该关关系系的的键

92、键有有三种情况:三种情况:如果联系为1:1,则每个实体的键都是关系的候选键;如果联系为1: n ,则n端实体的键是关系的键;如果联系为n :m,则各实体键的组合是关系的键。712 2具体做法具体做法(1) (1) 把每一个实体转换为一个关系把每一个实体转换为一个关系首首先先分分析析各各实实体体的的属属性性,从从中中确确定定其其主主键键,然然后后分分别别用用关关系系模模式式表表示示。例例如如,以以图图6.216.21的的E-E-R R模模型型为为例例,四四个个实实体体分分别别转转换换成成四四个个关关系系模模式:式:v学生(学生(学号学号,姓名,性别,年龄),姓名,性别,年龄)v课程(课程(课程号

93、课程号,课程名),课程名)v教师(教师(教师号教师号,姓名,性别,职称),姓名,性别,职称)v系(系(系名系名,电话),电话)其中,有下划线者表示是主键。其中,有下划线者表示是主键。72(2) (2) 把每一个联系转换为关系模式把每一个联系转换为关系模式由由联联系系转转换换得得到到的的关关系系模模式式的的属属性性集集中中,包包含含两两个个发发生生联联系系的的实实体体中中的的主主键键以以及及联联系系本本身身的的属性,其关系键的确定与联系的类型有关。属性,其关系键的确定与联系的类型有关。例例如如,还还以以图图6.216.21的的E-RE-R模模型型为为例例,四四个个联联系系也分别转换成四个关系模式

94、:也分别转换成四个关系模式:v属于(属于(教师号教师号,系名),系名)v讲授(讲授(教师号,课程号教师号,课程号)v选修(选修(学号,课程号学号,课程号,成绩),成绩)v拥有(系名,拥有(系名,学号学号)73(3) (3) 特殊情况的处理特殊情况的处理三三个个或或三三个个以以上上实实体体间间的的一一个个多多元元联联系系在在转转换换为为一一个个关关系系模模式式时时,与与该该多多元元联联系系相相连连的的各各实实体体的的主主键键及及联联系系本本身身的的属属性性均均转转换换成成为为关关系系的的属属性性,转转换换后后所所得得到到的的关关系系的的主主键键为为各各实实体体键键的组合。的组合。例例如如,图图6

95、.236.23表表示示供供应应商商、项项目目和和零零件件三三个个实实体体之之间间的的多多对对多多联联系系,如如果果已已知知三三个个实实体体的的主主键键分分别别为为“供供应应商商号号”,“项项目目号号”与与“零零件件号号”,则则它它们们之之间间的的联联系系“供供应应”可可转转换换为为关关系系模模式式,其其中中供供应应商商号号,项项目目号号,零零件件号号为为此此关系的组合关系键。关系的组合关系键。v供应(供应(供应商号,项目号,零件号供应商号,项目号,零件号,数量),数量) 74供应商供应数量零件项目mnn图图6.23 多个实体之间的联系多个实体之间的联系756.4.3 6.4.3 关系模式规范化

96、关系模式规范化应应用用规规范范化化理理论论对对上上述述产产生生的的关关系系的的逻逻辑辑模模式式进进行行初初步步优优化化,以以减减少少乃乃至至消消除除关关系系模模式式中中存存在在的的各各种种异异常常,改善完整性、一致性和存储效率。改善完整性、一致性和存储效率。规规范范化化理理论论是是数数据据库库逻逻辑辑设设计计的的指指南南和和工工具具,规规范范化化过过程程可可分分为为两两个个步步骤骤:确确定定规规范范式式级级别别,实实施施规规范范化化处理。处理。1 1确定范式级别确定范式级别v考考查查关关系系模模式式的的函函数数依依赖赖关关系系,确确定定范范式式等等级级,逐逐一一分分析析各各关关系系模模式式,考

97、考查查是是否否存存在在部部分分函函数数依依赖赖,传传递递函函数数依依赖赖等等,确定它们分别属于第几范式。确定它们分别属于第几范式。2 2实施规范化处理实施规范化处理v确确定定范范式式级级别别后后,利利用用第第4章章的的规规范范化化理理论论,逐逐一一考考察察各各个个关关系系模模式式,根根据据应应用用要要求求,判判断断它它们们是是否否满满足足规规范范要要求求,可可用用已经介绍过的规范化方法和理论将关系模式规范化。已经介绍过的规范化方法和理论将关系模式规范化。 76综综合合以以上上数数据据库库的的设设计计过过程程,规规范范化化理理论论在在数数据库设计中有如下几方面的应用:据库设计中有如下几方面的应用

98、:(1) (1) 在在需需求求分分析析阶阶段段,用用数数据据依依赖赖概概念念分分析析和和表表示示各个数据项之间的联系。各个数据项之间的联系。(2) (2) 在在概概念念结结构构设设计计阶阶段段,以以规规范范化化理理论论为为指指导导,确定关系键,消除初步确定关系键,消除初步E-RE-R图中冗余的联系。图中冗余的联系。(3) (3) 在在逻逻辑辑结结构构设设计计阶阶段段,从从E-R图图向向数数据据模模型型转转换换过程中,用模式合并与分解方法达到规范化级别。过程中,用模式合并与分解方法达到规范化级别。 776.4.4 6.4.4 模式评价与改进模式评价与改进1 1模式评价模式评价关关系系模模式式的的

99、规规范范化化不不是是目目的的而而是是手手段段,数数据据库库设设计计的的目目的的是是最最终终满满足足应应用用需需求求。因因此此,为为了了进进一一步步提提高高数数据据库库应应用用系系统统的的性性能能,还还应应该该对对规规范范化化后后产产生生的的关关系系模模式式进进行行评评价价、改改进进,经经过过反反复复多多次次的的尝尝试试和和比比较较,最后得到优化的关系模式。最后得到优化的关系模式。模模式式评评价价的的目目的的是是检检查查所所设设计计的的数数据据库库模模式式是是否否满满足足用用户户的的功功能能要要求求、效效率率,确确定定加加以以改改进进的的部部分分。模模式式评价包括功能评价和性能评价。评价包括功能

100、评价和性能评价。(1) (1) 功能评价功能评价v功功能能评评价价指指对对照照需需求求分分析析的的结结果果,检检查查规规范范化化后后的的关关系系模模式式集集合合是是否否支支持持用用户户所所有有的的应应用用要要求求。关关系系模模式式必必须须包包括括用用户户可可能能访访问问的的所所有有属属性性。在在涉涉及及多多个个关关系系模模式式的的应应用用中中,应应确确保保联联接接后后不不丢丢失失信信息息。如如果果发发现现有有的的应应用用不不被被支支持持,或或不不完完全全被被支支持持,则则应应该该改改进进关关系系模模式式。发发生生这这种种问问题题的的原原因因可可能能是是在在逻逻辑辑设设计计阶阶段段,也也可可能能

101、是是在在需需求求分分析析或或概概念念设设计计阶阶段段。是是哪哪个个阶阶段段的的问问题题就就返返回回到到哪哪个个阶阶段段去去,因因此此有有可可能能对对前前两两个阶段再进行评审,解决存在的问题。个阶段再进行评审,解决存在的问题。78v在功能评价的过程中,可能会发现冗余的关系模式或属性,这时应在功能评价的过程中,可能会发现冗余的关系模式或属性,这时应对它们加以区分,搞清楚它们是为未来发展预留的,还是某种错误对它们加以区分,搞清楚它们是为未来发展预留的,还是某种错误造成的,比如名字混淆。如果属于错误处置,进行改正即可,而如造成的,比如名字混淆。如果属于错误处置,进行改正即可,而如果这种冗余来源于前两个

102、设计阶段,则也要返回重新进行评审。果这种冗余来源于前两个设计阶段,则也要返回重新进行评审。 (2) (2) 性能评价性能评价对对于于目目前前得得到到的的数数据据库库模模式式,由由于于缺缺乏乏物物理理设设计计所所提提供供的的数数量量测测量量标标准准和和相相应应的的评评价价手手段段,所所以以性性能能评评价价是是比比较较困困难难的的,只只能能对对实实际际性性能能进进行行估估计计,包包括括逻逻辑辑记录的存取数、传送量以及物理设计算法的模型等。记录的存取数、传送量以及物理设计算法的模型等。美美国国密密执执安安大大学学的的T.T.TeoreyTeorey和和J.FryJ.Fry于于19801980年年提提

103、出出的的逻逻辑辑记记录录访访问问(Logical Logical Record Record AccessAccess,LRALRA)方方法法是是一一种种常常用用的的模模式式性性能能评评价价方方法法。LRALRA方方法法对对网网状状模模型型和和层层次次模模型型较较为为实实用用,对对于于关关系系模模型型的的查查询询也也能能起起一一定定的估算作用。的估算作用。有有关关LRA方方法法本本书书不不详详细细介介绍绍,读读者者可可以以参参考考有有关关书书籍。籍。 792 2模式改进模式改进根根据据模模式式评评价价的的结结果果,对对已已生生成成的的模模式式进进行行改改进。进。v如如果果因因为为需需求求分分析

104、析、概概念念设设计计的的疏疏漏漏导导致致某某些些应应用用不能得到支持,则应该增加新的关系模式或属性。不能得到支持,则应该增加新的关系模式或属性。v如如果果因因为为性性能能考考虑虑而而要要求求改改进进,则则可可采采用用合合并并或或分分解的方法。解的方法。(1) (1) 合并合并如如果果有有若若干干个个关关系系模模式式具具有有相相同同的的主主键键,并并且且对对这这些些关关系系模模式式的的处处理理主主要要是是查查询询操操作作,而而且且经经常常是是多多关关系系的的查查询询,那那么么可可对对这这些些关关系系模模式式按照组合使用频率进行合并。按照组合使用频率进行合并。这样便可以减少联接操作而提高查询效率。

105、这样便可以减少联接操作而提高查询效率。 80(2) (2) 分解分解为为了了提提高高数数据据操操作作的的效效率率和和存存储储空空间间的的利利用用率率,最最常常用用和和最最重重要要的的模模式式优优化化方方法法就就是是分分解解,根根据据应应用用的的不不同同要要求求,可可以以对对关关系系模模式式进进行行垂垂直直分解和水平分解。分解和水平分解。水水平平分分解解是是把把关关系系的的元元组组分分为为若若干干子子集集合合,定定义每个子集合为一个子关系。义每个子集合为一个子关系。对对于于经经常常进进行行大大量量数数据据的的分分类类条条件件查查询询的的关关系系,可可进进行行水水平平分分解解,这这样样可可以以减减

106、少少应应用用系系统统每每次次查询需要访问的记录数,从而提高了查询性能。查询需要访问的记录数,从而提高了查询性能。 81v例例如如,有有学学生生关关系系(学学号号,姓姓名名,类类别别),其其中中类类别别包包括括大大专专生生、本本科科生生和和研研究究生生。如如果果多多数数查查询询一一次次只只涉涉及及其其中中的的一一类类学学生生,就就应应该该把把整整个个学学生生关系水平分割为大专生、本科生和研究生三个关系。关系水平分割为大专生、本科生和研究生三个关系。垂垂直直分分解解是是把把关关系系模模式式的的属属性性分分解解为为若若干干子子集集合合,形形成成若若干干子子关关系系模模式式。垂垂直直分分解解的的原原则

107、则是是把把经经常常一一起起使使用用的的属属性性分分解解出出来来,形形成成一一个个子子关系模式。关系模式。v例例如如,有有教教师师关关系系(教教师师号号,姓姓名名,性性别别,年年龄龄,职职称称,工工资资,岗岗位位津津贴贴,住住址址,电电话话),如如果果经经常常查查询询的的仅仅是是前前六六项项,而而后后三三项项很很少少使使用用,则则可可以以将将教师关系进行垂直分割,得到两个教师关系:教师关系进行垂直分割,得到两个教师关系:教师关系1(教师号,姓名,性别,年龄,职称,工资)教师关系2(教师号,岗位津贴,住址,电话)这这样样,便便减减少少了了查查询询的的数数据据传传递递量量,提提高高了了查查询速度。询

108、速度。 82垂垂直直分分解解可可以以提提高高某某些些事事务务的的效效率率,但但也也有有可可能能使使另另一一些些事事务务不不得得不不执执行行连连接接操操作作,从从而而降降低低了了效效率率。因因此此是是否否要要进进行行垂垂直直分分解解要要看看分分解解后后的的所所有有事事务务的的总总效效率率是是否否得得到到了了提提高高。垂垂直直分分解解要要保保证证分分解解后后的的关关系系具具有有无无损损连连接接性性和和函函数数依依赖赖保保持持性性。相相关关的的分分解解算算法法已已经在第经在第4 4章进行了详细介绍。章进行了详细介绍。经经过过多多次次的的模模式式评评价价和和模模式式改改进进之之后后,最最终终的的数数据

109、据库库模模式式得得以以确确定定。逻逻辑辑设设计计阶阶段段的的结结果果是是全全局局逻逻辑辑数数据据库库结结构构。对对于于关关系系数数据据库库系系统统来来说说,就就是是一一组组符符合合一一定规范的关系模式组成的关系数据库模型。定规范的关系模式组成的关系数据库模型。数数据据库库系系统统的的数数据据物物理理独独立立性性特特点点消消除除了了由由于于物物理理存存储储改改变变而而引引起起的的对对应应程程序序的的修修改改。标标准准的的DBMS例例行行程程序序应应适适用用于于所所有有的的访访问问,查查询询和和更更新新事事务务的的优优化化应应当当在在系系统统软软件件一一级级上上实实现现。这这样样,逻逻辑辑数数据据

110、库库确确定定之之后,就可以开始进行应用程序设计了。后,就可以开始进行应用程序设计了。 83数数据据库库最最终终要要存存储储在在物物理理设设备备上上。对对于于给给定定的的逻逻辑辑数数据据模模型型,选选取取一一个个最最适适合合应应用用环环境境的的物物理理结结构构的的过过程程,称称为为数数据据库库物物理理设设计计。物物理理设设计计的的任任务务是是为为了了有有效效地地实实现现逻逻辑辑模模式式,确确定定所所采采取取的的存存储储策策略略。此此阶阶段段是是以以逻逻辑辑设设计计的的结结果果作作为为输输入入,结结合合具具体体DBMSDBMS的的特特点点与与存存储储设设备备特特性性进进行行设设计计,选选定定数数据

111、据库库在在物物理理设设备备上上的的存存储储结构和存取方法。结构和存取方法。数据库的物理设计可分为两步:数据库的物理设计可分为两步:(1) (1) 确确定定物物理理结结构构,在在关关系系数数据据库库中中主主要要指指存存取取方方法和存储结构;法和存储结构;(2)(2)评价物理结构,评价的重点是时间和空间效率。评价物理结构,评价的重点是时间和空间效率。 6.5 6.5 数据库物理设计数据库物理设计846.5.1 6.5.1 确定物理结构确定物理结构设设计计人人员员必必须须深深入入了了解解给给定定的的DBMSDBMS的的功功能能,DBMSDBMS提提供供的的环环境境和和工工具具、硬硬件件环环境境, ,

112、特特别别是是存存储储设设备备的的特特征征。另另一一方方面面也也要要了了解解应应用用环环境境的的具具体体要要求求,如如各各种种应应用用的的数数据据量量、处处理理频频率率和和响响应应时时间间等等。只只有有“知知己己知知彼彼”才能设计出较好的物理结构。才能设计出较好的物理结构。1 1存储记录结构的设计存储记录结构的设计v在在物物理理结结构构中中,数数据据的的基基本本存存取取单单位位是是存存储储记记录录。有有了了逻逻辑辑记记录录结结构构以以后后,就就可可以以设设计计存存储储记记录录结结构构,一一个个存存储储记记录录可可以以和和一一个个或或多多个个逻逻辑辑记记录录相相对对应应。存存储储记记录录结结构构包

113、包括括记记录录的的组组成成、数数据据项项的的类类型型和和长长度度,以以及及逻逻辑辑记记录录到到存存储储记记录录的的映映射射。某某一一类类型型的的所所有有存存储储记记录录的的集集合合称称为为“文文件件”,文文件件的的存存储储记记录录可可以以是是定定长长的的,也也可可以以是是变长的。变长的。v文文件件组组织织或或文文件件结结构构是是组组成成文文件件的的存存储储记记录录的的表表示示法法。文文件件结结构构应应该该表表示示文文件件格格式式、逻逻辑辑次次序序、物物理理次次序序、访访问问路路径径、物物理理设设备备的的分分配配。物物理理数数据据库库就就是是指指数数据据库库中中实实际际存存储储记记录录的的格格式

114、式、逻逻辑辑次次序序和和物理次序、访问路径、物理设备的分配。物理次序、访问路径、物理设备的分配。v决决定定存存储储结结构构的的主主要要因因素素包包括括存存取取时时间间、存存储储空空间间和和维维护护代代价价三三个个方方面面。设设计计时时应应当当根根据据实实际际情情况况对对这这三三个个方方面面进进行行综综合合权权衡衡。一一般般DBMS也提供一定的灵活性可供选择,包括聚簇和索引。也提供一定的灵活性可供选择,包括聚簇和索引。 85(1) (1) 聚簇(聚簇(ClusterCluster)聚聚簇簇就就是是为为了了提提高高查查询询速速度度,把把在在一一个个(或或一一组组)属属性性上上具具有有相相同同值值的

115、的元元组组集集中中地地存存放放在在一一个个物物理理块块中中。如如果果存存放放不不下下,可可以以存存放放在在相相邻邻的的物物理理块块中中。其其中中,这个(或这组)属性称为聚簇码。这个(或这组)属性称为聚簇码。为什么要使用聚簇呢?聚簇有两个作用:为什么要使用聚簇呢?聚簇有两个作用:使使用用聚聚簇簇以以后后,聚聚簇簇码码相相同同的的元元组组集集中中在在一一起起了了,因因而而聚聚簇簇值值不不必必在在每每个个元元组组中中重重复复存存储储,只只要要在在一一组组中中存存储储一一次次即即可可,因因此可以节省存储空间。此可以节省存储空间。聚聚簇簇功功能能可可以以大大大大提提高高按按聚聚簇簇码码进进行行查查询询的

116、的效效率率。例例如如,假假设设要要查查询询学学生生关关系系中中计计算算机机系系的的学学生生名名单单,设设计计算算机机系系有有300名名学学生生。在在极极端端情情况况下下,这这些些学学生生的的记记录录会会分分布布在在300个个不不同同的的物物理理块块中中,这这时时如如果果要要查查询询计计算算机机系系的的学学生生,就就需需要要做做300次次的的I/O操操作作,这这将将影影响响系系统统查查询询的的性性能能。如如果果按按照照系系别别建建立立聚聚簇簇,使使同同一一个个系系的的学学生生记记录录集集中中存存放放,则则每每做做一一次次I/O操操作作,就就可可以以获获得得多多个个满满足足查查询询条条件件和和记记

117、录录,从从而而显显著著地地减减少少了了访访问问磁磁盘盘的的次次数。数。 86(2) (2) 索引索引存存储储记记录录是是属属性性值值的的集集合合,主主关关系系键键可可以以惟惟一一确确定定一一个个记记录录,而而其其他他属属性性的的一一个个具具体体值值不不能能惟惟一一确确定定是是哪哪个个记记录录。在在主主关关系系键键上上应应该该建建立立惟惟一一索索引引,这这样样不不但但可可以以提提高高查查询询速速度度,还还能能避避免免关关系系键键重重复复值值的的录录入入,确保了数据的完整性。确保了数据的完整性。在在数数据据库库中中,用用户户访访问问的的最最小小单单位位是是属属性性。如如果果对对某某些些非非主主属属

118、性性的的检检索索很很频频繁繁,可可以以考考虑虑建建立立这这些些属属性性的的索索引引文文件件。索索引引文文件件对对存存储储记记录录重重新新进进行行内内部部链链接接,从从逻逻辑辑上上改改变变了了记记录录的的存存储储位位置置,从从而而改改变变了了访访问问数数据据的的入入口口点点。关关系系中中数数据据越越多多索索引引的的优优越越性性也也就就越越明明显。显。建建立立多多个个索索引引文文件件可可以以缩缩短短存存取取时时间间,但但是是增增加加了了索索引引文文件件所所占占用用的的存存储储空空间间以以及及维维护护的的开开销销。因因此此,应应该根据实际需要综合考虑。该根据实际需要综合考虑。 872 2访问方法的设

119、计访问方法的设计访访问问方方法法是是为为存存储储在在物物理理设设备备(通通常常指指辅辅存存)上上的的数数据据提提供供存存储储和和检检索索能能力力的的方方法法。一一个个访访问问方方法法包包括括存存储储结结构构和和检检索索机机构构两两个个部部分分。存存储储结结构构限限定定了了可可能能访访问问的的路路径径和和存存储储记记录录;检检索索机机构构定定义义了了每每个个应应用用的的访访问问路路径径,但但不不涉涉及及存储结构的设计和设备分配。存储结构的设计和设备分配。存存储储记记录录是是属属性性的的集集合合,属属性性是是数数据据项项类类型型,可可用用作作主主键键或或辅辅助助键键。主主键键惟惟一一地地确确定定了

120、了一一个个记记录录。辅辅助助键键是是用用作作记记录索引的属性,可能并不惟一确定某一个记录。录索引的属性,可能并不惟一确定某一个记录。访访问问路路径径的的设设计计分分成成主主访访问问路路径径与与辅辅访访问问路路径径的的设设计计。主主访访问问路路径径与与初初始始记记录录的的装装入入有有关关,通通常常是是用用主主键键来来检检索索的的。首首先先利利用用这这种种方方法法设设计计各各个个文文件件,使使其其能能最最有有效效地地处处理理主主要要的的应应用用。一一个个物物理理数数据据库库很很可可能能有有几几套套主主访访问问路路径径。辅辅访访问问路路径径是是通通过过辅辅助助键键的的索索引引对对存存储储记记录录重重

121、新新进进行行内内部部链链接接,从从而而改改变变访访问问数数据据的的入入口口点点。用用辅辅助助索索引引可可以以缩缩短短访访问问时时间间,但但增增加加了了辅辅存存空空间间和和索索引引维维护护的的开开销销。设设计计者者应应根据具体情况作出权衡。根据具体情况作出权衡。 883 3数据存放位置的设计数据存放位置的设计为为了了提提高高系系统统性性能能,应应该该根根据据应应用用情情况况将将数数据据的的易易变变部部分分、稳稳定定部部分分、经经常常存存取取部部分分和和存存取取频率较低部分分开存放。频率较低部分分开存放。例例如如,目目前前许许多多计计算算机机都都有有多多个个磁磁盘盘,因因此此可可以以将将表表和和索

122、索引引分分别别存存放放在在不不同同的的磁磁盘盘上上,在在查查询询时时,由由于于两两个个磁磁盘盘驱驱动动器器并并行行工工作作,可可以以提提高物理读写的速度。高物理读写的速度。在在多多用用户户环环境境下下,可可能能将将日日志志文文件件和和数数据据库库对对象象(表表、索索引引等等)放放在在不不同同的的磁磁盘盘上上,以以加加快快存存取取速速度度。另另外外,数数据据库库的的数数据据备备份份、日日志志文文件件备备份份等等,只只在在数数据据库库发发生生故故障障进进行行恢恢复复时时才才使使用用,而而且且数数据据量量很很大大,可可以以存存放放在在磁磁带带上上,以改进整个系统的性能。以改进整个系统的性能。 894

123、 4系统配置的设计系统配置的设计DBMSDBMS产产品品一一般般都都提提供供了了一一些些系系统统配配置置变变量量、存存储储分分配配参参数数,供供设设计计人人员员和和DBADBA对对数数据据库库进进行行物物理理优优化化。系系统统为为这这些些变变量量设设定定了了初初始始值值,但但是是这这些些值值不不一一定定适适合合每每一一种种应应用用环环境境,在在物物理理设设计计阶阶段段,要要根根据据实实际际情情况况重重新对这些变量赋值,以满足新的要求。新对这些变量赋值,以满足新的要求。系系统统配配置置变变量量和和参参数数很很多多,例例如如,同同时时使使用用数数据据库库的的用用户户数数、同同时时打打开开的的数数据

124、据库库对对象象数数、内内存存分分配配参参数数、缓缓冲冲区区分分配配参参数数(使使用用的的缓缓冲冲区区长长度度、个个数数)、存存储储分分配配参参数数、数数据据库库的的大大小小、时时间间片片的的大大小小、锁锁的的数数目目等等,这这些些参参数数值值影影响响存存取取时时间间和和存存储储空空间间的的分分配配,在在物物理理设设计计时时要要根根据据应应用用环环境境确确定定这这些些参参数数值值,以以使使系系统的性能达到最优。统的性能达到最优。 906.5.2 6.5.2 评价物理结构评价物理结构和前面几个设计阶段一样,在确定了数据库的和前面几个设计阶段一样,在确定了数据库的物理结构之后,要进行评价,重点是时间

125、和空物理结构之后,要进行评价,重点是时间和空间的效率。间的效率。如果评价结果满足设计要求,则可进行数据库如果评价结果满足设计要求,则可进行数据库实施。实施。实际上,往往需要经过反复测试才能优化物理实际上,往往需要经过反复测试才能优化物理设计。设计。 91数数据据库库实实施施是是指指根根据据逻逻辑辑设设计计和和物物理理设设计计的的结结果果,在在计计算算机机上上建建立立起起实实际际的的数数据据库库结结构构、装装入数据、进行测试和试运行的过程。入数据、进行测试和试运行的过程。数据库实施主要包括以下工作:数据库实施主要包括以下工作:v建立实际数据库结构;建立实际数据库结构;v装入数据;装入数据;v应用

126、程序编码与调试;应用程序编码与调试;v数据库试运行;数据库试运行;v整理文档。整理文档。 6.6 6.6 数据库实施数据库实施926.6.1 6.6.1 建立实际数据库结构建立实际数据库结构DBMSDBMS提提供供的的数数据据定定义义语语言言(DDLDDL)可可以以定定义义数数据据库库结结构构。可可使使用用第第3 3章章所所讲讲的的SQLSQL定定义义语语句句中中的的CREATECREATETABLETABLE语语句句定定义义所所需需的的基基本本表表,使使用用CREATECREATEVIEWVIEW语语句句定定义义视视图。图。6.6.2 6.6.2 装入数据装入数据装装入入数数据据又又称称为为

127、数数据据库库加加载载(LoadingLoading),是是数数据据库库实实施施阶阶段段的的主主要要工工作作。在在数数据据库库结结构构建建立立好好之之后后,就就可可以向数据库中加载数据了。以向数据库中加载数据了。由由于于数数据据库库的的数数据据量量一一般般都都很很大大,它它们们分分散散于于一一个个企企业业(或或组组织织)中中各各个个部部门门的的数数据据文文件件、报报表表或或多多种种形形式式的的单单据据中中,它它们们存存在在着着大大量量的的重重复复,并并且且其其格格式式和和结结构构一一般般都都不不符符合合数数据据库库的的要要求求,必必须须把把这这些些数数据据收收集集起起来来加加以以整整理理,去去掉

128、掉冗冗余余并并转转换换成成数数据据库库所所规规定定的的格格式式,这这样样处处理理之之后后才才能能装装入入数数据据库库。因因此此,需需要要耗耗费费大大量量的的人人力力、物物力力,是是一一种种非非常常单单调调乏乏味味而而又又意意义义重大的工作。重大的工作。 93由由于于应应用用环环境境和和数数据据来来源源的的差差异异,所所以以不不可可能能存存在在普普遍遍通通用用的的转转换换规规则则,现现有有的的DBMSDBMS并并不不提提供供通通用用的的数数据据转换软件来完成这一工作。转换软件来完成这一工作。对对于于一一般般的的小小型型系系统统,装装入入数数据据量量较较少少,可可以以采采用用人人工方法来完成。工方

129、法来完成。v首首先先将将需需要要装装入入的的数数据据从从各各个个部部门门的的数数据据文文件件中中筛筛选选出出来来,转转换换成成符合数据库要求的数据格式,符合数据库要求的数据格式,v然后输入到计算机中,然后输入到计算机中,v最后进行数据校验,检查输入的数据是否有误。最后进行数据校验,检查输入的数据是否有误。但但是是,人人工工方方法法不不仅仅效效率率低低,而而且且容容易易产产生生差差错错。对对于于数数据据量量较较大大的的系系统统,应应该该由由计计算算机机来来完完成成这这一一工工作作。通通常常是是设设计计一一个个数数据据输输入入子子系系统统,其其主主要要功功能能是是从从大大量量的的原原始始数数据据文

130、文件件中中筛筛选选、分分类类、综综合合和和转转换换数数据据库库所所需需的的数数据据,把把它它们们加加工工成成数数据据库库所所要要求求的的结结构构形形式式,最最后后装装入入数数据据库库中中,同时还要采用多种检验技术检查输入数据的正确性。同时还要采用多种检验技术检查输入数据的正确性。为为了了保保证证装装入入数数据据库库中中数数据据的的正正确确无无误误,必必须须高高度度重重视视数数据据的的校校验验工工作作。在在输输入入子子系系统统的的设设计计中中应应该该考考虑虑多多种种数数据据检检验验技技术术,在在数数据据转转换换过过程程中中应应使使用用不不同同的的方方法法进进行行多多次次检验,确认正确后方可入库。

131、检验,确认正确后方可入库。 94如如果果在在数数据据库库设设计计时时,原原来来的的数数据据库库系系统统仍仍在在使使用用,则则数数据据的的转转换换工工作作是是将将原原来来老老系系统统中中的的数数据据转转换换成成新新系系统统中中的的数数据据结结构构。同同时时还还要要转转换换原原来来的的应应用用程程序序,使使之之能能在在新新系系统统下下有有效效地地运行。运行。数数据据的的转转换换、分分类类和和综综合合常常常常需需要要多多次次才才能能完完成成,因因而而输输入入子子系系统统的的设设计计和和实实施施是是很很复复杂杂的的,需需要要编编写写许许多多应应用用程程序序,由由于于这这一一工工作作需需要要耗耗费费较较

132、多多的的时时间间,为为了了保保证证数数据据能能够够及及时时入入库库,应应该该在在数数据据库库物物理理设设计计的的同同时时编编制制数数据据输输入入子子系统,而不能等物理设计完成后才开始。系统,而不能等物理设计完成后才开始。 956.6.3 6.6.3 应用程序编码与调试应用程序编码与调试数数据据库库应应用用程程序序的的设设计计属属于于一一般般的的程程序序设设计计范范畴畴,但但数数据据库库应应用用程程序序有有自自己己的的一一些些特特点点。例例如如,大大量量使使用用屏屏幕幕显显示示控控制制语语句句、形形式式多多样样的的输输出出报报表表、重重视视数数据据的有效性和完整性检查、有灵活的交互功能。的有效性

133、和完整性检查、有灵活的交互功能。为为了了加加快快应应用用系系统统的的开开发发速速度度,一一般般选选择择第第四四代代语语言言开开发发环环境境,利利用用自自动动生生成成技技术术和和软软件件复复用用技技术术,在在程程序序设设计计编编写写中中往往往往采采用用工工具具(CASECASE)软软件件来来帮帮助助编编写写程程 序序 和和 文文 档档 , 如如 目目 前前 普普 遍遍 使使 用用 的的 PowerBuilderPowerBuilder、DelphiDelphi以以及及由由北北京京航航空空航航天天大大学学研研制制的的863/863/CMISCMIS支支持持的数据库开发工具的数据库开发工具OpenT

134、oolsOpenTools等。等。数数据据库库结结构构建建立立好好之之后后,就就可可以以开开始始编编制制与与调调试试数数据据库库的的应应用用程程序序,这这时时由由于于数数据据入入库库尚尚未未完完成成,调调试试程程序时可以先使用模拟数据。序时可以先使用模拟数据。 966.6.4 6.6.4 数据库试运行数据库试运行应应用用程程序序编编写写完完成成,并并有有了了一一小小部部分分数数据据装装入入后后,应应该该按按照照系系统统支支持持的的各各种种应应用用分分别别试试验验应应用用程程序序在在数数据据库库上上的的操操作作情情况况,这这就就是是数数据据库库的的试试运运行行阶阶段段,或或者者称为联合调试阶段。

135、在这一阶段要完成两方面的工作。称为联合调试阶段。在这一阶段要完成两方面的工作。(1) (1) 功功能能测测试试。实实际际运运行行应应用用程程序序,测测试试它它们们能能否否完完成成各各种种预定的功能。预定的功能。(2) (2) 性性能能测测试试。测测量量系系统统的的性性能能指指标标,分分析析系系统统是是否否符符合合设设计目标。计目标。系系统统的的试试运运行行对对于于系系统统设设计计的的性性能能检检验验和和评评价价是是很很重重要要的的,因因为为有有些些参参数数的的最最佳佳值值只只有有在在试试运运行行后后才才能能找找到到。如如果果测测试试的的结结果果不不符符合合设设计计目目标标,则则应应返返回回到到

136、设设计计阶阶段段,重重新新修修改改设设计计和和编编写写程程序序,有有时时甚甚至至需需要要返返回到逻辑设计阶段,调整逻辑结构。回到逻辑设计阶段,调整逻辑结构。 97重重新新设设计计物物理理结结构构甚甚至至逻逻辑辑结结构构,会会导导致致数数据据重重新新入入库库。由由于于数数据据装装入入的的工工作作量量很很大大,所所以以可可分分期期分分批批的的组组织织数数据据装装入入,先先输输入入小小批批量量数数据据做做调调试试用用,待待试试运运行行基基本本合合格格后后,再再大大批批量量输输入入数数据据,逐逐步步增增加加数数据据量量,逐步完成运行评价。逐步完成运行评价。数数据据库库的的实实施施和和调调试试不不是是几

137、几天天就就能能完完成成的的,需需要要有有一一定定的的时时间间。在在此此期期间间由由于于系系统统还还不不稳稳定定,随随时时可可能能发发生生硬硬件件或或软软件件故故障障,加加之之数数据据库库刚刚刚刚建建立立,操操作作人人员员对对系系统统还还不不熟熟悉悉,对对其其规规律律缺缺乏乏了了解解,容容易易发发生生操操作作错错误误,这这些些故故障障和和错错误误很很可可能能破破坏坏数数据据库库中中的的数数据据,这这种种破破坏坏很很可可能能在在数数据据库库中中引引起起连连锁锁反反应应,破破坏坏整整个个数据库。数据库。因因此此必必须须做做好好数数据据库库的的转转储储和和恢恢复复工工作作,要要求求设设计计人人员员熟熟

138、悉悉DBMS的的转转储储和和恢恢复复功功能能,并并根根据据调调试试方方式式和和特特点点首首先先加加以以实实施施,尽尽量量减减少少对对数数据据库库的的破破坏坏,并并简简化故障恢复。化故障恢复。 986.6.5 6.6.5 整理文档整理文档在程序的编码调试和试运行中,应该将发现的在程序的编码调试和试运行中,应该将发现的问题和解决方法记录下来,将它们整理存档作问题和解决方法记录下来,将它们整理存档作为资料,供以后正式运行和改进时参考。为资料,供以后正式运行和改进时参考。全部的调试工作完成之后,应该编写应用系统全部的调试工作完成之后,应该编写应用系统的技术说明书和使用说明书,在正式运行时随的技术说明书

139、和使用说明书,在正式运行时随系统一起交给用户。系统一起交给用户。完整的文件资料是应用系统的重要组成部分,完整的文件资料是应用系统的重要组成部分,但这一点常被忽视。必须强调这一工作的重要但这一点常被忽视。必须强调这一工作的重要性,引起用户与设计人员的充分注意。性,引起用户与设计人员的充分注意。 99数数据据库库试试运运行行结结果果符符合合设设计计目目标标后后,数数据据库库就就投投入入正正式式运运行行,进进入入运运行行和和维维护护阶阶段段。数数据据库库系系统统投投入入正正式式运运行行,标标志志着着数数据据库库应应用用开开发发工工作作的的基基本本结结束束,但但并并不意味着设计过程己经结束。不意味着设

140、计过程己经结束。由由于于应应用用环环境境不不断断发发生生变变化化,用用户户的的需需求求和和处处理理方方法法不不断断发发展展,数数据据库库在在运运行行过过程程中中的的存存储储结结构构也也会会不不断断变化,从而必须修改和扩充相应的应用程序。变化,从而必须修改和扩充相应的应用程序。数据库运行和维护阶段的主要任务包括以下三项内容:数据库运行和维护阶段的主要任务包括以下三项内容:(1) (1) 维护数据库的安全性与完整性;维护数据库的安全性与完整性;(2) (2) 监测并改善数据库性能;监测并改善数据库性能; (3) 重新组织和构造数据库。重新组织和构造数据库。 6.7 6.7 数据库运行和维护数据库运

141、行和维护1006.7.1 6.7.1 维护数据库的安全性与完整性维护数据库的安全性与完整性按按照照设设计计阶阶段段提提供供的的安安全全规规范范和和故故障障恢恢复复规规范范,DBADBA要要经经常常检检查查系系统统的的安安全全是是否否受受到到侵侵犯犯,根根据据用用户户的的实实际际需要授予用户不同的操作权限。需要授予用户不同的操作权限。数数据据库库在在运运行行过过程程中中,由由于于应应用用环环境境发发生生变变化化,对对安安全全性性的的要要求求可可能能发发生生变变化化,DBADBA要要根根据据实实际际情情况况及及时时调调整相应的授权和密码,以保证数据库的安全性。整相应的授权和密码,以保证数据库的安全

142、性。同同样样数数据据库库的的完完整整性性约约束束条条件件也也可可能能会会随随应应用用环环境境的的改改变变而而改改变变,这这时时DBADBA也也要要对对其其进进行行调调整整,以以满满足足用用户户的要求。的要求。另另外外,为为了了确确保保系系统统在在发发生生故故障障时时,能能够够及及时时地地进进行行恢恢复复,DBADBA要要针针对对不不同同的的应应用用要要求求定定制制不不同同的的转转储储计计划划,定定期期对对数数据据库库和和日日志志文文件件进进行行备备份份,以以使使数数据据库库在在发发生生故故障障后后恢恢复复到到某某种种一一致致性性状状态态,保保证证数数据据库库的的完完整整性。性。1016.7.2

143、 6.7.2 监测并改善数据库性能监测并改善数据库性能目目前前许许多多DBMSDBMS产产品品都都提提供供了了监监测测系系统统性性能能参参数数的的工工具具,DBADBA可可以以利利用用系系统统提提供供的的这这些些工工具具,经经常常对对数数据据库库的的存存储储空空间间状状况况及及响响应应时时间间进进行行分析评价;分析评价;结结合合用用户户的的反反应应情情况况确确定定改改进进措措施施;及及时时改改正正运行中发现的错误;运行中发现的错误;按按用用户户的的要要求求对对数数据据库库的的现现有有功功能能进进行行适适当当的的扩充。扩充。但但要要注注意意在在增增加加新新功功能能时时应应保保证证原原有有功功能能

144、和和性性能不受损害。能不受损害。1026.7.3 6.7.3 重新组织和构造数据库重新组织和构造数据库数数据据库库建建立立后后,除除了了数数据据本本身身是是动动态态变变化化以以外外,随随着着应应用用环环境境的的变变化化,数数据据库库本本身身也也必必须须变变化化以以适适应应应应用用要求。要求。数数据据库库运运行行一一段段时时间间后后,由由于于记记录录的的不不断断增增加加、删删除除和和修修改改,会会改改变变数数据据库库的的物物理理存存储储结结构构,使使数数据据库库的的物物理理特特性性受受到到破破坏坏,从从而而降降低低数数据据库库存存储储空空间间的的利利用用率率和和数数据据的的存存取取效效率率,使使

145、数数据据库库的的性性能能下下降降。因因此此,需需要要对对数数据据库库进进行行重重新新组组织织,即即重重新新安安排排数数据据的的存存储储位位置置,回回收收垃垃圾圾,减减少少指指针针链链,改改进进数数据据库库的的响响应应时时间间和和空空间间利利用用率率,提提高高系系统统性性能能。这这与与操操作作系系统统对对“磁盘碎片磁盘碎片”的处理的概念相类似。的处理的概念相类似。数数据据库库的的重重组组只只是是使使数数据据库库的的物物理理存存储储结结构构发发生生变变化化,而而数数据据库库的的逻逻辑辑结结构构不不变变,所所以以根根据据数数据据库库的的三三级级模模式式,可可以以知知道道数数据据库库重重组组对对系系统

146、统功功能能没没有有影影响响,只只是是为了提高系统的性能。为了提高系统的性能。 103数数据据库库应应用用环环境境的的变变化化可可能能导导致致数数据据库库的的逻逻辑辑结结构构发发生生变变化化,比比如如要要增增加加新新的的实实体体,增增加加某某些些实实体体的的属属性性,这这样样实实体体之之间间的的联联系系发发生生了了变变化化,这这样样使使原原有有的的数数据据库库设设计计不不能能满满足足新新的的要要求求,必必须须对对原原来来的的数数据据库库重重新新构构造造,适适当当调调整整数数据据库库的的模模式式和和内内模模式式,比比如如要要增增加加新新的的数数据据项项,增增加加或或删删除除索索引引,修修改改完完整

147、整性性约约束束条条件件等。等。DBMSDBMS一一般般都都提提供供了了重重新新组组织织和和构构造造数数据据库库的的应应用用程程序序,以帮助以帮助DBADBA完成数据库的重组和重构工作。完成数据库的重组和重构工作。只只要要数数据据库库系系统统在在运运行行,就就需需要要不不断断地地进进行行修修改改、调调整整和和维维护护。一一旦旦应应用用变变化化太太大大,数数据据库库重重新新组组织织也也无无济济于于事事,这这就就表表明明数数据据库库应应用用系系统统的的生生命命周周期期结结束束,应应该该建建立立新新系系统统,重重新新设设计计数数据据库库。从从头头开开始始数数据据库库设设计计工工作作,标标志志着着一一个

148、个新新的的数数据据库库应应用用系系统统生生命命周周期期的开始。的开始。104小小 结结 本本章章介介绍绍了了数数据据库库设设计计的的六六个个阶阶段段,包包括括:系系统统需需求求分分析析、概概念念结结构构设设计计、逻逻辑辑结结构构设设计计、物物理理设设计计、数数据据库库实实施施、数数据据库库运运行行与与维维护护。对对于于每每一一阶阶段段,都都分分别详细讨论了其相应的任务、方法和步骤。别详细讨论了其相应的任务、方法和步骤。需需求求分分析析是是整整个个设设计计过过程程的的基基础础,需需求求分分析析做做得得不不好好,可能会导致整个数据库设计返工重做。可能会导致整个数据库设计返工重做。将将需需求求分分析

149、析所所得得到到的的用用户户需需求求抽抽象象为为信信息息结结构构即即概概念念模模型型的的过过程程就就是是概概念念结结构构设设计计,概概念念结结构构设设计计是是整整个个数数据据库库设设计计的的关关键键所所在在,这这一一过过程程包包括括设设计计局局部部E-R图图、综合成初步综合成初步E-R图、图、E-R图的优化。图的优化。 105小小 结结 将将独独立立于于DBMSDBMS的的概概念念模模型型转转化化为为相相应应的的数数据据模模型型,这这是是逻逻辑辑结结构构设设计计所所要要完完成成的的任任务务。一一般般的的逻逻辑辑设设计计分分为为三三步步:初初始始关关系系模模式式设设计计,关关系系模模式式规规范范化

150、化,模模式式的评价与改进。的评价与改进。 物物理理设设计计就就是是为为给给定定的的逻逻辑辑模模型型选选取取一一个个适适合合应应用用环环境境的的物物理理结结构构,物物理理设设计计包包括括确确定定物物理理结结构构和和评评价价物物理结构两步。理结构两步。根根据据逻逻辑辑设设计计和和物物理理设设计计的的结结果果,在在计计算算机机上上建建立立起起实实际际的的数数据据库库结结构构,装装入入数数据据,进进行行应应用用程程序序的的设设计计,并并试试运运行行整整个个数数据据库库系系统统,这这是是数数据据库库实实施施阶阶段段的的任任务。务。数数据据库库设设计计的的最最后后阶阶段段是是数数据据库库的的运运行行与与维维护护,包包括括维维护护数数据据库库的的安安全全性性与与完完整整性性,监监测测并并改改善善数数据据库库性性能,必要时需要进行数据库的重新组织和构造。能,必要时需要进行数据库的重新组织和构造。106

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号