跳到主要内容

5.2.1 数据建模

摘要

略。

数据建模是对现实世界中具体的人、物、活动和概念进行抽象、表示和处理,变成计算机可处理的数据,也就是把现实世界中的数据从现实世界抽象到信息世界和计算机世界。数据建模主要研究如何运用关系数据库设计理论,利用数据建模工具,建立既能正确反映客观世界,又便于计算机处理的数据模型。

1. 数据模型

根据模型应用目的不同,可以将数据模型划分为三类:概念模型、逻辑模型和物理模型。

1) 概念模型

概念模型也称信息模型,它是按用户的观点来对数据和信息建模,也就是说,把现实世界中的客观对象抽象为某一种信息结构,这种信息结构不依赖于具体的计算机系统,也不对应某 个具体的DBMS,它是概念级别的模型。概念模型的基本元素如表5-8所示。

表5-8 概念模型基本元素说明

表5-8

通常对概念模型要求有:

  • 概念模型是对现实世界的抽象和概括,它应该真实、充分地反映现实世界中事物和事物之间的联系,有丰富的语义表达能力,能表达用户的各种需求;
  • 概念模型应简洁、明晰、独立于机器、容易理解,方便数据库设计人员与用户交换意见,使用户能够积极参与数据库的设计工作;
  • 概念模型应易于变动。当应用环境和应用要求改变时,容易修改和补充概念模型;
  • 概念模型应容易向关系、层次或网状等各种数据模型转换,易于从概念模型导出与DBMS相关的逻辑模型。

2) 逻辑模型

逻辑模型是在概念模型的基础上确定模型的数据结构,目前主要的数据结构有层次模型、网状模型、关系模型、面向对象模型和对象关系模型。其中,关系模型成为目前最重要的一种 逻辑数据模型。

关系模型的基本元素包括关系、关系的属性、视图等。关系模型是在概念模型的基础上构建的,因此关系模型的基本元素与概念模型中的基本元素存在一定的对应关系,见表5-9。

表5-9 关系模型与概念模型的对应关系

表5-9

关系数据模型的数据操作主要包括查询、插入、刑除和更新数据,这些操作必须满足关系的完整性约束条件。关系的完整性约束包括三大类型:实体完整性、参照完整性和用户定义的完整性。其中,实体完整性、参照完整性是关系模型必须满足的完整性约束条件,用户定义的完整性是应用领域需要遵照的约束条件,体现了具体领域中的语义约束。

3) 物理模型

物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于性能的需求可能进行反规范化处理等内容。在物理实现上的考虑,可能会导致物理数据模型和逻辑数据模型有较大的不同。物理数据模型的目标是如何用数据库模式来实现逻辑数据模型,以及真正地保存数据。物理模型的基本元素包括表、字段、视图、索引、存储过程、触发器等,其中表、字段和视图等元素与逻辑模型中基本元素有一定的对应关系。

2.数据建模过程

通常来说,数据建模过程包括数据需求分析、概念模型设计、逻辑模型设计和物理模型设计等过程。

(1) 数据需求分析。

简单地说,数据需求分析就是分析用户对数据的需要和要求。数据需求分析是数据建模的起点,数据需求掌握的准确程度将直接影响后续阶段数据模型的质量。数据需求分析通常不是单独进行的,而是融合在整个系统需求分析的过程之中。开展需求分析时,首先要调查清楚用户的实际要求,与用户充分沟通,形成共识,然后再分析和表达这些要求与共识,最后将需求表达的结果反馈给用户,并得到用户的确认。数据需求分析采用数据流图作为工具,描述系统中数据的流动和变化,强调数据流和处理过程。

(2) 概念模型设计。

经过需求分析阶段的充分调查,得到了用户数据开发利用需求,但是这些应用需求还是现实世界的具体需求,应该首先把它们抽象为信息世界的结构,下一步才能更好地、更准确地用某个DBMS来实现用户的这些需求。将需求分析得到结果抽象为概念模型的过程就是概念模型设计,其任务是确定实体和数据及其关联。

(3) 逻辑模型设计。

概念模型独立于机器,更抽象,从而更加稳定,但是为了能够在具体的DBMS上实现用户的需求,还必须在概念模型的基础上进行逻辑模型的设计。由于现在的DBMS普遍都采用关系模型结构,因此逻辑模型设计主要指关系模型结构的设计。关系模型由一组关系模式组成,一个关系模式就是一张二维表,逻辑模型设计的任务就是将概念模型中实体、属性和关联转换为关系模型结构中的关系模式。

(4) 物理模型设计。

经过概念模型设计和逻辑模型设计,数据模型设计的核心工作基本完成,如果要将数据模型转换为真正的数据库结构,还需要针对具体的DBMS进行物理模型设计,使数据模型走向数据存储应用环节。物理模型考虑的主要问题包括命名、确定字段类型和编写必要的存储过程与触发器等。