The power of languages for the manipulation of complex values

Various models and languages for describing and manipulating hierarchically structured data have been proposed. Algebraic, calculus-based, and logic-programming oriented languages have all been considered. This article presents a general model for complex values (i.e., values with hierarchical structures), and languages for it based on the three paradigms. The algebraic language generalizes those presented in the literature; it is shown to be related to the functional, style of programming advocated by Backus (1978). The notion of domain independence (from relational databases) is defined, and syntactic restrictions (referred to as safety conditions) on calculus queries are formulated to guarantee domain independence. The main results are: The domain-independent calculus, the safe calculus, the algebra, and the logic-programming oriented language have equivalent expressive power. In particular, recursive queries, such as the transitive closure, can be expressed in each of the languages. For this result, the algebra needs the powerset operation. A more restricted version of safety is presented, such that the restricted safe calculus is equivalent to the algebra without the powerset. The results are extended to the case where arbitrary functions and predicates are used in the languages.

[1]  David Harel,et al.  Computable Queries for Relational Data Bases , 1980, J. Comput. Syst. Sci..

[2]  Shamim A. Naqvi A Logic for Negation in Database Systems , 1986, XP7.52 Workshop on Database Theory.

[3]  Jeffrey D. Ullman,et al.  Principles of Database Systems , 1980 .

[4]  Limsoon Wong,et al.  Naturally Embedded Query Languages , 1992, ICDT.

[5]  Marc Gyssens,et al.  The powerset algebra as a result of adding programming constructs to the nested relational algebra , 1988, SIGMOD '88.

[6]  Limsoon Wong,et al.  Normal forms and conservative properties for query languages over collection types , 1993, PODS.

[7]  Robert A. Di Paola The Recursive Unsolvability of the Decision Problem for the Class of Definite Formulas , 1969, JACM.

[8]  Dan Suciu,et al.  Comprehension syntax , 1994, SGMD.

[9]  Barry E. Jacobs,et al.  On Database Logic , 1982, JACM.

[10]  Limsoon Wong,et al.  New techniques for studying set languages, bag languages and aggregate functions , 1994, PODS '94.

[11]  Gabriel M. Kuper,et al.  A new approach to database logic , 1984, PODS.

[12]  Catriel Beeri,et al.  Set Constructors in a Logic Database Language , 1991, J. Log. Program..

[13]  Akifumi Makinouchi,et al.  A Consideration on Normal Form of Not-Necessarily-Normalized Relation in the Relational Data Model , 1977, VLDB.

[14]  Carlo Zaniolo The Representation and Deductive Retrieval of Complex Objects , 1985, VLDB.

[15]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[16]  Anthony C. Klug Equivalence of Relational Algebra and Relational Calculus Query Languages Having Aggregate Functions , 1982, JACM.

[17]  Gultekin Özsoyoglu,et al.  Extending relational algebra and relational calculus with set-valued attributes and aggregate functions , 1987, TODS.

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

[19]  Dan Suciu,et al.  Any algorithm in the complex object algebra with powerset needs exponential space to compute transitive closure , 1994, PODS '94.

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

[21]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[22]  Peter M. D. Gray Logic, algebra and databases , 1984, Ellis Horwood series in computers and their applications.

[23]  Harry G. Mairson,et al.  Database Query Languages Embedded in the Typed Lambda Calculus , 1996, Inf. Comput..

[24]  Serge Abiteboul,et al.  Non First Normal Form Relations: An Algebra Allowing Data Restructuring , 1986, J. Comput. Syst. Sci..

[25]  Jianwen Su,et al.  On the expressive power of database queries with intermediate types , 1988, PODS '88.

[26]  Catriel Beeri,et al.  On the power of languages for manipulation of complex objects , 1987, VLDB 1987.

[27]  Serge Abiteboul,et al.  Space Usage in Functional Query Languages , 1995, ICDT.

[28]  Philip W. Trinder,et al.  Comprehensions, a Query Notation for DBPLs , 1992, DBPL.

[29]  Serge Abiteboul,et al.  IFO: a formal semantic database model , 1987, TODS.

[30]  Dennis McLeod,et al.  Database description with SDM: a semantic database model , 1981, TODS.

[31]  Moshe Y. Vardi The Decision Problem for Database Dependencies , 1981, Inf. Process. Lett..

[32]  Ian A. Macleod A data base management system for document retrieval applications , 1981, Inf. Syst..

[33]  Hans-Jörg Schek,et al.  Remarks on the algebra of non first normal form relations , 1982, PODS.

[34]  Gabriel M. Kuper,et al.  On the Complexity of Queries in the Logical Data Model , 1993, Theor. Comput. Sci..

[35]  Johann A. Makowsky,et al.  Computable Directory Queries , 1986, CAAP.

[36]  Victor Vianu,et al.  Tractable query languages for complex object databases , 1991, PODS '91.

[37]  Ronald Fagin,et al.  Horn clauses and database dependencies , 1982, JACM.

[38]  Richard Hull,et al.  The format model: a theory of database organization , 1982, JACM.

[39]  Allen Van Gelder Negation as Failure using Tight Derivations for General Logic Programs , 1989, J. Log. Program..

[40]  Limsoon Wong,et al.  Some Properties of Query Languages for Bags , 1993, DBPL.

[41]  Richard Hull,et al.  A Survey of Theoretical Research on Typed Complex Database Objects , 1988, XP7.52 Workshop on Database Theory.

[42]  Limsoon Wong,et al.  Aggregate Functions, Conservative Extensions, and Linear Orders , 1993, DBPL.

[43]  Van GuchtDirk,et al.  The powerset algebra as a result of adding programming constructs to the nested relational algebra , 1988 .

[44]  Isamu Kobayashi,et al.  An Overview of Database Management Technology , 1985 .

[45]  Catriel Beeri,et al.  Sets and negation in a logic data base language (LDL1) , 1987, PODS.

[46]  Richard Hull,et al.  The Format Model: A Theory of database Organization , 1984, J. ACM.

[47]  Catriel Beeri,et al.  Functional and predictive programming in OODB's , 1992, PODS '92.

[48]  Rodney W. Topor,et al.  Safety and correct translation of relational calculus formulas , 1987, PODS '87.

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

[50]  Abraham Silberschatz,et al.  Extended algebra and calculus for nested relational databases , 1988, TODS.

[51]  Gabriel M. Kuper On the expressive power of logic programming languages with sets , 1988, PODS '88.

[52]  Serge Abiteboul,et al.  IFO: A Formal Semantic Database Model , 1987, ACM Trans. Database Syst..

[53]  Serge Abiteboul,et al.  Foundations of Databases , 1994 .

[54]  Hans-Jörg Schek,et al.  The relational model with relation-valued attributes , 1986, Inf. Syst..

[55]  Philip Wadler,et al.  Comprehending monads , 1990, LISP and Functional Programming.

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

[57]  Peter Buneman,et al.  Structural Recursion as a Query Language , 1992, DBPL.

[58]  Dirk Van Gucht,et al.  Possibilities and limitations of using flat operators in nested algebra expressions , 1988, PODS '88.

[59]  Setrag Khoshafian,et al.  A calculus for complex objects , 1985, PODS '86.

[60]  Gabriel M. Kuper,et al.  Logic programming with sets , 1987, J. Comput. Syst. Sci..

[61]  Jianwen Su,et al.  On the Expressive Power of Database Queries with Intermediate Types , 1991, J. Comput. Syst. Sci..

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

[63]  Gultekin Özsoyoglu,et al.  An Extension of Relational Algebra for Summary Tables , 1983, SSDBM.

[64]  François Bancilhon,et al.  Query Languages for Object-Oriented Database Systems: Analysis and a Proposal , 1989, BTW.

[65]  E. F. Codd,et al.  A Relational Model for Large Shared Data Banks , 1970 .