缓慢变化维解决方法

版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/IT_hejinrong/article/details/80743929

   维度建模的数据仓库中,有一个概念叫Slowly Changing Dimensions,中文一般翻译成“缓慢变化维”,经常被简写为SCD缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。

缓慢变化维的几种常见解决方法:

第一种方法,直接在原来维度的基础上进行更新,不会产生新的记录:

1) 更新前:

    emp_rid(代理键)  emp_id(自然键)   emp_name  position

    101212            12345           Jack      Developer

    更新后:

    emp_rid(代理键)  emp_id(自然键)   emp_name  position

    101212           12345             Jack     Manager

第二种方法,不修改原有的数据,重新产生一条新的记录,这样就可以追溯所有的历史记录:

1) 更新前:

    emp_rid(代理键)  emp_id(自然键)   emp_name  position   start_date   end_date

    101212           12345             Jack     Developer  2010-2-5    2012-6-12

    更新后:

    emp_rid(代理键)  emp_id(自然键)   emp_name  position   start_date   end_date

    201245           12345             Jack      Manager   2012-6-12  

第三种方法,直接在原来维度的基础上进行更新,不会产生新的记录但是只会记录上一次的历史记录:

1) 更新前:

    emp_rid(代理键)  emp_id(自然键)   emp_name  position   old_position   

    101212           12345            Jack      Developer  null

    更新后:

    emp_rid(代理键)  emp_id(自然键)   emp_name  position   old_position

    101212           12345            Jack      Manager     Developer

   

猜你喜欢

转载自blog.csdn.net/IT_hejinrong/article/details/80743929