拉练表的设计原理,他的优势?讲的越详细越好

解决方案 »

  1.   


    没有听说过这样的专用名词,是存拉链的表?
    还是值得 linklist table?
      

  2.   

    就是比如一条业务进来,有个begin_date,end_date字段 ,最后的一个end_date 为9999-12-31
      

  3.   

    拉链表又叫历史拉链表,它是在一张表上进行的操作,操作过程如下:
    先讲讲它的作用:历史拉链表是记录在某一段时间内,你想要关心的数据的值,当这个数据变化的时候,就向历史拉链表里面添加一天数据,记录变化。
    再讲讲它的实现:历史拉链表里面都有两个字段,start_date,end_date,当你关心的数据变化时最后一条记录的start_date是某个时间值,而end_date为null,因为它到现在为止还没有变化,当数据发生变化时,触发器将end_date的值改为当前的时间值,同时添加一天新纪录,这条新纪录的start_date与上条记录的end_date值相同,同时新纪录的end_date值为null,因为到现在为止还不知道改变的数据能保持多久不改变。就是这样的了,希望我的讲解够清楚了兄弟。