维度表中多个渐变属性的拆分问题

0
大家好!最近在一个表的设计中遇到点问题,想请教一下大家。
维度表D有10个属性是固定的,有2个属性a1,a2是渐变的,现在想保存a1和a2的所有的变化历史,但是不想重复D中的10个固定的属性(原因是D里面数据本来就多,用了渐变之后会更多,如果重复固定的属性会空间浪费)。现在的做法是将属性a1和a2分别拿出来单独建表,然后通过一个关系表(人造的无事实的事实表)关联起来。结果如下图1

图1.png


另外还有一种想法。在a1 a2的表中引用一列表D的代理键作为外间,不使用关系表,如图2

图2.png


但是这样的话,维度表D变成模型的中心了(是我理解错了么)。所以想请教一下,第一种方式和第二种方式那个比较好,期待大家能提出建议 : )
注:代理键作为主键

已邀请:
0

lambert 2014-04-01 回答

我觉得第一种比较合理,如果可以的话,可以把A1和A2这两张可变化维,直接关联到事实表。
0

鹭起欣河 2014-04-01 回答

首先你得看a1和a2两个渐变为属性的变化量多吗?!如果不多,我建议你可以将列出a1和a2所有的组合,例如a1:2;a2:3,即为2*3这样合并一张表,加上代理键给维度表D。如果很多的话,建议A1和A2弄成两张表。

要回复问题请先登录注册