将一个维度连接到具有不同粒度的多个事实表

时间:2016-09-30 00:12:49

标签: data-warehouse dimensional-modeling star-schema

我是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 

1 个答案:

答案 0 :(得分:0)

您的维度在其适用的任何事实中由代理键表示,因此它应该是事实2中出现的代理键。

我原本没有发现你问题的重点,你提到的第二个事实是不同的。这样做的维度方法是在该较高级别具有第二维度,其仅具有适合于该粒子的列。两个维度都符合“#39;从某种意义上说,字段的标题和内容是一致的。

相关问题