论文部分内容阅读
主动数据库扩展了传统数据库的被动功能,引用形如“事件-条件-动作”的主动规则(称为ECA规则)来表达主动行为。事件部分指定事件序列;条件部分提供数据库查询;动作部分通常由一个或多个修改或查询构成。定义良好的规则集必须保证规则之间的相互触发不会无限循环下去,即规则是可终止的。终止性反映了主动数据库系统良好的行为特性。对主动规则终止性分析已有静态和动态方法,其中静态方法使用较多,静态方法是在编译时间内检测主动规则执行的潜在非终止性。静态方法中又包括图方法和代数分析方法,其中基于图的规则终止性分析主要包括触发图、激活图和惰化图以及基于触发图和激活图的规则缩减算法。本文分别介绍了这几种方法,并给出相应的算法、定理及其证明。针对已有图分析方法的局限性,本文介绍一种主动数据库规则终止性分析的一种新方法,此方法借助于演化图分析事务与触发器之间的关系。为了研究规则终止性和模拟规则执行又考虑到触发器信息和事务更新。提出算法来检验规则终止性。采用演化图来模拟规则静态处理过程并考虑到激活图和惰化图,演化图比传统的分析图提供了更细化的分析方法。给出相应算法并证明其正确性,并证明该方法对各种规则语言都是实用的因此可用于几种数据库系统中。最后本文提出一种分析主动规则集的终止性的模型:在演绎数据库领域中可判定这个特性然后将其扩展传递到主动ECA规则中,因此给出了主动规则终止性判定的充分条件。因为一套主动规则集的计算依赖于特定系统的特征,所以终止性分析必须考虑主动规则的语义。我们将一套规则从已存在系统的任意形式转换成内部形式;然后,我们将主动规则译成逻辑语句,考虑到系统的执行语义,转换为演绎规则中已知终止性的主动过程。