我想在Oracle中为PeopleSoft Time入门应用程序设计一个基于规则的数据库引擎。我该怎么做?
答案 0 :(得分:5)
基于规则的系统需要几个关键组件: - 一组定义为数据的规则 - 一组可以操作的统一输入 - 规则执行者 - 主管层级
从广义上讲,规则引擎是管理复杂性的一种练习。如果您不管理它,您可以轻松地结束彼此级联的规则,从而导致循环循环,竞争条件和其他问题。这些意外构建起来非常容易:考虑一个电子邮件程序,如果它包含魔术单词'beta',则告诉你将邮件从文件夹A移动到B,如果它包含单词'alpha',则从B移动到A.包含两者的电子邮件将被往返传送,直到出现问题,从而阻止处理所有其他规则。
我假设你想要了解理论并自己构建引擎。 alphazero raises the important suggestion使用现有的规则引擎库,这是明智的 - 这是受益于学术理论的主题。
答案 1 :(得分:1)
我自己没有尝试过,但一个明显的方法是在Oracle数据库中使用Java程序,并在该代码中使用Java规则引擎库。
尝试:
http://www.oracle.com/technology/tech/java/jsp/index.html
和
或
-
基本上,您需要捕获数据事件(插入,更新,删除),将它们映射到规则空间的事件,并应用规则。