本文主要是介绍维度建模的三种模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 星形模式:以事实表为中心,所有的维度表直接连在事实表上,最简单最常用的一种
星型模式的核心是一个大的中心表(事实表),一组小的附属表(维表)。星型模式是维度模型最简单的形式,也是数仓以及数据集市使用最广泛的形式。
维表只和事实表关联,维表之间没有关联;
每个维表的主码为单列,且该主码放置在事实表中,作为两边连接的外码;
以事实表为核心,维表围绕核心呈星形分布。
- 雪花模式:雪花模式的维度表可以拥有其他的维度表,这种不易维护
雪花模式是星型模式的扩展,所谓的“雪花化”就是将星型模式中的维度表进行规范化处理,
进一步分解到附加表(维表)中。将维度表进行规范化的具体做法:把低基数的属性从维度表中移除并形成单独的表。
如主键列具有唯一值,所以有最高的基数,而像性别这样的列基数就很低。
在雪花模式中,一个维度被规范化成多个关联的维度表,而在星型模式中,
每一个维度由一个单一的维度表所表示。一个规范化的维度对应一组具有层次关系的维度表,
而事实表作为雪花模式的子表,存在具有层次关系的多个父表。
- 星座模型:基于多张事实表,而且共享维度信息,即事实表之间可以共享某些维度表
数据仓库由多个主题构成,包含多个事实表,
而维表是公共的,可以共享,这种模式可以看做星型模式的汇集,因而称作星系模式或者事实星座模式。
事实星座模式是数据仓库最长使用的数据模式,尤其是企业级数据仓库(EDW)。
这也是数据仓库区别于数据集市的一个典型的特征,
从根本上而言,数据仓库数据模型的模式更多是为了避免冗余和数据复用,套用现成的模式,
是设计数据仓库最合理的选择。在业务发展后期,绝大部分维度建模都采用的是星座模式。
这篇关于维度建模的三种模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!