我在数据仓库建模方面与同事有分歧。
我们有一个具有“默认”货币的实体维度和一个货币维度。
我建议将事实表(销售)与货币维度相关联,并且我们将货币代码作为实体维度中的属性(仅供参考)
我的同事决定将事实表链接到货币维度,但也将实体维度链接到货币维度。他说,这将有助于他获得有关实体货币(汇率等)的信息。
我不同意,他似乎也不同意我。
您怎么看?
谢谢!
答案 0 :(得分:2)
您是正确的,而您的同事是错误的。
在适当的维模型中,维仅通过事实表相互交互,而从不直接交互。事实表也是如此-您永远不要仅通过共享维度直接链接它们。
星型模式背后的关键思想是拥有一组2NF(第二范式)维表,通过3NF事实表来解决它们之间的关系。链接尺寸直接违反了该原理。
此外,我不了解他通过直接链接试图获得的东西。您可以轻松地从通常设计的星型架构中查询同事寻求的信息。根本不需要使您的数据模型与奇怪的设计复杂化。