可以说,这样的基于触发器的变化数据捕获方法并不是一个很好的选择。首先这需要对源系统有较大的权限;其次,触发器会给源系统的性能带来很大的影响。所以除非是没有别的选择,否则不建议采用这种方法。
而对于这样的情况,我们在建立操作型数据库系统时完全可以避免。下面是对操作型数据库系统建立者的几点建议:1)操作型系统的主键不要建立成智能型的,至少不要建立成会变化的。2)操作型系统的表中需要加入操作人和操作时间字段,或者直接加入时间戳。3)操作型系统中操作型数据最好不要直接在原值上修改,可以采用“冲红”的方式加入新的记录。这样后续建立数据仓库时就不需要考虑事实表数据的变化问题。