数据仓库星型模式事实表?你怎么知道里面有啥

Posted

技术标签:

【中文标题】数据仓库星型模式事实表?你怎么知道里面有啥【英文标题】:datawarehouse star schema fact table? how do you know what goes in there数据仓库星型模式事实表?你怎么知道里面有什么 【发布时间】:2017-01-25 08:36:29 【问题描述】:

我只是想在创建事实表方面了解维度建模。到目前为止,我对 kimball 书的理解是,事实表将是一个事务表,它将与存在父键约束的维度表相关。这是我问题的第 1 部分。

第 2 部分,我的困惑在于事实表只存储外键和数值。如果该基本事务表存储维度数据会怎样。这些列/属性会发生什么?

它们是否会被放入与其相关的任何维度表中?如果有多个表,您如何确定该事务表具有外键约束。

谢谢。

【问题讨论】:

【参考方案1】:

使用 Kimball 维度模型,您想要对数据进行分类、拆分、过滤或以其他方式排序数据的所有内容都会进入维度,而在事实表中只留下您要求和、平均等的数字字段。

理想情况下,您的维度可以重复用于您企业中的所有事实表,从而为您的数据可用的所有属性提供一致的视图,并在人们组合来自不同事实的数据时提供正确结果共享维度的表格。

从事实表中取出所有文本/属性的第二个好处是,当行数增长很多时,它们的性能会提高。当存储和 RAM 更加昂贵并且当然已经被整个大数据范式所取代时,这曾经是一个更大的问题,但在任何 RDBMS 中仍然有效。

关于您的问题的第 2 部分:操作系统将其数据分组以获得最佳(写入)性能,这通常意味着如果数据在事务中一起使用,则将数据一起存储在一个表中,尤其是不打扰许多查找和更新辅助表。分析/DWH 方面的优先级完全不同。

最后,您最终会得到原始事务中仅对该表有意义的维度属性。它们可以进入垃圾维度,或者很少进入事实表本身(退化维度)。这两个概念都在书中。

【讨论】:

以上是关于数据仓库星型模式事实表?你怎么知道里面有啥的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库三大数据模式

设计数据仓库/星型模式 - 选择事实

数据仓库介绍 - 星型模型与雪花模型

数据仓库维度建模法案例

在星型模式表设计中包含关系有啥好处?

三个例子,让你看懂数据仓库多维数据模型的设计