现在的位置: 首页 > 综合 > 正文

谈谈如何建立数据模型:

2013年08月29日 ⁄ 综合 ⁄ 共 2944字 ⁄ 字号 评论关闭

一般作为菜鸟级别的数据库设计人员,往往面对一个项目,不知道如何入手.
或抓着一张纸就开始分析.
或方法单一,根本找不到相应的CASE工具.
或不得要领;或者不知道自己在干啥,书上说要这样做就这样做.
不一而足,我就是这样过来的.

这里结合自己平时的分析经验.谈谈如何建立数据模型.

何谓数据模型呢?王珊老师告诉我们:数据模型就是现实世界的模拟.我的理解数据模型设计就是数据库的设计
那么优秀的数据模型应该是怎样的呢?她应该满足3个要求:
一是能够比较真实的模拟现实世界
二是容易为人所理解
三是便于在计算机上实现。

数据模型的建立一般分为四步:1 需求分析 2 概念模型设计 3物力模型设计 4实施运行维护

1 需求分析的时候我们用到如下辅助方法:
业务流程图    建议PD实现
数据词典    建议PD实现
数据流图    建议VISIO实现
系统流程图    建议VISIO实现
组织结构图    建议VISIO实现
时序图        建议VISIO实现
状态图        建议VISIO实现
功能分解图    建议VISIO实现

2 概念模型设计的时候我们用到如下辅助方法:
ER图        建议PowerDesigner的CDM实现
数据词典    建议PowerDesigner的Report实现
模型优化    范式求证
设计用户子模式  符合用户习惯,也实现安全性

3 物理模型设计
数据库结构    建议PowerDesigner的PDM实现

综上所述:作为一个优秀的数据库设计人员,需要灵活运用下面辅助方法
业务流程图    (BPM)
数据流图    (DFD: Data Flow Diagram)
实体关系图    (ERD)
用例图:        (use case model)
数据词典    (DD: Data Dictionary)
时序图        
状态图
系统流程图
组织结构图
功能分解图

一般情况下,面对比较复杂的数据库建模, 规范的做法是:

第一步: 需求分析,获得业务流程图,数据流图和数据字典
第二步:根据数据流图和数据字典建立E-R图
第三步:E-R图转换成为物理数据模型
第四部:实施物理数据模型

如果你对于以上几种图不太了解,建议《数据库系统原理教程》.不过快的办法是找到形象的例图.

参考:
《数据库系统原理教程》        清华大学出版社   王珊,陈红 编著
《湖南师范大学管理信息复习材料》    

相关概念解释:
------------------------------------------------------------------------------------
数据图(DFD: Data Flow Diagram)
1.数据流图
就是组织中信息运动的抽象,是管理信息系统模型的主要形式。它与对系统的物理描述无关,只是用一种图形及与此相关的注释来表示系统的逻辑功能,即所开发的系统在管理信息处理方面要做什么。
2.数据流图由四种基本成分组成
(1)外部项(外部实体):外部项在数据流图中表示所描述系统的数据来源和去处的各种实体或工作环节。这些实体或环节向所开发的系统发出或接收信息。系统开发不能改变这些外部项本身的结构和固有属性。
(2)加工(数据加工):又称数据处理逻辑,描述系统对信息进行处理的逻辑功能。
(3)数据存储:逻辑意义上的数据存储环节,即系统信息处理功能需要的,不考虑存储物理介质和技术手段的数据存储环节。
(4)数据流:与所描述系统信息处理功能有关的各类信息的载体,是各加工环节进行处理和输出的数据集合。
常用的三类数据沈图基本成份的符号。
3.绘制数据流图的主要原则
(1)明确系统界面,一张数据流图表示某个子系统或某个系统的逻辑模型。
(2)自顶向下逐层扩展。在调查研究的基础上,明确所描述的系统与各部实体的信息联系。绘出最高层的数据流图——关联图。在关联图中,所描述的系统当作一个数据加工项,着重描述系统与外部实体的联系。然后确定系统的几个主要的综合性的逻辑功能,绘
制顶层数据流图。其中每个逻辑功能由一个数据加工符号描述。顶图可进一步分解,其中某些或者所有的数据加工项可分解为数个数据加工项,这样就形成第一层数据流图。依次逐层向下扩展,直到最底层的数据流图表示了所有具体的数据加工功能和输入输出关系。
(3)合理布局。数据流图各种符号买布局合理,分布均匀、整齐、清晰,使读者一目了然。
 (4)数据流图只反映数据流向,数据加工和逻辑意义上的数据存储。
 (5)数据流图绘制过程,就是系统的逻辑模型的形成过程,必须始终与用户密切接触。
4.绘制数据流图的主要步骤
(1)确定所开发系统的外部项(外部实体),即系统的数据来源和去处。
(2)确定整个系统的输出数据流和输入数据流,把系统作为一个加工环节,画出关联图。一般应把数据来源置于图的左侧,数据去处置于国的右侧。
(3)确定系统的主要信息处理功能,按此将整个系统分解成几个加工环节(子系统)。
(4)根据自须向下,逐层分解的原则,对上层图中全部或加工环节进行分解。
(5)重复步骤(4),直到逐层分解结束。分解结束的标志是:对于每一个最底层的加工,即各层数据流图中不做进一步分解的加工,其逻辑功能已足够简单、明确和具体。
(6)对某图进行检查和合理布局,主要检查分解是否恰当、彻底,DFD中各成分是否有遗漏、重复、冲突之处,各层DFD及同层DFD之间关系是否正确及命名、编号是否确切、合理等。对错误与不当之处进行修改。
(7)和用户进行交流,在用户完全理解数据图内容的基础上征求用户的意见。
(8)用计算机或其它制图,编辑工具画出正规的数据流图。
(9)将正规的数据流图提交系统分析负责人复审。
5.绘制数据流图的几点注释
(l)关于自须向下,逐层分解。数据流图的绘制过程,是系统分析过程的重要组成部分,这一过程自顶向下,逐层分解,就是由系统外部至系统内部,由总体到局部、由抽象到具体的系统逻辑模型建立过程。在数据流图分解中,要保持各层成分的完整性与一致性。
(2)数据流必须通过加工,即送去加工或从加工环节发出。不通过加工环节的数据流不在数据流图上表示。
(3)数据存储环节一般作为两个加工环节的界面来安排。
(4)命名。数据流图上的成分一般都要命名,命名的原则为:
①名称要反映被命名成分的真实和全部的意义;②名称要意义明确,易理解,无歧义,不会造成错觉和混乱;③加工的名称一般以动词十宾语或名词性定语十动名词为宜,以明确反映信息处理的逻辑功能;④避免使用不反映实际内容的空洞词汇;⑤进出数据存储环节的数据流如内容和存储者的数据相同,可采用同一名称。
(5)编号。每个数据加工环节和每张数据流图都要编号。按逐层分解的原则,父图与子图的编号要有一致性,一般子图的图号是父图上对应加工的编号。如顶层图的图号为0,其中各加工环节按1,2,3编号,顺序编号,1号加工环节分解后的子加工技1.l,1.2,1.3……,编号,依次类推。
数据流与数据存储环节也要进行编号以便于编写,分析与维护。编号方法原则上与加工环节的编号方法相同。为避免混淆,可在数据流与数据存储编号的第一位数字前冠以不同的字符以示区别。如数据流符号冠以F,数据存储符号冠以D。
同样,下层图上的数据流或数据存储是由上层图的某个成分的分解而得,则父项与子项的编号要体现数据流图分解的完整性与一致性的原则。

抱歉!评论已关闭.