18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 主动规则(数据库)

主动规则(数据库)

时间:2022-12-08 22:30:01 | 来源:信息时代

时间:2022-12-08 22:30:01 来源:信息时代

    主动规则 : 由事件(event)、条件(condition)和动作(action)三部分组成的ECA规则。用来表示数据库的主动行为特征。通常,主动规则集中管理,以“规则库”嵌入在数据库系统中,通过执行规则以提供数据库的主动服务功能。规则可表示为如下形式:
WHEN<事件>IF<条件>THEN<动作>
规则的语义是: 一旦<事件>发生规则被激活,系统检查规则的条件是否成立,如果条件被满足,则执行规则规定的动作。
ECA规则中,事件可以是原子事件或复合事件。条件用来判定规则的动作是否能执行。常用的条件有:
(1)数据库谓词或限定谓词:在某个数据库上定义的谓词,如SQL语言中的条件表达式,也可以是对条件的限定。
(2)数据库查询: 查询条件可以用查询语句说明,规定查询结果为空或者非空时条件为真。
(3)应用过程: 由程序语言所编写过程的调用,其返回值为真或假。
ECA规则中,可执行的动作有:
(1)数据更新或查询操作: 如SQL中数据的插入、删除、修改或查询等操作,OODB中对象的创建、删除,或者是修改对象的方法,对象查询或者是查询对象方法的调用等。
(2)其他数据库命令:如数据定义操作、事务控制操作(如事务的提交、回退)、权限的授予或回收等。
(3)应用程序: 在ECA规则模型中,事件、条件和动作间可以有不同的耦合模式,提供规则更多的语义信息。加入耦合模式的ECA规则的一般形式为:
RULE<规则名>[<参数表>]
WHEN<事件表达式>
IF<条件表达式><E-C耦合模式>
THEN<动作><C-A耦合模式>
END-RULE
规则的耦合模式说明规则的事件、条件和动作间的执行关系。耦合模式有两类: 事件与条件间的耦合(E-C耦合); 条件与动作间的耦合(C-A耦合)。E-C耦合模式说明当触发事件发生后何时评估条件,而C-A耦合模式说明当条件满足时何时执行动作。大多数主动数据库系统支持的耦合模式有立即型、延迟型和分离型三种。
(1)立即型(immediate): 指触发事件发生(或条件评估)后,立即进行条件评估(或执行动作)。如对数据库操作时必须立即执行安全性检查。
(2)延迟型(deferred): 指事件发生(或条件评估)后条件的评估(或动作的执行)要延迟到事务提交前进行。如对完整性约束的检查,它允许事务中暂时存在数据的不一致。
(3)分离型(detached): 指条件的评估(或动作的执行)是在与发生事件(或条件评估)不同的事务中进行。分离型耦合模式通常与数据库外部的行为控制有关,但有时也用于监控数据库内部的操作,如对于某些敏感信息的访问,即使访问事务夭折也需要记录对这些数据的访问信息。
规则执行时首先按照所说明的E-C耦合模式讲行条件的评估,如果条件被满足,则根据C-A耦合模式执行所规定的动作。规则的触发和执行是一个复杂的过程,需要一定的处理策略。规则执行的语义及处理策略参见执行模型。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭