首页 > 编程知识 正文

kimball建模流程详细,第三版维度建模的完全指南

时间:2023-05-03 07:42:10 阅读:271181 作者:3559

维度表的定义

​ 在维度建模中,通常将指标的度量称之为“事实”,将产生度量的环境称之为“维度”。将描述同一个业务实体的的多个维度列组合在一起,就是常说的“维度表”。

维度表的构成

​ 维度表通常表示的是参与到业务过程中的一个业务实体(如,商品、卖家、买家、优惠券、时间等等),其每一行数据表示的是一个业务实体的实例(如,商品维度表中的一行表示的就是一个商品)。

维度表的结构

​ 维度表一般由【代理键、自然键、维度属性】三部分构成。如果有保留维度变化历史或大型维度表的拆分需求,可能还会加入其它部分以做技术实现上的补充。

代理键:不具有任何业务含义,仅做维度表数据唯一性区分的属性,通常以主键形式出现。自然键:具有业务含义,是业务实体一个实例的唯一性区分(如,商品ID),在维度表中不一定做表的主键。维度属性:描述同一业务实体各种特征的维度列(如,商品维度表中的商品名称、商品价格等)。

维度表中的代理键,会根据分析的需求决定是否存在,如果没有需要保留追溯业务实体历史变化的需求,一般情况会用自然键直接做为维度表的主键,这样通常简单、高校、且易于理解。代理键的存在主要是应对处理变化维度的需求。

维度表代理键

​ 不具有任何业务含义,仅做维度表数据唯一性区分的属性,通常以主键形式出现。

维度表自然键

​ 具有业务含义,是业务实体一个实例的唯一性区分(如,商品ID),在维度表中不一定做表的主键。

下钻

​ 钻取可以改变维的层次,变换分析的粒度。它包括向下钻zhi取(Drill-down)和向上dao钻取(Drill-up)/上卷zhuan(Roll-up)。
​ **上卷(roll-up):**上卷是沿着维shu的层次向上聚集汇总数据。例如,对产品销售数据,沿着时间维上卷,可以求出所有产品在所有地区每月(或季度或年或全部)的销售额。
​ **下探(drill-down):**下探是上卷的逆操作,它是沿着维的层次向下,查看更详细的数据。

退化维度

​ 当一个维度没有数据仓库需要的任何数据时就可以退化此维度。需要把退化维度的相关数据迁移到事实表中,然后删除退化的维度。

非规范化扁平维度

​ 一般说来,维度表应该被非规范化和扁平化,并根据需要使用大量列。

多层次维度

​ 统一维度中可以存在不同的层次,如:日历日期维度可以按照财务周期层次从天到周进行划分,也可能存在从天到月再到年的层次。

文档属性的标识与指示器

​ 字段值所包含的含义应该可以分解成不同的描述性维度属性的部分,如:code=0,code_desc=关闭

维度表中的空值属性

​ 推荐使用描述性字符串代替空值,如:unknown,应该避免再维度属性中使用空值。

日历日期维度

​ 能够非常方便的对事实表按照属性的日期、月份名称、周期等属性进行划分。

扮演角色的维度

​ 单个物理维度可以被事实表多次引用,每个引用连接逻辑上存在差异的角色维度。

杂项维度

​ 一些混杂的、低粒度的表示和指示器,可以单独将这些维度合并形成杂项维度

雪花维度

​ 当事实表有多个维度但不是所有维度都直接与事实表进行关联时,我们称之为雪花维度。比如,产品维度直接关联事实表,但是产品维度又关联分类维度,此时我们称之为雪花维度。

支架维度

​ 维度表中包含对其他维度表的引用,被引用的维度称为支架维度。多数情况下,事实表和维度之间的关联应该由事实表来实现。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。