【发布时间】:2018-07-09 09:01:05
【问题描述】:
我是数据仓库的新手,我想问一下,在将所有外键数据复制到事实表时,为什么我们仍然使用维度,因为事实表中存在所有数据,请指导我。
【问题讨论】:
标签: mysql-workbench data-warehouse dimensional-modeling
我是数据仓库的新手,我想问一下,在将所有外键数据复制到事实表时,为什么我们仍然使用维度,因为事实表中存在所有数据,请指导我。
【问题讨论】:
标签: mysql-workbench data-warehouse dimensional-modeling
简答:一个典型的维度有额外的属性,而不仅仅是一个键。您的事实表有一个维度的外键,可以提供额外的信息,甚至可以进行分组。
推荐阅读:Ralph Kimball 的“数据仓库工具包”
【讨论】:
事实表应该只存储 1) 它建模的业务指标(例如,销售订单/交易,或您正在衡量的其他一些业务交易); 2) 相关维度的外键。
维度表应该只存储理解您的业务交易(您的事实)所必需的上下文/定性数据。
例如,假设您正在为零售店的销售建模;一个非常简化的维度模型类似于:
因此,事实表只保存指标/度量和外键,但业务用户需要使用存储在维度中的信息才能探索事实。这就是您使他们能够根据特定产品、特定商店/位置或特定日期探索 unitsSold 或 salesAmmount 的方式。
事实表本身仅提供定量数据(“销售量”),而维度提供业务用户解释该指标所需的上下文(“2017 年 Y 商店销售的产品 X 的数量”)。
【讨论】:
在许多情况下,关于什么属于维度或事实数据的决定并不明确。通常可重用的数据(相对于其他事实数据有意义)可以被视为维度数据。 很多时候,事实数据随着时间的推移变化最大。事实表包含这些记录随时间变化的历史 像每日销售数字、每晚 EndOfDay 结果等。 这些通常是数字类型,即定量测量。然后,数据仓库分析包括对这些数字进行分桶(求和/分组),以便它们以不同的粒度级别随着时间的推移呈现趋势的叙述。 维度数据更具有“静态”性质,例如 Trade 、 Customer 、 Product details。 我推荐阅读: https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/
【讨论】: