维度建模和范式建模的区别?

通常数据建模有以下几个流程

  1. 概念建模:即通常先将业务划分多个主题。
  2. 逻辑建模:即定义各种实体、属性和关系。
  3. 物理建模:设计数据对象的物理实现,比如表字段类型、命名等。

那么范式建模,即3NF模型具有以下特点

  1. 原子性,即数据不可分割。
  2. 基于第一个条件,实体属性完全依赖于主键,不能存在仅依赖主关键字一部分属性。即不能存在部分依赖。
  3. 基于第二个条件,任何非主属性不依赖于其他非主属性。即消除传递依赖。

基于以上三个特点,3NF的最终目的就是为了降低数据冗余,保障数据一致性;同时也有了数据关联逻辑复杂的缺 点。

而维度建模是面向分析场景的,主要关注点在于快速、灵活,能够提供大规模的数据响应。

常用的维度模型类型主要有

  1. 星型模型:即由一个事实表和一组维度表组成,每个维表都有一个维度作为主键。事实表居中,多个维表呈 辐射状分布在四周,并与事实表关联,形成一个星型结构。
  2. 雪花模型:在星型模型的基础上,基于范式理论进一步层次化,将某些维表扩展成事实表,最终形成雪花状 结构
  3. 星系模型:基于多个事实表,共享一些维度表。

回复

共1条回复 我来回复
  • 迷失技术de小猪
    迷失技术de小猪
    稍等伙伴们,思考简介中~
    评论

    通常数据建模有以下几个流程

    1. 概念建模:即通常先将业务划分多个主题。
    2. 逻辑建模:即定义各种实体、属性和关系。
    3. 物理建模:设计数据对象的物理实现,比如表字段类型、命名等。

    那么范式建模,即3NF模型具有以下特点

    1. 原子性,即数据不可分割。
    2. 基于第一个条件,实体属性完全依赖于主键,不能存在仅依赖主关键字一部分属性。即不能存在部分依赖。
    3. 基于第二个条件,任何非主属性不依赖于其他非主属性。即消除传递依赖。

    基于以上三个特点,3NF的最终目的就是为了降低数据冗余,保障数据一致性;同时也有了数据关联逻辑复杂的缺 点。

    而维度建模是面向分析场景的,主要关注点在于快速、灵活,能够提供大规模的数据响应。

    常用的维度模型类型主要有

    1. 星型模型:即由一个事实表和一组维度表组成,每个维表都有一个维度作为主键。事实表居中,多个维表呈 辐射状分布在四周,并与事实表关联,形成一个星型结构。
    2. 雪花模型:在星型模型的基础上,基于范式理论进一步层次化,将某些维表扩展成事实表,最终形成雪花状 结构
    3. 星系模型:基于多个事实表,共享一些维度表。
    1个月前 0条评论
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载