维度建模的三种方式,基本概念记录一下。主要是记下这几张图片!

1.1  星型模式。

1.2  雪花模式。

1.3  星座模式

记忆词:

  星型模式、星座模式

星型模型会做维度冗余

雪花模型更符合范式,使用场景少

一、维度建模三种模式、

1.1 ~ 星型模式。

星型模式(Star Schema)是最常用的维度建模方式。

星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。

星型模式的维度建模由一个事实表和一组维表成,且具有以下特点:

  • 维表只和事实表关联,维表之间没有关联。
  • 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键。
  • 以事实表为核心,维表围绕核心呈星形分布。

数仓主题模型层 数仓设计模式_建模

1.2 ~ 雪花模式。

雪花模式(Snowflake Schema)是对星型模式的扩展。

  • 雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用。

数仓主题模型层 数仓设计模式_数仓主题模型层_02

1.3 ~ 星座模式。

      星座模式是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息。
     前面介绍的两种维度建模方法都是多维表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。

    在业务发展后期,绝大部分维度建模都采用的是星座模式。
 

数仓主题模型层 数仓设计模式_主键_03