载入中…
公告栏:
当前位置: 中国商业智能网 >> 专家 >> 齐红胤 >> 文章正文
浅析多值维度
作者:佚名    来源:本站原创    点击数:    时间:2007-4-11
【摘要】 在维度建模的 数据仓库中,有一种维度表叫multivalue dimension,中文一般翻译为“多值维度”。 多值维度有两种情况,第一种情况是指维度表中的某个属性字段同时有多个值。举例来说,一个帐户维度表中,帐户持有人姓名,可能会有多个顾客。这样,一个帐户对应多个顾客姓名,一……

在维度建模的 数据仓库中,有一种维度表叫multivalue dimension,中文一般翻译为“多值维度”。

多值维度有两种情况,第一种情况是指维度表中的某个属性字段同时有多个值。举例来说,一个帐户维度表中,帐户持有人姓名,可能会有多个顾客。这样,一个帐户对应多个顾客姓名,一个顾客也可以有多个帐户,它们之间是多对多的关系。正因为一个帐户可能会有多个对应的顾客,所以不能直接将顾客ID放入帐户维度表中。而帐户维度表中的这种情况就叫做多值维度。

多值维度的第二种情况是事实表在某个维度表中有多条对应记录。举例来说,对于一个健康护理单分列项事实表来说,它的粒度是一个健康护理单,但是该护理单却有可能有多次诊断,即该事实表与诊断维度的是一对多的关系。这个与事实表粒度不匹配的诊断维度也称之为多值维度。

处理多值维度最好的办法是降低事实表的粒度。如第二种情况中,将健康护理单分列项事实表的粒度降低到具体的诊断粒度上,这样就避免了多值维度的出现。这种处理方式也是维度建模的一个原则,即事实表应该建立在最细粒度上。这样的处理,需要对事实表的事实进行分摊。

但是有些时候,事实表的粒度是不能降低的,多值维度的出现是无法避免的。如第一种情况中,事实表是月帐户快照事实表,这张事实表与顾客维度没有直接的关系,不能将数据粒度进行细分,即使细分的话帐户余额也很难分摊。这时,可以采用桥接表技术进行处理。在帐户维度表和顾客维度表之间建立个帐户-顾客桥接表。这个桥接表可以解决掉帐户维度和顾客维度之间的多对多关系,也解决掉的帐户维度表的多值维度问题。

总之,多值维度是应该尽量避免的,它给数据处理带来了很大的麻烦。如果多值维度不能避免的话,应该建立桥接表来进行处理。

 
责任编辑:朱莉   
 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    ChinaBI版权、投稿与免责申明:
    1)凡本网署名文字、图片和音视频稿件,版权均属中国商业智能网所有。任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本网协议授权的媒体、网站,在下载使用时必须注明稿件来源:中国商业智能网,违者本网将依法追究责任。
    2)本网注明“本站来源处不写本站原创”的文章均为转载稿,本网转载出于传递更多信息之目的。如本网转载稿涉及版权等问题,请作者速来电或来函与本网联系。
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    最新热点
    最新推荐
    网站合作、内容监督、商务咨询、投诉建议 电话:0512-62861389  邮箱:chianbi@126.com
    Copyright 2004-2014 中国商业智能网版权所有   |    苏 ICP 备 13004727 号