The POSTGRES Rule Manager

  • Authors:
  • Michael Stonebraker;Eric N. Hanson;Spyros Potamianos

  • Affiliations:
  • Univ. of California, Berkeley;Air Force Wright Aeronautical Laboratories, Wright-Patterson AFB, OH;Univ. of Berkeley, Berkeley, CA

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.