学习,不断的学习

欢迎大家提供宝贵经验
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

数据库系统概论学习笔记--数据库设计(1)

Posted on 2005-12-28 17:28  sholden  阅读(865)  评论(0编辑  收藏  举报

一、数据库设计的特点
        数据库的设计主要的特点有两个:第一就是数据库建设是硬件软件干件的相结合。所谓干件就是技术和管理的界面,就是说在数据库建设过程当中需要一定的技术和管理,而干结就是体现出这些内容的界面,就我个人的理解它是凌驾于软件之上的一层。也就是说数据库的建设少不了最基础的硬件建设,建立于硬件基础上需要的软件处理,以及利用软件开发的干件,有了这三者的结合,才真正能够构成一个完整的数据库。当然数据库最根本的内容还要属基础数据,这也就是很多数据库设计方面的文章上常提到的“三分技术,七分管理,十二分的基础数据”,可以看出基础数据的重要性。
        数据库设计的第二个特点就是需要将结构行为相结合,说的具体一点就是数据和处理相结合,这两者应该是相辅相成的。良好的结构设计有利于处理,合适的行为处理对于结构的稳定和共享是有重要意义的。
二、数据库设计方法
        规范设计方法中比较著名的有New Orleans方法,主要是将数据库设计分为了四个阶段,分别是:需求分析概念设计逻辑设计物理设计。其后又有一些逐步细分的方法,就我个人理解,数据库的设计过程应该是一个层叠的过程,其基本思想也就是过程迭代和逐步求精,要在设计阶段于用户的沟通当中,不断的修改,不断的反馈、细化以达到最后成熟的,满足需求的一个程度。
        以上是一些设计方法,在设计过程当中还可能用到一些工具,例如Design2000,PowerDesigner,这些CASE工具可以辅助设计人员完成数据库的设计工作。当然,设计应该同时进行数据库的设计和应用的设计,但是能完全做到这点还是很困难的。
三、数据库设计步骤 
一般分为了六个步骤: 
        需求分析
        概念设计
        逻辑设计
        物理设计
        数据库的实施
        数据库的运行和维护

        需要指出的是在设计过程当中,数据库设计的同时也应该进行数据库应用系统的设计,正如前面写的“良好的结构设计有利于处理,合适的行为处理对于结构的稳定和共享”,如果只是片面的注重结构的设计而忽视了应用环境对数据的处理要求,是不可能设计一个好的数据库结构的。设计阶段的输出结果如下:

设计阶段 数据 处理
需求分析 数据字典,数据流程图 数据流图,判定表,处理过程的描述
概念结构设计 概念模型(E-R图),数据字典 系统说明书,一般包括需求、方案等

系统信息流的数据流图
逻辑结构设计 数据模型(关系类型或非关系类型) 系统结构图(模块)
物理设计 存储安排,方法选择,存取路径建立

(一般交由DBMS来完成)
模块设计、详细设计、IPO表
实施阶段 编写模式,载入数据,数据库试运行 编码,测试
运行维护阶段 性能监测,备份/恢复,数据库的重组和重构 系统转换、运行维护


上表的主要目的就是要牢记在数据库设计的数据和处理的相互结合的程度。

        根据数据库设计的不同时期,可以形成各级模式。在需求分析阶段综合不同用户的应用需求;在概念设计阶段形成独立的DBMS的概念模式,一般就是E-R图等;在逻辑设计阶段形成了数据模型,一般是关系模型或非关系模型,就是数据库的逻辑模式。然后根据需要和安全建立视图,形成外模式;在物理设计阶段根据DBMS的特点和处理,建立存储安排、索引等,形成内模式,此过程很多DBMS可以轻松的完成。

        根据我个人的开发经验,在一般的项目的阶段划分上,由于现在大部分系统都是用的关系型数据库,所以逻辑设计的成分相对较少,物理设计主要是由DBMS来完成主要工作量也不占主要地位,因此一般设计过程中,需求分析阶段完成后,由定出的数据字典和数据流程图设计概念模型,接下来就是设计视图、编写模式,相对的逻辑结构设计和物理设计与实施阶段的边界区分就比较模糊。这也是实际操作与理论中的一些区别。