一直以来,如何和业务领导讲明白什么是数据模型,是沟通的一大难题,下面演示一个示例,仅供参考。
介绍抽象世界
先从大佬胡本立的《以人为中心的数据观》说起。这个世界可以划分为3个世界,一个是客观存在的客观世界,一个是主观意识形成的主观世界,还有就是经过意识活动创造之后输出的表示世界(抽象世界)。人类接受客观世界的信号,在脑海中形成主观世界,进而输出成表示世界(抽象世界)。
引入数据概念
而数据就是在这个过程中诞生的,是一种以计算机为载体的表示手段。
但是通过数据来表示世界,需要考虑两个基本问题:一是成本问题,早期的存储是非常昂贵的。二是使用问题,数据存储下来后如何高效使用?于是,大家开始构思如何能够将客观世界更好的映射到抽象世界中。这时候,基本有三个流派:
-
网状模型
-
层次模型
-
关系模型。
阐述模型
实际上,上面这些都被称作逻辑模型。而现在常用的概念模型,则是晚于逻辑模型提出的。1976年,oochen提出了E-R模型,是一种逻辑模型,这个要比关系模型晚6年提出。
- 那么如何区分概念模型和逻辑模型呢?
很简单,就是对客观世界的一次抽象和二次抽象。概念模型实际上就是将客观世界进行一层简单的抽象,按照实体、属性、关系等进行归类,是作为数据库设计的一个中间环节。
概念模型强调的是实体间的关联关系,可以绘制属性也可以不绘制,重点在于实体。而逻辑模型则必须整理出所有实体下包含的属性,并且明确主外键,将实体间的关联关系下沉到属性级别。
基于E-R概念模型,实际上可以采用层次、网络、关系等逻辑模型来进行数据库设计落地的。但现在最流行的就是用关系模型来进行落地,这就是关系型数据库。
而物理模型就是具体落到数据库中的模型了。
写在最后
DMBOK的数据模型章节讲的比较理论,没有实践指导案例,建议看一些IBM与Teradata的行业数据模型框架,便于理解一些基本概念。
下图是DMBOK的语境图
同时,数据模型与业务建模、流程建模以及企业架构也是一体的。