This Article 
 Bibliographic References 
 Add to: 
The POSTGRES Rule Manager
July 1988 (vol. 14 no. 7)
pp. 897-907

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.

[1] R. Abarbanel and M. Williams, "A relational representation for knowledge bases," inProc. 1st Int. Conf. Expert Database Systems, Charleston, SC, Apr. 1986.
[2] F. Bancilhon and R. Ramakrishnan, "An amateur's introduction to recursive query processing strategies," inProc. 1986 ACM-SIGMOD Conf. Management of Data(Washington, DC), May 1986, pp. 16-52.
[3] J. Blakeley, P. Larson, and F. Tompa, "Efficiently updating materialized views," inProc. ACM-SIGMOD Int. Conf Management of Data, Washington, May 28-30, 1986.
[4] A. Borgida, "Language features for flexible handling of exceptions in information systems,"ACM Trans. Database Syst., Dec. 1985.
[5] O. P. Buneman and E. K. Clemons, "Efficiently monitoring relational databases,"Trans. Database Syst., vol. 4, no. 3, pp. 368-382, 1979.
[6] O. P. Buneman, R. E. Fraenkel, and R. Nikhil, "An implementation technique for database query languages,"Trans. Database Syst., vol. 7, no. 2, 1982.
[7] S. Ceriet al., "Interfacing relational databases and Prolog efficiently," inProc. 1st Int. Conf. Expert Database Systems, Charleston, SC, Apr. 1986.
[8] W. F. Clocksin and C. S. Mellish,Programming in Prolog. New York: Springer-Verlag, 1984.
[9] C. Date, "Referential integrity," inProc. Seventh Int. VLDB Conf., Cannes, France, Sept. 1981.
[10] K. Eswaren, "Specification, implementation and interactions of a rule subsystem in an integrated database system," IBM Research, San Jose, CA, Res. Rep. RJ1820, Aug. 1976.
[11] C. Forgy, "The OPS5 user's manual," Carnegie Mellon Univ., Tech. Rep., 1981.
[12] J. Gray, "Notes on data base operating systems," IBM Research, San Jose, CA, RJ 2254, Aug. 1978.
[13] G. Heldet al., "INGRES: A relational data base system," inProc. 1975 Nat. Comput. Conf., Anaheim, CA, June 1975.
[14] C. Hong, "An analysis of rule locking granularities," Master's thesis, Comput. Sci. Division, Univ. California, Berkeley, CA, 1987.
[15] KEE Software Development System User's Manual, IntelliCorp, Mountain View, CA, 1985.
[16] Y. Ionnidiset al., "Enhancing INGRES with deductive power," inProc. 1st Int. Workshop Expert Data Base Systems, Kiowah, SC, Oct. 1984.
[17] R. Kooi and D. Frankfurth, "Query optimization in INGRES,"Database Eng., Sept. 1982.
[18] R. Kung, E. Hanson, Y. Ioannidis, T. Sellis, L. Shapiro, and M. Stonebraker, "Heuristic search in data base systems," inProc. 1st Int. Workshop Expert Data Base Systems, Kiawah Island, SC, Oct. 1984.
[19] INGRES Reference Manual, Version 4.0, Relational Technology, Inc., Alameda, CA, Nov. 1985.
[20] L. Rowe and M. Stonebraker, "The POSTGRES data model," inProc. 1987 VLDB Conf., Brighton, England, Sept. 1987.
[21] M. Stonebraker, "Implementation of integrity constraints and views by query modification," inProc. 1975 ACM-SIGMOD Int. Conf. Management of Data, San Jose, CA, June 1975.
[22] M. Stonebrakeret al., "A rules system for a relational data base management system," inProc. 2nd Int. Conf. Database, Jerusalem, Israel, June 1982.
[23] M. Stonebraker and L. Rowe, "The design of POSTGRES," inProc. 1986 ACM-SIGMOD Conf. Management of Data, Washington, DC, May 1986.
[24] M. Stonebrakeret al., "An analysis of rule indexing implementations in data base systems," inProc. 1st Int. Conf. Expert Data Base Systems, Charleston, SC, Apr. 1986.
[25] M. Stonebraker, "Inclusion of new types in relational data base systems," inProc. IEEE Data Eng. Conf., Los Angeles, CA, Feb. 1986.
[26] M. Stonebraker, "The POSTGRES storage system," inProc. 1987 VLDB Conf., Brighton, England, Sept. 1987.
[27] M. Stonebrakeret al., "Extending a relational data base system with procedures,"ACM Trans. Database Syst., Sept. 1987.
[28] J. D. Ullman, "Implementation of logical query languages for databases,"ACM TODS, vol. 10, no. 3, pp. 289-321, 1985.

Index Terms:
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
M. Stonebraker, E.N. Hanson, S. Potamianos, "The POSTGRES Rule Manager," IEEE Transactions on Software Engineering, vol. 14, no. 7, pp. 897-907, July 1988, doi:10.1109/32.42733
Usage of this product signifies your acceptance of the Terms of Use.