维度建模和范式建模的区别?
数据仓库 344
通常数据建模有以下几个流程
- 概念建模:即通常先将业务划分多个主题。
- 逻辑建模:即定义各种实体、属性和关系。
- 物理建模:设计数据对象的物理实现,比如表字段类型、命名等。
那么范式建模,即3NF模型具有以下特点
- 原子性,即数据不可分割。
- 基于第一个条件,实体属性完全依赖于主键,不能存在仅依赖主关键字一部分属性。即不能存在部分依赖。
- 基于第二个条件,任何非主属性不依赖于其他非主属性。即消除传递依赖。
基于以上三个特点,3NF的最终目的就是为了降低数据冗余,保障数据一致性;同时也有了数据关联逻辑复杂的缺 点。
而维度建模是面向分析场景的,主要关注点在于快速、灵活,能够提供大规模的数据响应。
常用的维度模型类型主要有
- 星型模型:即由一个事实表和一组维度表组成,每个维表都有一个维度作为主键。事实表居中,多个维表呈 辐射状分布在四周,并与事实表关联,形成一个星型结构。
- 雪花模型:在星型模型的基础上,基于范式理论进一步层次化,将某些维表扩展成事实表,最终形成雪花状 结构
- 星系模型:基于多个事实表,共享一些维度表。
-
通常数据建模有以下几个流程
- 概念建模:即通常先将业务划分多个主题。
- 逻辑建模:即定义各种实体、属性和关系。
- 物理建模:设计数据对象的物理实现,比如表字段类型、命名等。
那么范式建模,即3NF模型具有以下特点
- 原子性,即数据不可分割。
- 基于第一个条件,实体属性完全依赖于主键,不能存在仅依赖主关键字一部分属性。即不能存在部分依赖。
- 基于第二个条件,任何非主属性不依赖于其他非主属性。即消除传递依赖。
基于以上三个特点,3NF的最终目的就是为了降低数据冗余,保障数据一致性;同时也有了数据关联逻辑复杂的缺 点。
而维度建模是面向分析场景的,主要关注点在于快速、灵活,能够提供大规模的数据响应。
常用的维度模型类型主要有
- 星型模型:即由一个事实表和一组维度表组成,每个维表都有一个维度作为主键。事实表居中,多个维表呈 辐射状分布在四周,并与事实表关联,形成一个星型结构。
- 雪花模型:在星型模型的基础上,基于范式理论进一步层次化,将某些维表扩展成事实表,最终形成雪花状 结构
- 星系模型:基于多个事实表,共享一些维度表。
1个月前