数据模型是指实体、属性、实体之间的关系对业务概念和逻辑规则进行统一的定义,命名和编码,主要描述企业的信息需求和业务规则,是业务人员和开发人员沟通的语言,是数据仓库设计工作的第一步。数据模型可以划分为概念模型、逻辑模型、物理模型。
一、概念模型
从定义上来说,概念模型是最高层次的数据模型,反映了数据仓库的主要主题和重要业务之间的关系。一般来说,在进行数据仓库系统设计和开发之前,设计开发人员和业务人员已经对概念模型达成了共识,因为概念模型反映的是核心的业务问题。概念模型设计步骤如下:
- 从业务需求中提取重要的业务数据主题,包括对业务数据主题的详细解释;
- 从业务数据主题的基础上进行数据主题域的划分,包括对数据主题域的详细解释;
- 划分主题域概念模型:根据数据主题域的划分,细化内部的组织结构和业务关系。
概念模型建模的流程大致可以划分成如下几个部分:通过对业务系统的详细说明,进行数据的梳理,列出数据主题详细的清单,并对每个数据主题都作出详细的解释,然后经过归纳、分类,整理成各个数据主题域,列出每个数据主题域包含哪些部分,并对每个数据主题域作出详细解释,最后划分成主题域概念模型。
二、逻辑模型
从定义上讲,逻辑模型是以概念模型为基础,对概念模型的进一步细化、分解。逻辑模型通过实体和实体之间的关系描述业务的需求和系统实现的技术领域,是业务需求人员和技术人员沟通的桥梁和平台。 逻辑模型的设计是数据仓库实施中最重要的一步,因为他直接反应了业务部门的实际需求和业务规则,同时对物理模型的设计和实现具有指导作用。他的特点就是通过实体和实体之间的关系勾勒出整个企业的数据蓝图和规则。 概念模型的主题域一般是从企业现有的信息系统和行业自身业务活动汇总的来的业务模型主题域。而逻辑模型除了在概念模型的基础上丰富和细化主题域,并且确定每个主题域包含哪些主题外,还需要:
- 分析需求,列出需求分析的主题,需求目标、维度指标、维度层次、分析的指标、分析的方法、数据的来源、关注的对象等。
- 选择用户感兴趣的数据,通过业务需求将需要分析的指标分离抽取出来,转化成逻辑模型需要的实体。
- 在实体中需要增加时间戳属性,因为实体中需要保存哥哥阶段的历史数据。通常情况下,如果实体为同一编码,则不需要增加时间戳属性。
- 需要考虑粒度层次的划分。数据仓库的粒度层次划分直接影响了数据仓库模型的设计,通常细粒度的数据模型直接从企业模型选取实体作为逻辑模型的实体,而粗粒度的数据模型需要经过汇总计算得到相应的实体。粒度决定了企业数据仓库的实现方式、性能、灵活性和数据仓库的数据量。
- 在粒度层次划分的基础上,还需要进行关系模式的定义,形成各个实体、实体属性、实体之间的关系等内容。同时在逻辑模型框架的基础上对实体的中英文名称、属性、属性的值域进行明确、完善和细化,真实反映业务逻辑关系和业务规则。
三、物理模型
在逻辑模型的基础上,为应用生产环境选取一个合适的物理结构的过程,包括合适的存储结构和存储方法,称作物理模型的设计过程。逻辑模型转变为物理模型包括以下几个步骤:
- 实体名(Entity)变为表名(table)
- 属性名(attribute)转换为列明(column),确定列的属性(Property)
- 物理模型必须对列的属性进行明确的定义,包括:列名、数据类型
- 物理模型确定后,还可以进一步确定数据存放位置和存储空间的分配。
四、概念模型、逻辑模型和物理模型的区别