「软考高级系统架构师」数据库设计的4个阶段详解

上一篇文章 已经介绍了数据库设计的相关方法,此篇文章将详细介绍需求分析、概念结构设计、逻辑结构设计、物理结构设计。

需求分析

1.确认需求、确定设计目标

数据库设计的第一项工作就是对系统的整个应用情况进行全面的、详细的实地调查,弄清现行系统的组织架构、功能划分、总体工作流程,收集总的支持系统设计目标的基础数据和对这些数据的处理要求,明确用户总的需求目标;即确定数据库应该支持的应用功能和应用范围,明确哪些功能由计算机完成或准备在计算机上完成,哪些环节需要人工完成,以确定应用系统实现的功能。这一阶段收集到的基础数据和一组数据流程图是下一步进行概念设计的基础。

2.分析和收集数据

这是整个需求分析的核心人物。它包括分析和收集用户的信息需求、处理需求、完整性需求、安全性需求,以及对数据库设计过程有用的其他信息。信息需求是指在设计目标范围内涉及的所有实体、实体属性和实体间的联系等数据对象,包括用户在数据处理中的输入/输出数据及这些数据之间的联系。在收集过程中,要收集数据的名称、类型、长度、数据量、对数据的约束及数据间联系的类型等信息。处理需求是指为了获取所需的数据信息而对数据进行加工处理的要求。它主要包括,处理方式是实时还是批处理,各种处理发生的频度、响应时间、优先级别及安全保密要求等。分析和收集数据的过程是数据库设计者对对各类管理活动进行深入调查研究的过程,调查的对象包括数据管理部门的负责人、各使用部门的负责人及操作员等各类管理人员,通过与各类管理人员的交流,逐步取得需求的一致认识。

3.整理文档

分析和收集得到的数据必须经过筛选整理,并按照一定的格式和顺序记载保存,经过审核成为正式的需求说明文档,即需求说明书。实际上,需求说明书是在需求分析的过程中逐渐整理形成的,是随着这一过程的不断深入而反复修改与完善的对系统需求的全面描述。由用户、领导和专家共同评审,是以后设计各个阶段的主要依据。这一步的工作是进行全面汇总和整理,使之系统化,以形成标准化的同一形式。

概念结构设计

概念结构设计的目标是产生一个用户易于理解的,反映系统信息需求的整体数据库概念结构。

在实体分析法中,局部视图设计的第一步是确定其所属的范围,即它所对应的用户组,然后对每个用户组建立一个仅由实体、联系及它们的标识码组成的局部信息结构(局部数据模式)框架,最后再加入相关的描述信息,形成完整的局部视图(局部数据模式)。确定实体间的联系,二元联系的关系图如下:

「软考高级系统架构师」数据库设计的4个阶段详解

实体间的二元联系

逻辑结构设计

数据库的逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构。其成果包括某DBMS 所支持的外模式、概念模式及其说明及建立外模式和概念模式的DDL程序。因此,在逻辑结构设计之前,必须了解数据库设计的需求说明和概念设计成果(包括E-R图和其他文档),并仔细阅读有关的DBMS的文件。数据库的外模式和概念模式是用户可以看到的数据库,是应用程序访问数据库的接口,因此,在数据库逻辑结构设计阶段,还必须提供应用程序编制的有关说明,最好是编一些典型的访问数据库的应用程序,以检查所设计的概念模型是否满足应用需求。逻辑结构设计一般分为以下几个步骤:

  1. 将概念结构向一般关系模型转换;
  2. 将第一步得到的结构向特定的DBMS支持下的数据模型转换;
  3. 依据应用的需求和具体的DBMS的特征进行调整和完善。

物理结构设计

数据库在实际的物理设备上的存储结构和存取方法称为数据库的物理结构。数据库物理设计是利用已确定的逻辑结构及DBMS提供的方法、技术,以较优的存储结构、数据存取路径、合理的数据存储位置及存储分配,设计出一个高效的、可实现的物理存储结构。物理结构设计过程如下图:

「软考高级系统架构师」数据库设计的4个阶段详解

数据库物理设计过程

由于不同的DBMS提供的硬件环境和存储结构、存取方法,以及提供给数据库设计者的系统参数、变化范围有所不同,因此,为了设计出一个较好的存储模式,设计者必须了解以下几个方面的问题,做到心中有数。

  1. 了解并熟悉应用要求。包括各个用户对应的数据库视图,即数据库的外模式(子模式),分清哪些是主要的应用,了解各个应用的使用方法、数据量和处理频率等,以便对时间和空间进行衡量,并优先保证先满足应用的时间要求。
  2. 熟悉使用的DBMS的性能,包括DBMS的功能,提供的物理环境、存储结构、存取方法和可利用的工具。
  3. 了解存储数据的外存设备的特性,如物理存储区的划分规则,物理块的大小等有关规定和I/O特性等。

存储模式和概念模式不一样,它不是面向 用户的,一般的用户不一定也不需要了解数据库存储模式的细节。所以数据库存储模式的设计者不必考虑用户理解的方便,其设计目标主要是提高数据库的性能,其次就是节约空间。

这里也只给出一般的数据库设计原则和内容,具体的数据库设计要根据数据产品所提供的物理环境、存储结构和存取方法等各个因素来综合决定。

「软考高级系统架构师」数据库设计的4个阶段详解


分享到:


相關文章: