「软考高级系统架构师」-数据库设计方法及基本步骤

数据库设计的过程是数据库系统和现实世界密切地、有机地、协调一致地结合起来的过程。数据库的设计质量与设计者的知识、经验和水平密切相关。作为数据库系统的重要组成部分,数据库设计的成败往往直接关系到整个应用的成败。以数据库为基础的数据库应用系统与其他计算机应用系统相比往往具有数据量庞大、数据关系复杂、数据保存时间长、用户要求多样化等特点。

数据库设计会面临哪些困难和问题呢?

  1. 同时具备数据库知识与应用业务知识的人太少。懂得计算机与数据库的人一般都缺乏应用业务知识和实际经验,而熟悉应用业务的人又往往不懂计算机和数据库的知识;
  2. 项目初期往往不能确定应用系统的数据库系统的目标;
  3. 缺乏完善的设计工具和设计方法;
  4. 需求的不确定性。用户总会在系统的开发过程中不断提出新的要求,甚至在数据库建立之后还会要求修改数据库结构或者增加新的应用;
  5. 应用业务系统的千差万别,很难找到一种合适所有业务的工具和方法,这就增加了研究数据库自动生成工具的难度。

数据设计的方法

目前已有的数据库设计方法可分为四类:直观设计法、自动化设计法、规范化设计法和计算机辅助设计法。直观设计法又称单步逻辑设计法,它依赖于设计者的知识、经验和技巧,缺乏工程规范的支持和科学依据,设计的质量也不稳定,因此越来越不适应信息管理系统发展的需要。为了改变这种状况,由来自30多个欧美国家的主要数据库专家在美国专门讨论了数据库设计问题,1978年10月提出了数据库设计规范,把数据库设计分为需求分析、概念结构设计、逻辑结构设计和物理结构设计4个阶段。目前,常用的规范设计方法大多起源于美国新奥尔良方法,如基于3NF的设计方法、LRA方法、面向对象的数据设计方法及基于视图概念的数据库谁方法等。

基于3NF的数据库设计方法是由S.Atre提出的数据库设计的结构化设计方,其基本思想是在需求分析的基础上,识别并确认数据库模式中的全部属性和属性间的依赖,将它们组织成一个单一的关系模型,然后再分析模式中不符合3NF的约束条件,用投影和连接的方法将其分解,使其达到3NF的条件。具体步骤分为5个阶段,如下图:

「软考高级系统架构师」-数据库设计方法及基本步骤

基于3NF的数据库设计方法

1、设计企业概念模式,利用上述得到的3NF关系模型画出的企业模式。具体包括:

  • 分析应用环境,并设定环境中所使用的各种资料;
  • 确保每一种报表各自所包含的数据元素;
  • 确定数据元素之间的关系,如确定主关键字和一般元素的关系;
  • 对一组或若干组数据元素推导出3NF的关系模型;
  • 在3NF的关系模型的基础上画出数据的企业模式。

2、设计数据库逻辑模式,根据上一步得到企业概念模式选定数据模式,从而得到适用于某个DBMS的逻辑模式。根据逻辑模式导出各种报表和事务处理所使用的外模式。

3、设计数据库物理模式(存储模式),根据数据库的逻辑模式和给定的计算机系统设计物理模式。

4、评价物理模式,对物理模式估算空间利用情况,并推算输入输出的概率。必要时根据物理模式调整各种报表和事务处理的外模式。对外模式进行存取时间的估算。

5、数据库实现。具体实现数据库。

数据库设计的基本步骤

分布设计法遵循自顶向下、逐步求精的原则,将数据库设计过程分解为若干相互独立又相互依存的阶段,每一个阶段采用不同的技术和工具,用来解决不同的问题,从而将问题局部化,减少局部问题对整体设计的影响。目前,此方法已经在数据库设计中得到了广泛的应用,并获得了较好的效果。

在分布设计法中,通常将数据库设计分为需求分析、概念结构设计、逻辑结构设计和物理结构设计4个阶段,如下图所示:

「软考高级系统架构师」-数据库设计方法及基本步骤

分布设计法的数据库设计步骤

1、需求分析。是指收集和分析用户对系统的信息需求和处理需求,得到系统设计所必须的需求信息,建立系统说明文档。其目标是通过调查研究,了解用户的数据要求和处理要求,并按一定整理形成需求说明书。需求说明书是需求分析阶段的成果,也是今后设计的依据,它包括数据库所涉及的数据、数据的特征、使用频率和数据量的估计,如数据名、属性及其类型、主关键字属性、完整性约束、保密要求、更改要求、数据量评估、使用频率等。这些关于数据的数据称为元数据。在设计大型数据库时,这些数据通常用数据字典来管理。用数据字典管理元数据有利于避免数据的重复和重名,以保持数据的一致性及提供各种统计数据,因而有利于提高数据设计的质量,同时减轻设计者的负担。

2、概念结构设计。它是数据设计的第二阶段,其目标是对需求说明书提供的所有数据和处理要求进行抽象和综合处理,按一定的方法构造反映用户环境的数据及其相关的概念模型,即用户的数据模型或企业模型。这种概念数据库模型与DBMS无关,是面向现实世界的、极易被用户所理解的数据模型。为保证设计概念模型能正确、完整的反映用户的数据及其相互之间的关系,便于所要求的各种处理,在本阶段设计中可吸收用户参与和评价设计。在进行概念设计时,可先设计各个应用的视图(view),即各个应用所看到的数据及其结构,然后再进行视图集成,形成一个单一的概念数据模型。这样形成的初步数据模型还要经过数据库设计者和用户的审查和修改,最后形成所需要的概念模型。

3、逻辑结构设计。这一阶段的目标是把上一阶段得到的与DBMS无关的概念数据模型转换为等价的,并为某个特定的DBMS所接受的逻辑模型所表示的概念模式,同时将概念模式设计得到的应用视图转换为外部模式,即特定的DBMS下的应用视图。在转换过程中需要进一步落实需求说明,并满足DBMS的各种限制。该阶段的结果是用DBMS所提供的数据定义语言(DDL)写成的数据模式。逻辑设计的具体方法与DBMS的逻辑数据模型有关。逻辑数据模型应满足数据库存取、一致性及运行等各方面的用户要求。

4、数据库物理设计。该阶段的任务是逻辑设计阶段得到的满足用户需求的已确定的逻辑模型在物理上加以实现,其主要内容是根据DBMS提供的各种手段,设计数据存储形式和存取路径,如文件结构、索引设计等,即设计数据库的内模式或存储模式。

实际上,数据库设计的基本过程与任何复杂系统开发一样,在每一个阶段设计基本完成后,都需要进行认真的检查,看是否满足应用需求,是否符合前面已执行步骤的要求和满足后续步骤的需要,并分析设计结果的合理性。在每一个阶段设计中,都可能发现前面步骤的遗漏或处理不当之处,此时,往往需要返回去重新处理并修改设计和有关文档。所以数据库设计过程通常是一个反复修改、反复设计的迭代过程。

「软考高级系统架构师」-数据库设计方法及基本步骤

下一篇将会详细说明需求分析、概念结构设计、逻辑结构设计以及物理结构设计。


分享到:


相關文章: