我是数据仓库的新手,但我认为我的问题相对容易回答。我建立了一个星型模式,带有一个维度表“产品”。此表具有“PropertyName”列和“PropertyValue”列。因此,维度看起来有点像这样:
surrogate_key | natural_key (productID) | PropertyName | PropertyValue | ...
1 5 Size 20 ...
2 5 Color red
3 6 Size 20
4 6 Material wood
等等。
在我的事实表中,我总是使用维度的代理键。PropertyName 和 PropertyValue 列的原因是我的自然键不再是唯一的/识别的,所以我的事实表中的行太多了。
我现在的问题是,我应该如何处理属性列?最好将每个属性放入单独的维度中,例如维度大小、维度颜色等?我得到了大约 30 种不同的属性。或者我应该为事实表中的每个属性创建列吗?还是制作具有所有属性的一维?
提前感谢您的帮助。