是不是有很多人在学习数据仓库——维度建模的时候会有这种疑问呢?
到底有何意义呢?
请看下面通俗易懂的描述
凡是建设数据仓库,一定会提到维度建模方法。这一方法是Kimball最先提出的,其最简单的描述就是,按照事实表、维度表来构建数据仓库、数据集市。在维度建模方法体系中,维度是描述事实的角度,如日期、商品、地址等,事实是要度量的指标,如用户数、销售额等。按照一般书籍的介绍,维度建模还会分为星型模型、雪花模型等,各有优缺点,但很少直接回答一个问题,也就是数据仓库为什么要采用维度建模?
这个问题的基本判断在于,数据是否要开放给业务人员使用?采用维度建模构建出来的数据库结构表更加符合普通人的直觉、易于被普通人所理解,从而有利于数据的推广使用。下面以超市收银小票为例说明常规的三范式模型和维度模型。
三范式的数据模型示意如下:
维度模型示意如下:
以上两个模型的最小数据粒度都是小票项目,可以容易看出来,维度模型是将关系模型的层次结构展开平铺而成。从上面的这个范例可以引出采用维度建模方法的基本理由,就是:
数据结构简单。在决定是否要采用维度建模之前,必须回答一个问题,“数据模型是否要开放给业务人员直接使用”,如果答案肯定,则应该采用维度建模的方法。维度模