KDT#54 再谈缓慢变化维(二)
如果要处理的维度表很大,有一百个以上的维度属性,按上述方法进行当前信息和历史信息保存的话就会变得很麻烦。
在这种情况下,我们可以考虑将维度表的自然键添加到事实表中作为外键。这样,事实表上就会有两种相似但是完全不同的方式和维度表进行关联。第一个是使用代理键与维度表进行关联,可以使用TYPE 2的技术对维度属性的历史信息进行分析,即使用事实表加载时对应的维度属性对事实数据进行分析。第二个是使用自然键与维度表进行关联,可以对使用TYPE 1策略的属性进行分析。使用这种连接方式时,报表程序的列标签要标识“当前”类似的字样,以免用户误会。这个维度属性用当前信息来汇总和过滤事实数据,而不管事实数据是何时加载的。
在上述所有的描述中,由于查询中选择的维度表中属性不同,得到的查询结果也会有较大的不同。不同的查询产成不同的结果是正常的,而最好能让用户体会到其中的差别。