数据仓库星型模式的维度表和事实表中的数据如何?

Posted

技术标签:

【中文标题】数据仓库星型模式的维度表和事实表中的数据如何?【英文标题】:How is data in dimensional tables and fact tables of a data warehouse star schema? 【发布时间】:2011-05-04 08:04:00 【问题描述】:

我正在研究数据仓库星型模式和属性层次结构,我感到很困惑,因为书中的示例没有提供样本数据来确认我对事物的理解。

书中有一个销售数据仓库,其中包含具有以下属性层次结构的产品维度: PRODUCT(AllProducts, ByProductType, OneProduct)

见下图:

什么样的样本数据会进入产品维度表?

产品


AllProducts ByProductType OneProduct


? ? ?

? ? ?

? ? ?

如果我没记错属性是表列或字段,我无法理解该表中的数据是什么样子

如果从同一张图片中取维度时间,数据很容易被采样:

时间


年季月周


2010 1          1        1

2010 1          1        2

2010 1           1        3

2010 1           1        4

我感到困惑的另一件事是数据在事实表中的样子。书中指出,事实表会故意包含重复数据。例如,要得出一整年的销售数据,不需要即时汇总每周的销售价值,因为它们已经被计算过了。现在,如果在时间维度中我有一个主键值 1,它同时代表一年、季度和一个月,我如何才能在事实表中保存 1 整年的合计值?

时间


ID 年 季度 月 周


1  2010 1           1        1

SALES_FACT_TABLE


销售时间ID 产品ID


1000  1          ?

【问题讨论】:

【参考方案1】:

图中灰色的字段(AllProducts、OneProduct 等)是关于产品维度的查询示例,而不是属性。

属性是 Product.Name、品牌、SKU、InternalName、DevelopmentStartDate、OnMarketDate ... 随便

【讨论】:

即使是时间维度的灰色字段?为什么时间维度中没有一个名为 All_Years 的字段类似于 Product 维度中的 All_Products 字段? 我想是的,是的。属性应该是年、月、日、dayofyear、weekday、is_workday、is_national_holiday等 我认为该图有点误导,尤其是初学者阅读时以及与书中提供的文本一起阅读时。但是我现在掌握了。谢谢。

以上是关于数据仓库星型模式的维度表和事实表中的数据如何?的主要内容,如果未能解决你的问题,请参考以下文章

星型模式

数据仓库维度建模法案例

如何计算 OLAP 多维数据集的可能大小

数据仓库 - 多维模型 - 事实表小于维度表

星型模型和雪花模型 (数据仓库模型)

总和和不同计数措施(星型模式设计公案)