原始资料:
数据仓库保留了大量的历史数据,这是区别于其他数据库的显著特点之一。历史数据能够使数据仓库重现任意时点的现场,对时间维度上的数据分析工作提供了重要的手段。
保留历史数据最常见的办法就是使用历史拉链表。历史拉链表仅当生产数据发生变更时,才相应地发生变更,既能有效保留历史数据的变动信息,又不浪费存储空间。
以数据仓库中每日增量更新的订单历史拉链表(假设表名为EVT_ORDER_HIST)为例,假设数据仓库在2010年01月02日加载一条新受理的订单记录:
订单编号
记录起效时间
记录失效时间
订单状态
其他字段
20100102
2010-01-02
3000-12-31
新建
。。。
(注:记录失效时间3000-12-31表示该记录的有效期为无限远)
2010年01月03日,该订单竣工,数据仓库将修改原来记录的失效时间,并插入一条新的记录,结果如下:
订单编号
记录起效时间
历史失效时间
订单状态
其他字段
20100102
2010-01-02
2010-01-03
新建
。。。
20100102
2010-01-03
3000-12-31
竣工
。。。
利用以下语句,可以重现指定时点的订单数据现场,例如取订单号为20100102,在2010年1月2日的现场:
SELECT