vanceinfo_拉链算法_笔记2

(一)概念
拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。

(二)算法
1采集当日全量数据到ND(NewDay)表;
2可从历史表中取出昨日全量数据存储到OD(OldDay)表;
3(ND-OD)就是当日新增和变化的数据,也就是当天的增量,用W_I表示;
4(OD-ND)为状态到此结束需要封链的数据,用W_U表示;

5将W_I表的内容全部插入到历史表中,这些是新增记录,start_date为当天,而end_date为max值;
6对历史表进行W_U部份的更新操作,start_date保持不变,而end_date改为当天,也就是关链操作;

拉链表 实际上是一个数据的有效 更新处理方法。 在定义了对于该方法支持的几个字段后可以对数据进行处理。
讲解一个加了几个字段的的一种处理方法

 

取数据时候对日期进行条件选择即可如:取20080101日的数据条件部分为
(where start-date<='20080101' and end_date>20070801 )
即可
全部SQL为:
(select * from table(his) where start-date<='20080101' andend_date>20070801 )

 

表mxt 新增了一个列time,那么这个新增的列在oracle 中会被放在所有

列的后面,现在想把这个time列放在第2 个位置

 

create tablecopy_mxt as select id,time,name from mxt;--按指定顺序copy表到copy_mxt

drop table mxt;--删除源表mxt

rename copy_mxt tomxt;--copy的表命名为目标表

 

一条insert 操作,插入到多个表中,每个表插入多条记录:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值