(1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。(2)概念结构设计阶段:对用户需求综合、归纳与抽象,形成概念模型,用E-R图表示。(3)逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型。(4)数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。(5)数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。(6)数据库运行和维护阶段:对数据库系统进行评价、调整与修改。1数据库设计概述
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。数据库设计的基本步骤:
数据库各阶段设计描述
2概念结构设计
在早期的数据库设计,在需求分析阶段后,就直接进行逻辑结构设计。由于此时既要考虑现实世界信息的联系与特征,又要满足特定的数据库系统的约束要求,因而对于客观世界的描述受到一定的限制。同时,由于设计时要同时考虑多方面的问题,也使设计工作变得十分复杂。1976年P.P.S.Chen提出在逻辑结构设计之前先设计一个概念模型,并提出了数据库设计的实体--联系方法(Entity--RelationshipApproach)。这种方法不包括深的理论,但提供了一个简便、有效的方法,目前成为数据库设计中通用的工具。
有许多商业软件支持E-R模型,如Sybase公司的PowerDesignerDataArchitect(最新版本v9.5.1forWindows)、微软公司MicrosoftInfoModeler(VisioModeler)等。
图S-designerDataArchitect5.1设计的E-R模型
使用E-R模型来进行概念模型的设计通常分两步进行,首先是建立局部概念模型,然后综合局部概念模型,成为全局概念模型。
2.1E-R模型基本符号
E-R图具有以下几个特性:
2.2初步E-R图设计
在数据分析的基础上,就可以着手设计概念结构。设计初步E-R图的步骤:
在设计初步E-R图时,要尽量能充分地把组织中各部门对信息的要求集中起来,而不需要考虑数据的冗余问题。
局部概念模型设计是从用户的观点出发,设计符合用户需求的概念结构。局部概念模型设计的就是组织、分类收集到的数据项,确定哪些数据项作为实体,哪些数据项作为属性,哪些数据项是同一实体的属性等。确定实体与属性的原则:
例1:一个机械制造厂的简单管理系统。首先按工厂技术部门和工厂供应部门设计两个局部E-R图。工厂技术部门关心的是产品的性能参数,及由哪些零件组成,零件的材料和耗用量等;工厂供应部门关心的是产品的价格,使用材料的价格及库存量等。
例1图局部E-R图
综合这两个分E-R图,得到初步E-R图。
例1图初步E-R图
初步E-R图是现实世界的纯粹表示,可能存在冗余的数据和实体间冗余的联系。所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由基本联系导出的联系。
2.3基本E-R图设计
初步E-R图由于存在冗余的信息,会破坏数据库的完整性,给数据库的管理带来麻烦,以至引起数据不一致的错误。因此,必须消除数据上的冗余和联系上的冗余,消除冗余后的E-R图,称为基本E-R图。
消除冗余的方法,可以采用分析的方法。
例1图基本E-R图
例2:某书店购图书汇总登记表,经过1NF、2NF、3NF分析得
对应的基本E-R图
例2图图书汇总登记表基本E-R图
基本E-R图满足第三范式要求。
用例1的分析方法,对于一个庞大的复杂系统是有困难的,可以将初步E-R图转换成函数依赖关系,利用规范化理论,将其分解为多个符合第三范式的函数依赖关系,再构成基本E-R图。
3逻辑结构设计
任务:将基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。过程:
3.1E-R图向关系模型的转换
原则:(1)一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键;(2)一个联系转换为一个关系模式,与该联系相连的每个实体型的键以及联系的属性都转换为关系的属性。这个关系的键分为以下三种不同的情况:
图联系为1:1时
图联系为1:n时
图联系为m:n时
(3)一些特殊联系的处理,可分为以下几情况:
图实体存在依赖关系
图联系定义在同一同型实体上
3.2模型评价:功能评价,性能评价
3.3模型优化:减少连接运算,垂直和水平分割,使用快照,减少数据占用空间