首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>oracle>正文

大型MIS软件的开发必须重视数据库设计

http://www.oklinux.cn  2008-05-04  赛迪网 Alizze  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

这篇论坛文章(赛迪网技术社区)主要介绍了数据库设计在大型MIS软件开发过程中的重要性,详细内容请参考下文:

80年代初以来,国内许多计算机专家先后深入一些大型企业,力图开发出理想的大型MIS。实践证明,开发出的大型MIS,多数不很理想。原因何在?据作者一孔之见,其中一条重要的原因,就是在开发过程中对MIS的数据库设计重视不够,没有把它当作一件头等大事来处理。一个大型MIS,如果它的数据库设计出了问题,就是出了大问题,或者说从根本上出了问题。这样的MIS,不会成功,只会失败。既然如此,应该怎样来解决它呢?

一、MIS的基础是数据库

NIS系统包括硬件和软件两部分。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建设中的失误。

共2页: 上一页 1 [2] 下一页

上一篇:Oracle 10g跨越Resetlogs时间点进行恢复   下一篇:超大型Oracle数据库应用系统的设计方法

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·超大型Oracle数据库应用系统的设计方法
·Oracle 10g跨越Resetlogs时间点进行恢复
·可以实现故障预防 探测和恢复的MAA结构
·Ubuntu上安装Oracle 10G及相关配置
·Linux主机下配置Oracle 10G自动启动过程记
·用一个实例讲解Oracle的自定义聚集函数
·如何使用DBMS_REPAIR检测和修补数据坏块
·循序渐进讲解Oracle数据库的完整性概念
·讲解Oracle数据库提供的多种安全性措施
·带你快速了解Oracle数据库提供的恢复机制
·Oracle数据库索引聚簇与哈希聚簇使用指南
·讲解Oracle数据库应用程序中RAID的级别
·数据库管理员日常工作中必备的sql列表
·如何在Oracle中释放flash_recovery_area
·如何将Oracle数据库的普通表转换成分区表
·数据库中判断一个字符串内是否含有中文
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·关于Oracle将目标数据库设为归档模式应
·Linux下OCI基础:配置Instant Client连
·Oracle中被锁定的解决办法
·Oracle 11G 无法连接到数据库实例故障
·浅谈创建Oracle数据库连接的两种方法
·如何从Oracle技术支持获得更多
·Oracle数据库中安全知识介绍
·Oracle推出Linux服务并不成功
·Oracle专用服务器的内存结构分布原则
·如何在RAC环境下修改Oracle字符集
·Oracle过程中执行动态SQL或DDL语句
·2008年Oracle错误、备份、升级等最热门
  阅读排行
·详解远程SHELL下安装配置RedHat ES 5的
·Ubuntu上安装Oracle 10G及相关配置
·Oracle高级复制(同步复制)配置步骤详细
·如何修改遗失的MySQL的ROOT用户密码
·Redhat Linux AS4 安装Oracle 10g(包括
·Linux下OCI基础:配置Instant Client连
·解决启动数据库时发生的ORA-12528错误
·在 Oracle Enterprise Linux 上升级到
·Oracle 10g表空间创建的完整步骤
·centos 5.0中成功安装Oracle10g (1020
·如何在RAC环境下修改Oracle字符集
·Oracle数据库导入导出方法的个人总结
·巧用Oracle执行计划机制提高查询性能
·Oracle 10g 在AIX 5.3上安装过程笔记
·Linux真机环境Oracle 10gR2 RAC 安装完
网摘收藏: