数据仓库中的缓慢变化维

缓慢变化维

定义:维度表里面的数据并非是始终不变的,总会随着时间发生变化;
比如我们有一张我们公司的商品类别维度表,记录了商品类别的一些基本信息,那么随着时间的变化商品类别可能会在发生改变,假如猪肉之前属于肉禽类别,现将猪肉更改为属于零食类别针对这种变化,业务系统会直接将业务数据库中数据抽取过来直接覆盖,而不会考虑历史变化,不过在数据仓库中由于有时我们需要进行历史变化分析,或者防止商品品类统计数据记录错误,所以需要对这种变化进行相应的处理。

处理办法

第一种方法,直接在将原来维度覆盖,无法追溯历史变化:

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  9999-99-99

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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值