首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个属性的维度行

具有多个属性的维度行
EN

Stack Overflow用户
提问于 2014-01-20 21:37:33
回答 1查看 2.2K关注 0票数 6

这不是我正在做的,但我觉得这是一个很好的例子:

假设我有一个产品维度表,它连接到我的ProductSales事实表。dimProduct中的每一行保存单个产品的所有相关数据(代码、名称、描述等),大约有一百万种产品。

现在,我需要将产品类别存储到仓库中。每个产品有多个类别,平均为5。

对于产品的每个类别,我应该复制产品维度中的整行,还是应该在两个类别之间使用dimCategory维度和dimProductCategory链接表来雪花当前的星型模式?

我担心,如果我做前者,那么我的维数表将变得超过5倍大,如果我做后者,那么模型将变得更加复杂。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-21 04:18:28

嗯,对于一个新来的人来说,你的问题相当有见地!

如果您的每个产品都可以分为多个类别(并且每个产品类别包含n个产品),那么Product和ProductCategory之间的基数是多到多的。当你有很多到很多基数,直接雪花是而不是的解决方案.

但是我认为,这里所说的雪花是指在CategoryProduct之间使用链接表。在我看来,这就是策划线的方法。但是我宁愿把这个表称为一个无障碍事实表。

雪花是一对多基数问题的解。 (例如,一个类别包含多个产品)。要解决多到多的基数,您将需要无障碍事实表,该表存储来自两个category Product表的键。

请记住,如果您加载到ProductSales事实表中的事务性数据已经同时包含了CategoryProduct详细信息,则最好在ProductSales事实表中同时包含类别ID和产品ID。当您不需要在产品和类别之间保持任何固定的关系,而是将这种关系从实际业务中发生的事件中驱动时,您就可以这样做。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21244660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档