Reasoning About Equations and Functional Dependencies on Complex Objects

Virtually all semantic or object-oriented data models assume that objects have an identity separate from any of their parts, and allow users to define complex object types in which part values may be any other objects. This often results in a choice of query language in which a user can express navigating from one object to another by following a property value path. We consider a constraint language in which one may express equations and functional dependencies over complex object types. The language is novel in the sense that component attributes of individual constraints may correspond to property paths. The kind of equations we consider are also important, because they are a natural abstraction of the class of conjunctive queries for query languages that support property value navigation. In our introductory comments, we give an example of such a query and outline two applications of the constraint theory to problems relating to a choice of access plan for the query. We present a sound and complete axiomatization of the constraint language for the case in which interpretations are permitted to be infinite, where interpretations themselves correspond to a form of directed labeled graph. Although the implication problem for our form of equational constraint alone over arbitrary schema is undecidable, we present decision procedures for the implication problem for both kinds of constraints when the problem schema satisfies a stratification condition, and when all input functional dependencies are keys. >

[1]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[2]  Z. Meral Özsoyoglu,et al.  Design and Implementation of a Semantic Query Optimizer , 1989, IEEE Trans. Knowl. Data Eng..

[3]  Alberto O. Mendelzon Functional Dependencies in Logic Programs , 1985, VLDB.

[4]  Serge Abiteboul,et al.  Object identity as a query language primitive , 1989, SIGMOD '89.

[5]  Alfred V. Aho,et al.  Efficient optimization of a class of relational expressions , 1978, SIGMOD Conference.

[6]  Sophie Cluet,et al.  RELOOP, an Algebra Based Query Language for an Object-Oriented Database System , 1990, Data Knowl. Eng..

[7]  John Grant,et al.  Foundations of Semantic Query Optimization for Deductive Databases , 1988, Foundations of Deductive Databases and Logic Programming..

[8]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[9]  John Grant,et al.  Logic-based approach to semantic query optimization , 1990, TODS.

[10]  J. D. Uiiman Principles of database systems , 1982 .

[11]  Alberto O. Mendelzon,et al.  Functional dependencies in Horn clause queries , 1991, TODS.

[12]  Jeffrey D. Ullman,et al.  Principles of database and knowledge-base systems, Vol. I , 1988 .

[13]  Paul Young,et al.  An introduction to the general theory of algorithms , 1978 .

[14]  H. Lipkin Where is the ?c? , 1978 .

[15]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[16]  Jon Louis Bentley Programming pearls: Aha algorithms , 1983, CACM.

[17]  G. Huet,et al.  Equations and rewrite rules: a survey , 1980 .

[18]  Grant E. Weddell,et al.  A Theory of Functional Dependencies for Object-Oriented Data Models , 1989, DOOD.

[19]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

[20]  Elisa Bertino,et al.  An indexing techniques for object-oriented databases , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[21]  Alexander Borgida,et al.  Features Of Languages for the Development of Information Systems at the conceptual Level , 1985, IEEE Software.

[22]  David Maier,et al.  Indexing in an Object-Oriented DBMS , 1986, OODBS.

[23]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[24]  Umeshwar Dayal,et al.  Queries and Views in an Object-Oriented Data Model , 1989, DBPL.

[25]  Catriel Beeri,et al.  A Formal Approach to Object-Oriented Databases , 1990, Data Knowl. Eng..

[26]  G. Birkhoff,et al.  On the Structure of Abstract Algebras , 1935 .

[27]  Saumya K. Debray,et al.  Functional computations in logic programs , 1989, TOPL.

[28]  Elisa Bertino,et al.  Indexing Techniques for Queries on Nested Objects , 1989, IEEE Trans. Knowl. Data Eng..

[29]  Grant E. Weddell,et al.  Selection of Indexes to Memory-Resident Entities for Semantic Data Models , 1989, IEEE Trans. Knowl. Data Eng..

[30]  David Maier,et al.  The Theory of Relational Databases , 1983 .

[31]  Letizia Tanca,et al.  What you Always Wanted to Know About Datalog (And Never Dared to Ask) , 1989, IEEE Trans. Knowl. Data Eng..

[32]  Catriel Beeri,et al.  Formal Models for Object Oriented Databases , 1989, DOOD.

[33]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1980, TODS.

[34]  Serge Abiteboul,et al.  COL: A Logic-Based Language for Complex Objects , 1988, EDBT.

[35]  Grant E. Weddell,et al.  Reasoning about functional dependencies generalized for semantic data models , 1992, TODS.

[36]  Object-Oriented Data,et al.  An Indexing Technique for Object-Oriented Databases , 1991 .

[37]  Harry B. Hunt,et al.  Processing Conjunctive Predicates and Queries , 1980, VLDB.

[38]  Carlo Zaniolo,et al.  The database language GEM , 1983, SIGMOD '83.

[39]  Jon Louis Bentley,et al.  Programming pearls , 1987, CACM.