我是Dimensional Data Modeling的新手。我有一个维度和两个事实表:
使用代理键将一个事实表(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的桥接维度并将该维度中的SK用于fact2?像这样的东西
DIMENSION 2
SurogateKey | NaturalKey2
1 | a1
2 | a2
答案 0 :(得分:0)
您的维度在其适用的任何事实中由代理键表示,因此它应该是事实2中出现的代理键。
我原本没有发现你问题的重点,你提到的第二个事实是不同的。这样做的维度方法是在该较高级别具有第二维度,其仅具有适合于该粒子的列。两个维度都符合“#39;从某种意义上说,字段的标题和内容是一致的。