



数据库设计的目标是为用户和各种应用系统提供一个高效率的运行环境,该效率包括了数据库的存取效率和存储空间的利用率两个方面。也就是说,数据库设计就是把给定的现实世界的数据,根据处理要求合理地组织,逐步抽象成已经选定的某个数据库管理系统所能定义和描述的具体数据结构的过程,根据这一结构建立起既可以反映现实世界中信息之间的联系、满足应用系统各个应用的处理要求,又可以被某个DBMS所接受的数据库。
目前,数据库的设计方法主要分为三类,即直观设计法、规范设计法和ODL设计法。在实际的设计过程中,各种方法可以结合起来使用,以便达到最好的设计效果。
这是最早使用的数据库设计方法,也被称为手工设计法,是一种完全依赖于设计者的经验和技巧,在数据库运行的过程中对问题反复修改的方法。因此,采用此类方法的设计,其设计质量与设计人员的经验和水平有直接关系,若缺乏科学理论和工程方法的支持,工程的质量难以保证。同时,当数据库运行一段时间后常常会出现各种不同程度的问题,进而要付出较大的系统维护成本,由于该方法在稳定性方面也很欠缺,因此越来越不适应信息管理发展的需要了。
(1)新奥尔良方法。为了改善直观设计法的不足,多个数据库专家聚集在美国新奥尔良市,专门讨论了数据库的设计问题,提出了新的数据库设计工作规范,即新奥尔良方法。该方法将数据库设计分为需求分析、概念分析、逻辑分析和物理设计四个阶段,并采用一些辅助手段帮助实现每一过程。目前,常用的规范设计方法大多数都来源于新奥尔良法。
(2)基于E- R模型(实体联系)的数据库设计方法。基于E- R模型的数据库设计方法的基本思想是在需求分析的基础上,用E- R (实体—联系)图构造一个反映现实世界实体之间内在联系的概念模型,然后再将概念模型进一步转换成基于某一特定的DBMS的逻辑模型。这是数据库概念设计阶段广泛采用的方法。
(3)基于3NF (第三范式)的数据库设计方法。基于3NF的数据库设计方法的基本思想是在需求分析的基础上,采用关系数据库理论指导逻辑模型设计。3NF的数据库设计方法要求先识别和确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将它进行投影分解和连接分解,规范成若干个3NF关系模式的集合。这是设计关系数据库时在逻辑阶段可以采用的一种有效方法。
(4)基于视图的数据库设计方法。先从分析各个应用的数据着手,为每个应用建立自己的视图,然后再把这些视图汇总在一起合并成整个数据库的概念模式。合并时在消除了命名冲突和冗余后,需要对整个汇总模式进行调整,使其满足所有完整性约束条件。
除了这些方法外,规范化设计还有其他不同的方法,这里不再一一介绍。但从本质上来说,规范设计法仍是手工设计方法,其基本思想是过程迭代和逐步求精。
ODL (Object Definition Language)是面向对象的数据库设计方法,用面向对象的概念和术语来说明数据库结构。通过将对象模型映射成表,如:将单个对象映射成表,将对象间的二元关联映射成表,将对象间的继承关系映射成表等方法可以使对象模型向数据库结构进行转化。
数据库设计的过程主要分为六个阶段,如图3-1所示。
①需求分析:需求分析就是收集和分析用户的需求,它是设计数据库的起点,也是最困难、耗时最长的一步。这个阶段需要调查和分析用户的业务活动与数据使用情况,明确所用数据的类型、范围、数量等,确定用户对数据库系统的使用要求和各种约束条件。
②概念结构设计:概念设计阶段是整个数据库设计的关键,在此设计过程中通过对用户需求进行分类、综合和概括,逐步建立抽象的概念数据模型。
③逻辑结构设计:逻辑结构设计的主要工作就是将概念结构转换为一种适应于某种特定数据库管理系统所支持的逻辑结构模型,并对其进行优化。要实现逻辑结构设计就必须依赖于具体的DBMS。
④物理结构设计:物理结构设计是为逻辑结构模型选取一个最适合应用环境的物理结构,包括存储结构、存取方法和存取路径等。
⑤数据库实施:在该阶段,设计人员运用DBMS提供的数据库语言,根据逻辑设计和物理设计的结果建立数据库,组织数据入库,进行数据库应用系统的开发和试运行。
图3-1 数据库设计步骤
⑥运行与维护:数据库应用系统经过调试后即可投入正式运行,此时维护数据库的工作便要开始。设计一个完善的数据库应用系统不可能一蹴而就,它往往是这六个阶段的不断反复。需要根据变化,对数据进行安全性和完整性的控制,监督系统运行,分析数据,不断改进系统性能。