我有一个带有销售订单行事实表的数据模型。维度是日期、产品。
现在我正在尝试将另一个表添加到名为 Ingredients 的模型中。
销售订单事实表中的每条记录可以有一个或多个成分。
所以我可以将销售订单行表中的 IngredientGroupId 链接到 Ingredient 表中的 IngredientGroupId。但这使模型成为雪花模式。
有更好的建模方法吗?
Product 不应该链接到 Ingredients 吗?
原则上,你的提议没有错。我会做的是建立你的关系,但让它不活跃。仅当您需要成分数据来构成计算的一部分时才激活它。这样您就可以避免任何性能损失和引入关系歧义的任何机会。或者,您可以保持 Ingredients 完全断开,没有任何关系,只在需要访问时使用 TREATAS。这实际上取决于您正在执行的计算以及每个计算的频率。