我是多维数据建模的新手。我有一个维度和两个事实表:
使用代理键将一个事实表(fact1)连接到维度。这里没有问题。我似乎不知道将维度连接到第二个事实表(fact2)的最佳方法是什么。如果这是一个关系数据库设计,我会在fact2表上使用NaturalKey2:(NaturalKey1 + NaturalKey2使一条记录在维度表中唯一)
。
DIMENSION
SurogateKey | NaturalKey1 | NaturalKey2 | Current
1 | a1 | b1 | 0
2 | a1 | b2 | 1
3 | a2 | b3 | 1
FACT1
(fk to Dimension)
1
2
3
FACT2
a1 ?
a2 ?
我是否使用只有NaturalKey2的桥接维度并使用从该维度到fact2的SK ?像这样的
维度2SurogateKey | NaturalKey2
1 | a1
2 | a2
您的维度是由代理键在它所应用的任何事实中表示的,因此它应该是在事实2中出现的代理键。
我没有发现你的问题的重点,最初,你提到的第二个事实是不同的。这样做的维度方法是在更高的层次上有第二个维度,它只包含适合该颗粒的列。这两个维度都是"一致的",即字段的标题和内容对齐。