这篇论坛文章主要介绍了数据库设计在大型MIS软件开发过程中的重要性,详细内容请参考下文:
80年代初以来,国内许多计算机专家先后深入一些大型企业,力图开发出理想的大型MIS。实践证明,开发出的大型MIS,多数不很理想。原因何在?据作者一孔之见,其中一条重要的原因,就是在开发过程中对MIS的数据库设计重视不够,没有把它当作一件头等大事来处理。一个大型MIS,如果它的数据库设计出了问题,就是出了大问题,或者说从根本上出了问题。这样的MIS,不会成功,只会失败。既然如此,应该怎样来解决它呢?
一、MIS的基础是数据库
MIS系统包括硬件和软件两部分。MIS的软件,是由文档加程序组成的。它的文档,就是MIS的全部设计说明书。它的程序,就是MIS的全部算法加上相应的数据结构。MIS的算法无非是它的各种录入、修改、查询、处理、输出与菜单程序的算法。MIS的数据结构,主要是指数据库设计中的各种基本表。可以这么说,基本表是MIS的基础。数据库设计既是MIS开发中的重点,又是其难点。说它是重点,因为设计出一套好的基本表需要许多技巧。
MIS的发展是分阶段的,不同的阶段,对应不同的数据库。在MIS的初级(初始与扩展)阶段,对应的数据库为应用数据库。所谓应用数据库,就是针对某项具体的应用而设计的基本表的集合,这种数据库的设计、使用与维护均较容易。在MIS的中级(控制与集成)阶段,对应的数据库为主题数据库。所谓主题数据库,就是针对某方面的主题而设计的基本表的集合,它包括本主题范围内的所有应用项目,这种数据库的设计、使用与维护均较复杂。在MIS的高级(数据管理与成熟)阶段,对应的数据库为综合数据库。所谓综合数据库,就是针对某个大型企事业单位的综合管理信息系统而设计的基本表的集合,它包括本单位的所有主题,这种数据库的设计、使用与维护均很复杂,对设计者、用户与DBA的要求均很高。
二、数据库设计的一般方法
数据库设计分五大步,即数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。需求分析的任务是将业务管理单证流转化为数据流,绘制出数据流程图DFD,并完成相应的数据字典,概念设计的任务是从DFD出发,识别实体及其相互关系,并绘制出实体关系图,即E-R图。逻辑设计的任务是从E-R图出发,确定各个实体及关系的具体属性。物理设计的任务是确定所有属性的类型、宽长与取值范围,设计出基本表的主键与外键,将所有表名与字段名英文化,完成相应的数据字典,在具体的DBMS环境上实现物理建库工作。加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理、输出工作,均可视为对数据库的加载测试工作。应该指出,大型数据库的设计不大可能一次顺利完成,上述五大步骤,很可能是一个不断迭代的过程。
三、基本表与其它表
MIS中的数据库是由一组基本表所组成的,一个实体可以用一张基本表来描述,一个复杂关系也可以用一张基本表来描述。所以,基本表可以代表一个实体,也可以代表一个关系。基本表中的字段,就是实体或关系的属性。基本表是存放基础数据的地方,这些基础数据具有五个基本性质。原子性,即表中的数据是元数据。演绎性,即由表中的数据可以生成系统所有的输出数据。稳定性,即表中的数据一次录入、多次使用、长期保存。
规范性,即表中的数据满足第三范式。客观性,即表中的数据是客观存在的数据,不是主观想象中的数据。
MIS中的表除了基本表之外,还有一些非基本表,如代码表、中间表、临时表与虚表(视图),它们不属于数据库的内容,但均以表的形式出现,为数据的录入、查询、处理、输出提供方便。利用基本表的五个性质,很容易区分基本表与非基本表。非基本表的设计是不难的,基本表的设计是较难的,MIS中的数据库设计,主要是指基本表的设计。
四、数据库的设计技巧
数据库设计中有两个难点,一是如何处理多对多的关系,二是如何设计主键。处理多对多的关系的办法为:将一个多对多的关系分解为一个一对多的关系加上另一个多对一的关系。例如,若两个表之间存在多对多的关系,就在它俩之间增加一个表,该表的字段中至少要包括前两个表的主键在内。这样,就将一个多对多的关系转化为两个一对多的关系了。
在基本表中,主键是记录的唯一标识。一般而言,主键是为索引文件或表间连接服务的。它对用户不透明,只提供给程序员使用。因此,主键的取值最好为一串无物理意义的数值,且由程序自动加1来实现。主键是一个永久为非空的字段,一旦产生,便不能修改,但可以被拷贝。通过拷贝,这个表的主键可作为那个表的外键。要设计好数据库,除了克服以上两个难点之外,还应遵循下列原则:即基本表的个数越少越好;主键的个数越少越好;字段的个数越少越好。
五、MIS的开发模式
结合我国的特点,大型MIS的开发与大型数据库的设计,均应分为两个层次,即内核层与外壳层。内核层对应法治,设计上讲究通用性。外壳层对应人治,设计上讲究专用性。随着中国经济与世界经济接轨进程的发展,MIS的内核层将逐步扩大,外壳层将逐步缩小,通用性将逐步增强。
当前我国大型企事业单位的MIS建设,少数单位已跨过了初级阶段,开始迈向中级或高级阶段。与此同时,数据库设计已告别了应用数据库时期,开始向主题数据库或综合数据库过渡。主题数据库或综合数据库的设计,与应用数据库设计的本质区别是:前者是面向数据,后者是面向程序。一个大型企事业单位的MIS建设,是一个长期的反复的过程。在这一过程中,应用程序与输出图表可能逐年变动,但基础数据是稳定不变的。只要我们将基本表设计面向数据,不面向程序,用基本表组织好元数据,就能以不变应万变,避免在MIS建设中的失误。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
大数据时代我们是否还需要数据库设计?
良好的数据库设计是系统和应用程序设计的一部分。很多的业务需求,如数据可用性,清理处理,还有应用性能都可以利用特定的数据库设计加以解决。
-
数据库设计需做好前期工作 Agile方法不适合
有很多企业认为数据建模以及设计良好的数据库是浪费时间的工作,对此专家的回答很直接:决不能忽视数据库设计过程。
-
理解什么是数据库规范化(Normalisation)
规范化(Normalization)是数据库系统设计中非常重要的一个技术。数据库规范化能够让数据库设计者更好地了解组织内部当前的数据结构。
-
解析数据库的雪花模式结构
数据库设计包含几个数据建模方法,如概念设计、逻辑设计和物理设计。而目前在软件开发者和企业数据仓库(EDW)人员中流行着两个模式类型:星型模式和雪花模式。