Issue No. 07 - July (1988 vol. 14)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.42733
<p>The rule subsystem that is being implemented in the POSTGRES DBMS is explained. It is novel in several ways. First, it gives users the capability of defining rules as well as data. Moreover, depending on the scope of each rule defined, optimization is handled differently. This leads to good performance both when there are many rules each of small scope and when there are a few rules each of large scope. In addition, rules provide either a forward-chaining or a backward-chaining control flow, and the system chooses the control mechanism that optimizes performance whenever possible. Priority rules can be defined, allowing a user to specify rule systems that have conflicts. This use of exceptions seems necessary in many applications. Database services such as views, protection, integrity constraints, and referential integrity can be obtained simply by applying the rules system in the appropriate way. Consequently, no special-purpose code need be included in POSTGRES to handle these tasks.</p>
priority rules; relational databases; inferencing; knowledge engineering; expert systems; query languages; POSTGRES rule manager; rule subsystem; DBMS; optimization; forward-chaining; backward-chaining; exceptions; integrity constraints; referential integrity; expert systems; knowledge engineering; relational databases
S. Potamianos, M. Stonebraker and E. Hanson, "The POSTGRES Rule Manager," in IEEE Transactions on Software Engineering, vol. 14, no. , pp. 897-907, 1988.