我是数据仓库的新手,我一直在阅读有关原理的文章和观看视频,但对于如何采用下面的设计并将其转换为星型模式,我有点困惑。
在所有示例中,我都看到事实表引用了暗表,所以我假设 questionId 和 responseId 是事实表的一部分?任何建议将不胜感激。
最佳答案
我现在看不到图像(被我的防火墙@办公室阻止)。但我会尝试给你一些想法。
总体思路是将可衡量的“事实”组织到所谓的事实表中。有 3 种主要类型的事实,但那是另一天的话题(但如果需要,我很乐意讨论这个)。这些事实中的每一个都是您在典型“星型模式”的中心看到的。事实表中的其他属性通常是对维度表的 FK 引用。
关于维度,这些是具有共同性的属性组(最值得注意的是日历维度)。这很重要,因为当您对多个事实进行分析时,维度就是您用来连接它们的维度。
如果您考虑这个简单的示例:订购产品然后发货。我们可以有 2 个交易事实(一个包含订购数量 - 度量、订购产品类型 - 维度和交易日期 - 维度)。我们还有一个产品运输的交易事实(装运数量 - 度量、产品类型 - 尺寸和装运日期 - 尺寸)。这个简单的架构可用于回答诸如“上个季度按产品类型划分的产品有多少已订购但未发货”之类的问题。
希望这可以帮助您入门。
关于database - 来自 3NF 的 Star Schema 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38572127/