oracle 拉链表如何分区,关于数据仓库历史拉链表新更新方法的说明

原始资料:

数据仓库保留了大量的历史数据,这是区别于其他数据库的显著特点之一。历史数据能够使数据仓库重现任意时点的现场,对时间维度上的数据分析工作提供了重要的手段。

保留历史数据最常见的办法就是使用历史拉链表。历史拉链表仅当生产数据发生变更时,才相应地发生变更,既能有效保留历史数据的变动信息,又不浪费存储空间。

以数据仓库中每日增量更新的订单历史拉链表(假设表名为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

你可能感兴趣的:(oracle,拉链表如何分区)