对于上次问的两个问题,原问题:http://www.cnitblog.com/liuhongtao/archive/2006/12/05/20075.html
经过对MSTR的工程的回答进行验证,发现,对于MSTR中的表,在MSTR的Desktop中是不能进行编辑,对表的操作可以建立“创建表别名”,这个在以后继续探索。
经过ELT过程进行表的复制,虽然已经解决了问题,但是这种解决问题的方法比较局限,通过对数据仓库特点的分析,目前又有一种方法能够解决这种问题。
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
所以经过讨论最终决定,不采用复制表的模式,而是采用数据字段冗余的方法来解决此问题,就是将Dim_A的表结构调整为:
A_ID
|
D_1_NAME
|
D_2_NAME
|
1
|
A
|
C
|
2
|
B
|
E
|
3
|
D
|
F
|
咋看上去好像没有什么变化,但是当D的属性有多个时就能够很清晰的表示出这种结构的特点。
此方法有一个很大的优点,就是
当数据量非常大时,数据库检索能够比第一种很大程度上节省效率。
如果还有其他的解决方法,可以一起讨论。