Integrating Relational Databases and Constraint Languages

Abstract A new structure of application programs is suggested, which separates the algorithmic parts from factual information (data and rules). The latter is to be stored in a repository that can be shared among multiple applications. It is argued that rules stating pure relations are better suited for sharing among different applications than procedural or functional rules because these latter rules always determine inputs and outputs. To support such a repository, an extended relational algebra is explored. This algebra serves as the semantic model for a proposed rules language and is the basis for a seamless integration of data and rules. The paper focuses on equational rules. A number of potentially useful algebraic laws are stated. Examples will demonstrate the use of these algebraic laws in query evaluation and optimization. The paper elaborates the Rules/Database system from a programming language point of view. There are two language aspects: the rules language and the application programming interface. The concepts of data types and modules are incorporated into the rules language. The implementation is envisioned as a subsystem with an application programming interface. The interface is outlined. The relation of this approach to PROLOG and expert systems technology (production rules) is discussed.

[1]  Rudolf Bayer,et al.  Database Technology for Expert Systems , 1985, Wissensbasierte Systeme.

[2]  HANS P. ZIMA A Constraint Language and Its Interpreter , 1986, Comput. Lang..

[3]  Michele Missikoff,et al.  Towards a Unified Approach for Expert and Database Systems , 1984, Expert Database Workshop.

[4]  Stanley Y. W. Su,et al.  A Transaction Oriented Mechanism to Control Processing in a Knowledge Base Management System , 1988, Expert Database Conf..

[5]  Peter van Emde Boas,et al.  A Semantical Model for Integration and Modularization of Rules , 1996, MFCS.

[6]  K. L. Hiebert An Evaluation of Mathematical Software That Solves Systems of Nonlinear Equations , 1982, TOMS.

[7]  Michael Stonebraker,et al.  An Analysis of Rule Indexing Implementations in Data Base Systems , 1986, Expert Database Conf..

[8]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[9]  Chin-Liang Chang On Evaluation of Queries Containing Derived Relations in a Relational Data Base , 1979, Advances in Data Base Theory.

[10]  Michael R. Hansen,et al.  Algebraic Optimization Of Recursive Database Queries , 1988 .

[11]  Lawrence J. Henschen,et al.  On compiling queries in recursive first-order databases , 1984, JACM.

[12]  Jeffrey D. Ullman,et al.  Implementation of logical query languages for databases , 1985, TODS.

[13]  Larry Kerschberg,et al.  Constraint Management in Expert Database Systems , 1984, Expert Database Workshop.

[14]  Larry Kerschberg,et al.  Expert Database Systems , 1987 .

[15]  Matthew Morgenstern,et al.  The Role of Constraints in Databases, Expert Systems, and Knowledge Representation , 1984, Expert Database Workshop.

[16]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[17]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[18]  José Meseguer,et al.  PROGRAMMING WITH PARAMETERIZED ABSTRACT OBJECTS IN OBJ. , 1983 .

[19]  David Harel,et al.  Horn Clauses Queries and Generalizations , 1985, J. Log. Program..

[20]  Jeffrey D. Ullman,et al.  Principles Of Database And Knowledge-Base Systems , 1979 .

[21]  Stanley Y. W. Su,et al.  Incorporating Knowledge Rules in a Semantic Data Model: An Approach to Integrated Knowledge Management , 1985, CAIA.

[22]  Georges Gardarin,et al.  Evaluation of database recursive logic programs as recurrent function series , 1986, SIGMOD '86.

[23]  Elaine Kant,et al.  Programming expert systems in OPS5 , 1985 .

[24]  Joseph Y. Halpern,et al.  Denotational semantics and rewrite rules for FP , 1985, POPL.

[25]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

[26]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[27]  Zohar Manna,et al.  A Deductive Approach to Program Synthesis , 1979, TOPL.

[28]  Michael Kifer,et al.  Filtering Data Flow in Deductive Databases , 1986, ICDT.

[29]  Alan Bundy,et al.  The Computer Modelling of Mathematical Reasoning , 1983 .

[30]  Tomasz Imielinski,et al.  The Relational Model of Data and Cylindric Algebras , 1984, J. Comput. Syst. Sci..

[31]  Drew McDermott,et al.  Knowledge Inversion , 1984, AAAI.

[32]  Donald D. Chamberlin,et al.  SEQUEL 2: A Unified Approach to Data Definition, Manipulation, and Control , 1976, IBM J. Res. Dev..

[33]  Matthias Jarke,et al.  On Integrating Logic Programming and Databases , 1984, Expert Database Workshop.

[34]  Jack Minker,et al.  Logic and Databases: A Deductive Approach , 1984, CSUR.

[35]  Alfred V. Aho,et al.  Universality of data retrieval languages , 1979, POPL.

[36]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[37]  Peter van Emde Boas,et al.  Storing and Evaluating Horn-Clause Rules in a Relational Database , 1986, IBM J. Res. Dev..

[38]  Alexander P. Morgan,et al.  A Method for Computing All Solutions to Systems of Polynomials Equations , 1983, TOMS.

[39]  Tore Risch,et al.  Representation of factual information by equations and their evaluation , 1982, ICSE '82.

[40]  Zohar Manna,et al.  TABLOG: The deductive-tableau programming language , 1984, LFP '84.

[41]  Peter Lucas On the Structure of Application Programs , 1979, Abstract Software Specifications.