Database Programming Languages (DBPL-4)

Martin A badi A frequent dilemma in the design of a database programming language is the choice between a language with a rich set of tailored notations for schema definitions, query expressions, etc., and a small, simple core language. We address this dilemma by proposing extensible grammars, a syntax-definition formalism for incremental language extensions and restrictions based on an initial core language. The translation of programs written in rich object languages into a small core language is defined via syntax-directed patterns. In contrast to macro-expansion and program-rewriting tools, our extensible grammars respect scoping rules. Therefore, we can introduce binding constructs while avoiding problems with unwanted name clashes. We develop extensible grammars and illustrate their use by extending the lambda calculus with let-bindings, conditionals, and SQL-style query expressions. We then give a formal description of the underlying parsing, transformation, and substitution rules. Finally, we sketch how these rules are exploited in the implementation of a generic, extensible parser package.

[1]  M. Tamer Özsu,et al.  Reliable transaction execution in multidatabase systems , 1991, [1991] Proceedings. First International Workshop on Interoperability in Multidatabase Systems.

[2]  Luca Cardelli,et al.  A Semantics of Multiple Inheritance , 1984, Inf. Comput..

[3]  Won Kim,et al.  On optimizing an SQL-like nested query , 1982, TODS.

[4]  M. Newman On Theories with a Combinatorial Definition of "Equivalence" , 1942 .

[5]  Wei-Ngan Chin Safe fusion of functional expressions , 1992, LFP '92.

[6]  Luca Cardelli,et al.  An Extension of System F with Subtyping , 1991, TACS.

[7]  Benjamin C. Pierce,et al.  Object-oriented programming without recursive types , 1993, POPL '93.

[8]  M. Muralikrishna,et al.  Improved Unnesting Algorithms for Join Aggregate SQL Queries , 1992, VLDB.

[9]  Hirofumi Katsuno,et al.  On the Difference between Updating a Knowledge Base and Revising It , 1991, KR.

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

[11]  Ahmed K. Elmagarmid,et al.  Multidatabase Atomic Commitment Protocols: A Taxonomy and Unified Appr oach , 1993 .

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

[13]  Shamim A. Naqvi,et al.  Non-Deterministic Choice in Datalog , 1988, JCDKB.

[14]  Garrett L. Gleason Semantic Query Optimization in an Object-Oriented Semantic Association Model (OSAM) , 1990 .

[15]  Robert Langridge,et al.  Mapping and interpreting biological information , 1991, CACM.

[16]  Jari Veijalainen,et al.  2PC Agent method: achieving serializability in presence of failures in a heterogeneous multidatabase , 1990, Proceedings. PARBASE-90: International Conference on Databases, Parallel Architectures, and Their Applications.

[17]  Dirk Van Gucht,et al.  Converting nested algebra expressions into flat algebra expressions , 1992, TODS.

[18]  Dennis Shasha,et al.  Rationale and Design of BULK , 1991, DBPL.

[19]  Rajeev Rastogi,et al.  Transaction Management Issues in a Failure-prone Multidatabase System Environment , 1992 .

[20]  Michael Kifer,et al.  Querying object-oriented databases , 1992, SIGMOD '92.

[21]  Richard C. H. Connor,et al.  Persistent Program Construction through Browsing and User Gesture with some Typing , 1992, POS.

[22]  Miron Livny,et al.  Conceptual Schemas: Multi-faceted Tools for Desktop Scientific Experiment Management , 1992, Int. J. Cooperative Inf. Syst..

[23]  Arnon Rosenthal,et al.  Query graphs, implementing trees, and freely-reorderable outerjoins , 1990, SIGMOD '90.

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

[25]  Dimitrios Georgakopoulos,et al.  Multidatabase recoverability and recovery , 1991, [1991] Proceedings. First International Workshop on Interoperability in Multidatabase Systems.

[26]  Richard C. H. Connor,et al.  Types and polymorphism in persistent programming systems , 1991 .

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

[28]  Herman Balsters,et al.  A Semantics of Object-Oriented Sets , 1992, DBPL.

[29]  Krzysztof R. Apt,et al.  Maintenance of stratified databases viewed as a belief revision system , 1987, PODS.

[30]  Kevin Wilkinson,et al.  Overview of the Iris DBMS , 1989, Research Foundations in Object-Oriented and Semantic Database Systems.

[31]  Philip Wadler,et al.  Proceedings of the 1991 Glasgow Workshop on Functional Programming , 1991 .

[32]  Catriel Beeri,et al.  Algebraic Optimization of Object-Oriented Query Languages , 1990, Theor. Comput. Sci..

[33]  John Rosenberg,et al.  A Remote Execution Mechanism For Distributed Homogeneous Stable Stores , 1992, DBPL.

[34]  S. Peyton-jones,et al.  Implementation of Functional Languages , 1997, Lecture Notes in Computer Science.

[35]  Malcolm P. Atkinson,et al.  Bulk Types for Large Scale Programming , 1990, East/West Database Workshop.

[36]  Elisa Bertino,et al.  Object-Oriented Query Languages: The Notion and the Issues , 1992, IEEE Trans. Knowl. Data Eng..

[37]  R. Sleep,et al.  Mit/Acm conference on functional programming languages and computer architecture , 1982, Softw. Microsystems.

[38]  Stanley B. Zdonik,et al.  The AQUA Data Model and Algebra , 1993, DBPL.

[39]  Herman Lam,et al.  OQL: A Query Language for Manipulating Object-oriented Databases , 1989, VLDB.

[40]  Moshe Y. Vardi The complexity of relational query languages (Extended Abstract) , 1982, STOC '82.

[41]  Michael Stonebraker The INGRES Papers: Anatomy of a Relational Database System , 1986 .

[42]  David W. Stemple,et al.  Uniform Traversal Combinators: Definition, Use and Properties , 1992, CADE.

[43]  Ronald Morrison,et al.  Type-safe Linguistic Reflection , 1992, DBPL.

[44]  Harry G. Mairson,et al.  Tools for Datalog boundedness , 1991, PODS '91.

[45]  Joseph Albert,et al.  Algebraic Properties of Bag Data Types , 1991, VLDB.

[46]  Markus Tresch,et al.  Updatable Views in Object-Oriented Databases , 1991, DOOD.

[47]  Carlo Zaniolo,et al.  Stable models and non-determinism in logic programs with negation , 1990, PODS.

[48]  Neil Immerman,et al.  The expressiveness of a family of finite set languages , 1991, PODS '91.

[49]  Guido Moerkotte,et al.  Query Optimization in Object Bases: Exploiting Relational Techniques , 1991, Query Processing for Advanced Database Systems.

[50]  Leonidas Fegaras A Transformational Approach to Database System Implementation , 1993 .

[51]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[52]  Stanley B. Zdonik,et al.  An architecture for query processing in persistent object stores , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[53]  John C. Mitchell,et al.  ML with extended pattern matching and subtypes , 1988, LISP and Functional Programming.

[54]  J. Ferrante,et al.  The computational complexity of logical theories , 1979 .

[55]  Ahmed K. Elmagarmid,et al.  IPL: the InterBase Parallel Language , 1992, [1992 Proceedings] Second International Workshop on Research Issues on Data Engineering: Transaction and Query Processing.

[56]  Ralf Hartmut Güting,et al.  An algebra for structured office documents , 1989, TOIS.

[57]  Georges Gardarin,et al.  Proving Consistency Of Database Transactions , 1979, Fifth International Conference on Very Large Data Bases, 1979..

[58]  Vincent Y. Lum,et al.  EXPRESS: a data EXtraction, Processing, and Restructuring System , 1977, TODS.

[59]  John Doner,et al.  Tree Acceptors and Some of Their Applications , 1970, J. Comput. Syst. Sci..

[60]  Robin Milner,et al.  Definition of standard ML , 1990 .

[61]  Volker Küchenhoff On the Efficient Computation of the Difference Between Concecutive Database States , 1991, DOOD.

[62]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[63]  Maarten M. Fokkinga,et al.  Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire , 1991, FPCA.

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

[65]  Thomas C. Rakow,et al.  Atomic commitment for integrated database systems , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

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

[67]  Michael Kifer,et al.  Logical foundations of object-oriented and frame-based languages , 1995, JACM.

[68]  Jay Banerjee,et al.  Queries in object-oriented databases , 1988, Proceedings. Fourth International Conference on Data Engineering.

[69]  Michael Stonebraker,et al.  The POSTGRES Data Model , 1987, Research Foundations in Object-Oriented and Semantic Database Systems.

[70]  Alan Dearle Constructing Compilers in a persistent environment , 1987, POS.

[71]  Umeshwar Dayal,et al.  Of Nests and Trees: A Unified Approach to Processing Queries That Contain Nested Subqueries, Aggregates, and Quantifiers , 1987, VLDB.

[72]  Guido Moerkotte,et al.  A Blackboard Architecture for Query Optimization in Object Bases , 1993, VLDB.

[73]  Giuseppe Castagna,et al.  A Meta-Language for Typed Object-Oriented Languages , 1995, Theor. Comput. Sci..

[74]  Ming-Chien Shan,et al.  Iris: An Object-Oriented Database Management System , 1989, ACM Trans. Inf. Syst..

[75]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[76]  Wolfgang Wechler,et al.  Universal Algebra for Computer Scientists , 1992, EATCS Monographs on Theoretical Computer Science.

[77]  S. Abiteboul,et al.  Fixpoint extensions of first-order logic and datalog-like languages , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[78]  Mitchell Wand,et al.  Complete Type Inference for Simple Objects , 1987, LICS.

[79]  Victor Vianu,et al.  Expressiveness and Complexity of Restricted Languages for Complex Objects , 1991, DBPL.

[80]  Roger King,et al.  Semantic database modeling: survey, applications, and research issues , 1987, CSUR.

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

[82]  Malcolm P. Atkinson,et al.  PS-algol: an algol with a persistent heap , 1982, SIGP.

[83]  Joel E. Richardson,et al.  Supporting Lists in a Data Model (A Timely Approach) , 1992, VLDB.

[84]  Philip Wadler,et al.  Deforestation: Transforming Programs to Eliminate Trees , 1990, Theor. Comput. Sci..

[85]  Foto N. Afrati,et al.  Expressiveness of restricted recursive queries , 1989, STOC '89.

[86]  Norman W. Paton,et al.  Identification of Database Objects by Key , 1988, OODBS.

[87]  Shamim A. Naqvi,et al.  Database updates in logic programming , 1988, PODS.

[88]  Nathan Goodman,et al.  On the translation of relational queries into iterative programs , 1989, TODS.

[89]  Stanley B. Zdonik,et al.  A query algebra for object-oriented databases , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[90]  Weidong Chen,et al.  Declarative Specification and Evaluation of Database Updates , 1991, DOOD.

[91]  Jennifer Widom,et al.  A denotational semantics for the Starburst production rule language , 1992, SGMD.

[92]  James G. Mullen,et al.  FBASE: a federated objectbase system , 1992 .

[93]  Gio Wiederhold,et al.  Updating relational databases through object-based views , 1991, SIGMOD '91.

[94]  Latha S. Colby A recursive algebra for nested relations , 1990, Inf. Syst..

[95]  Abraham Silberschatz,et al.  Reliable transaction management in a multidatabase system , 1990, SIGMOD '90.

[96]  David Harel,et al.  Structure and Complexity of Relational Queries , 1980, FOCS.

[97]  Moshe Y. Vardi Decidability and undecidability results for boundedness of linear recursive queries , 1988, PODS.

[98]  C FrenchJames,et al.  Summary of the final report of the NSF workshop on scientific database management , 1990 .

[99]  François Bry,et al.  Checking Consistency of Database Constraints: a Logical Basis , 1986, VLDB.

[100]  Ronald Morrison,et al.  On the Classification of Binding Mechanisms , 1990, Inf. Process. Lett..

[101]  Jianwen Su,et al.  Untyped sets, invention, and computable queries , 1989, PODS '89.

[102]  Benjamin C. Pierce,et al.  Bounded quantification is undecidable , 1992, POPL '92.

[103]  Miron Livny,et al.  MOOSE: Modeling Objects in a Simulation Environment , 1989, IFIP Congress.

[104]  Scott Danforth,et al.  Type theories and object-oriented programmimg , 1988, CSUR.

[105]  Won Kim,et al.  A Model of Queries for Object-Oriented Databases , 1989, VLDB.

[106]  M. Tamer Özsu,et al.  Queries and query processing in object-oriented database systems , 1990, TOIS.

[107]  John C. Mitchell,et al.  F-bounded polymorphism for object-oriented programming , 1989, FPCA.

[108]  Alan J. Demers,et al.  Data types are values , 1985, ACM Trans. Program. Lang. Syst..

[109]  Patrick C. Fischer,et al.  Multilevel Nested Relational Structures , 1988, J. Comput. Syst. Sci..

[110]  Harry K. T. Wong,et al.  Optimization of nested SQL queries revisited , 1987, SIGMOD '87.

[111]  Shojiro Nishio,et al.  Towards an Object-Oriented Query Algebra , 1992 .

[112]  Mark A. Roth,et al.  Sql/nf: a Query Language for , 1985 .

[113]  Narain H. Gehani,et al.  Ode as an Active Database: Constraints and Triggers , 1991, VLDB.

[114]  Rajeev Rastogi,et al.  Ensuring transaction atomicity in multidatabase systems , 1992, PODS.

[115]  François Bancilhon,et al.  Naive Evaluation of Recursively Defined Relations , 1986, On Knowledge Base Management Systems.

[116]  Richard C. H. Connor,et al.  An ad hoc approach to the implementation of polymorphism , 1991, TOPL.

[117]  Hamid Pirahesh,et al.  The Magic of Duplicates and Aggregates , 1990, VLDB.

[118]  Catriel Beeri,et al.  New data models and languages—the challenge , 1992, PODS.

[119]  Val Tannen,et al.  Logical and Computational Aspects of Programming with Sets/Bags/Lists , 1991, ICALP.

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

[121]  Edward Sciore,et al.  Object specialization , 1989, TOIS.

[122]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[123]  William R. Cook,et al.  Inheritance is not subtyping , 1989, POPL '90.

[124]  Tomasz Imielinski,et al.  Incomplete Information in Relational Databases , 1984, JACM.

[125]  Shamim A. Naqvi Stratification as a Design Principle in Logical Query Langugages , 1989, DBPL.

[126]  Teodor C. Przymusinski On the Declarative Semantics of Deductive Databases and Logic Programs , 1988, Foundations of Deductive Databases and Logic Programming..

[127]  Bruce G. Lindsay,et al.  On Maintaining Priorities in a Production Rule System , 1991, VLDB.

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

[129]  Limsoon Wong,et al.  Query Languages for Bags , 1993 .

[130]  Patrick Valduriez,et al.  FAD, a Powerful and Simple Database Language , 1987, VLDB.

[131]  David J. DeWitt,et al.  The EXODUS Extensible DBMS Project: An Overview , 1989 .

[132]  Donald D. Chamberlin,et al.  Implementation of a structured English query language , 1975, CACM.

[133]  John C. Mitchell,et al.  Abstract types have existential type , 1988, TOPL.

[134]  Antony J. T. Davie,et al.  PCASE-A Persistent Lazy Version of an SECD Machine , 1992 .

[135]  Michael Kifer,et al.  transaction Logic: An (Early) Exposé , 1992, Formal Methods in Databases and Software Engineering.

[136]  Christophe Lécluse,et al.  Modeling complex structures in object-oriented logic programming , 1989, PODS.

[137]  Klaus R. Dittrich,et al.  Advances in Object-Oriented Database Systems , 1988, Lecture Notes in Computer Science.

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

[139]  Nathan Goodman,et al.  Rule-based transformation of relational queries into iterative programs , 1986, SIGMOD '86.

[140]  David W. Stemple,et al.  Linguistic reflection: a bridge from programming to database languages , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[141]  Limsoon Wong,et al.  Semantic representations and query languages for or-sets , 1993, PODS '93.

[142]  John H. Reppy,et al.  CML: A Higher-Order Concurrent Language , 1991, PLDI.

[143]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.

[144]  Eric Simon,et al.  Modelling Non Deterministic Queries and Updates in Deductive Databases , 1988, VLDB.

[145]  Giorgio Ghelli,et al.  Coherence of Subsumption, Minimum Typing and Type-Checking in F<= , 1992, Math. Struct. Comput. Sci..

[146]  Arnold L. Rosenberg,et al.  Rapid identification of repeated patterns in strings, trees and arrays , 1972, STOC.

[147]  Q. I. Cutts,et al.  Delivering the benefits of persistence to system construction and execution , 1993 .

[148]  Florian Matthes,et al.  The Type System of DBPL , 1989, DBPL.

[149]  Michael Barr,et al.  Category theory for computing science , 1995, Prentice Hall International Series in Computer Science.

[150]  Peter Buneman,et al.  Polymorphism and type inference in database programming , 1996, TODS.

[151]  Grant Malcolm Homomorphisms and Promotability , 1989, MPC.

[152]  Richard Hull,et al.  Language Constructs for Programming Active Databases , 1991, VLDB.

[153]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[154]  James F. Allen Towards a General Theory of Action and Time , 1984, Artif. Intell..

[155]  Karen C. Davis,et al.  A Denotational Approach to Object-Oriented Query Language Definition , 1992, Specifications of Database Systems.

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

[157]  C. J. Date A guide to DB2 , 1984 .

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

[159]  Joel E. Richardson,et al.  Aspects: extending objects to support multiple, independent roles , 1991, SIGMOD '91.

[160]  Neil Immerman,et al.  Relational Queries Computable in Polynomial Time , 1986, Inf. Control..

[161]  David W. Stemple,et al.  Using type transformation in database system implementation , 1992 .

[162]  Ashok K. Chandra,et al.  Optimal implementation of conjunctive queries in relational data bases , 1977, STOC '77.

[163]  Richard C. H. Connor,et al.  The Persistent Abstract Machine , 1989, POS.

[164]  Anthony J. Bonner Hypothetical Datalog: Complexity and Expressibility , 1990, Theor. Comput. Sci..

[165]  Giuseppe Castagna,et al.  A calculus for overloaded functions with subtyping , 1992, LFP '92.

[166]  Stuart I. Feldman,et al.  Make — a program for maintaining computer programs , 1979, Softw. Pract. Exp..

[167]  Giuseppe Castagna,et al.  A Semantics for Lambda&-early: A Calculus with Overloading and Early Binding , 1993, TLCA.

[168]  Linda G. DeMichiel,et al.  The Common Lisp Object System: An Overview , 1987, ECOOP.

[169]  Serge Abiteboul,et al.  Generic Computation and its complexity , 1991, STOC '91.

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

[171]  Kenneth A. Ross,et al.  Glue-Nail: a deductive database system , 1991, SIGMOD '91.

[172]  Luca Cardelli A Pure Calculus of Subtyping, and Applications (Outline) , 1991, DBPL.

[173]  David W. Stemple,et al.  A Recursive Base for Database Programming Primitives , 1990, East/West Database Workshop.

[174]  Alberto O. Mendelzon,et al.  Updates and Subjunctive Queries , 1995, Inf. Comput..

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

[176]  Goetz Graefe,et al.  Query evaluation techniques for large databases , 1993, CSUR.

[177]  Hiroshi Ishikawa,et al.  The model, language, and implementation of an object-oriented multimedia knowledge base management system , 1993, TODS.

[178]  M. Fischer,et al.  SUPER-EXPONENTIAL COMPLEXITY OF PRESBURGER ARITHMETIC , 1974 .

[179]  O. Deux,et al.  The story of O 2 , 1992 .

[180]  Jin Jing,et al.  Reservation Commitment and Its Use in Multidatabase Systems , 1993, DEXA.

[181]  Marc H. Scholl,et al.  Deterministic semantics of set-oriented update sequences , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[182]  Eben M. Haber,et al.  Bulletin of the Technical Committee on Data Engineering Special Issue on Scientific Databases Conference and Journal Notices Editorial Board Editor-in-chief Tc Executive Committee Important Membership Message Electronic Enrollment Procedure Alternative Enrollment Procedure the Evolution of the Bulle , 2022 .

[183]  Sophie Cluet,et al.  A general framework for the optimization of object-oriented queries , 1992, SIGMOD '92.

[184]  Giorgio Ghelli,et al.  A static type system for message passing , 1991, OOPSLA '91.

[185]  Stanley B. Zdonik,et al.  Ordered Types in the AQUA Data Model , 1993, DBPL.

[186]  Gunter Saake,et al.  Duplicate Detection and Deletion in the Extended NF² Data Model , 1989, FODO.

[187]  Jennifer Widom,et al.  Implementing Set-Oriented Production Rules as an Extension to Starburst , 1991, VLDB.

[188]  David J. DeWitt,et al.  Algebraic support for complex objects with arrays, identity, and inheritance , 1991, SIGMOD '91.

[189]  Yannis E. Ioannidis,et al.  A Moose and a Fox Can Aid Scientists with Data Management Problems , 1993, DBPL.

[190]  Inderpal Singh Mumick,et al.  Counting solutions to the View Maintenance Problem , 1992, Workshop on Deductive Databases, JICSLP.

[191]  Håkan Jakobsson,et al.  On Materializing Views and On-Line Queries , 1992, ICDT.

[192]  Alan Dearle,et al.  Safe Browsing in a Strongly Typed Persistent Environment , 1988, Comput. J..

[193]  Serge Abiteboul,et al.  Objects and views , 1991, SIGMOD '91.

[194]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[195]  Scott D. Daniels,et al.  Speaking in tongues : the language of Revelation , 1992 .

[196]  David W. Shipman The functional data model and the data language DAPLEX , 1979, SIGMOD '79.

[197]  Umeshwar Dayal,et al.  The architecture of an active database management system , 1989, SIGMOD '89.

[198]  Serge Abiteboul,et al.  Procedural and declarative database update languages , 1988, PODS '88.

[199]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

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

[201]  Richard C. H. Connor,et al.  Persistent Hyper-Programs , 1992, POS.

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

[203]  Ahmed K. Elmagarmid,et al.  A Multidatabase Transaction Model for InterBase , 1990, VLDB.

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

[205]  P. Odifreddi Classical recursion theory , 1989 .

[206]  Dan Suciu,et al.  Fixpoints and Bounded Fixpoints for Complex Objects , 1993 .

[207]  David W. Stemple,et al.  Automatic verification of database transaction safety , 1989, ACM Trans. Database Syst..

[208]  Malcolm P. Atkinson,et al.  Design Issues in a Map Language , 1992, DBPL.

[209]  Guozhu Dong,et al.  On Datalog Linearization of Chain Queries , 1991, Theoretical Studies in Computer Science.

[210]  Jeffrey Scott Vitter,et al.  A data structure for arc insertion and regular path finding , 1991, SODA '90.

[211]  Umeshwar Dayal,et al.  Simplifying Complex Objects: The PROBE Approach to Modelling and Querying Them , 1987, BTW.

[212]  Dean Daniels,et al.  Optimization of Nested Queries in a Distributed Relational Database , 1984, VLDB.

[213]  Margaret H. Dunham,et al.  Join processing in relational databases , 1992, CSUR.

[214]  John W. Lloyd,et al.  Partial Evaluation in Logic Programming , 1991, J. Log. Program..

[215]  Diane C. P. Smith,et al.  Database abstractions: aggregation and generalization , 1977, TODS.

[216]  Abraham Silberschatz,et al.  Failure-resilient transaction management in multidatabase , 1991, Computer.

[217]  Toshihide Ibaraki,et al.  On-Line Computation of Transitive Closures of Graphs , 1983, Inf. Process. Lett..

[218]  Ronald Morrison,et al.  An Integrated Graphics Programming Environment , 1986, Comput. Graph. Forum.

[219]  Marianne Winslett,et al.  A model-based approach to updating databases with incomplete information , 1988, TODS.

[220]  Michael Stonebraker,et al.  On rules, procedures, caching and views in database systems , 1994, SIGMOD 1994.

[221]  Craig Schaffert,et al.  Abstraction mechanisms in CLU , 1977, Commun. ACM.

[222]  Kim B. Bruce Safe type checking in a statically-typed object-oriented programming language , 1993, POPL '93.

[223]  Matthias Jarke,et al.  Query Optimization in Database Systems , 1984, CSUR.

[224]  David J. DeWitt,et al.  A data model and query language for EXODUS , 1988, SIGMOD '88.

[225]  Robert A. Kowalski,et al.  Integrity Checking in Deductive Databases , 1987, VLDB.

[226]  Umeshwar Dayal,et al.  PDM: An Object-Oriented Data Model , 1986, OODBS.

[227]  Luca Cardelli,et al.  Extensible records in a pure calculus of subtyping , 1994 .

[228]  Dennis McLeod,et al.  A federated architecture for information management , 1985, TOIS.

[229]  Renzo Orsini,et al.  GALILEO: a strongly-typed, interactive conceptual language , 1985, TODS.

[230]  François Bry,et al.  Intensional Updates: Abduction via Deduction , 1990, ICLP.

[231]  Michael Stonebraker,et al.  Implementation of integrity constraints and views by query modification , 1975, SIGMOD '75.

[232]  Guozhu Dong Datalog expressiveness of chain queries: grammar tools and characterizations , 1992, PODS '92.

[233]  Giuseppe F. Italiano,et al.  Amortized Efficiency of a Path Retrieval Data Structure , 1986, Theor. Comput. Sci..

[234]  Jay Banerjee,et al.  Data model issues for object-oriented applications , 1987, TOIS.

[235]  José Meseguer,et al.  Parameterized programming in OBJ2 , 1987, ICSE '87.

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

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

[238]  John C. Mitchell,et al.  A lambda calculus of objects and method specialization , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[239]  Seymour Ginsburg,et al.  Pattern matching by Rs-operations: towards a unified approach to querying sequenced data , 1992, PODS '92.

[240]  Richard Hull,et al.  Database Programming with Delayed Updates , 1991, DBPL.

[241]  Peter Buneman,et al.  An implementation technique for database query languages , 1982, TODS.

[242]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[243]  Douglas Herrmann,et al.  A Taxonomy of Part-Whole Relations , 1987, Cogn. Sci..

[244]  John C. Mitchell,et al.  Theoretical aspects of object-oriented programming: types, semantics, and language design , 1994, Choice Reviews Online.

[245]  Joel E. Richardson,et al.  MDM: An Object-Oriented Data Model , 1991, DBPL.

[246]  Jan Van den Bussche,et al.  The expressive power of structured values in pure OODB's , 1991, PODS 1991.

[247]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[248]  M. Muralikrishna Optimization and Dataflow Algorithms for Nested Tree Queries , 1989, VLDB.

[249]  Werner Kiessling SQL-like and Quel-like correlation queries with aggregates revis-ited , 1984 .

[250]  Alan Dearle,et al.  An Adaptive Graphical Browser for Napier88 , 1990 .

[251]  Leonid Libkin A Relational Algebra for Complex Objects Based on Partial Information , 1991, MFDBS.

[252]  Kevin Wilkinson,et al.  The Iris Architecture and Implementation , 1990, IEEE Trans. Knowl. Data Eng..

[253]  David Harel,et al.  Structure and complexity of relational queries , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[254]  Darrell Woelk,et al.  Query Processing in Distributed ORION , 1990, EDBT.

[255]  Butler W. Lampson,et al.  A Kernel Language for Abstract Data Types and Modules , 1984, Semantics of Data Types.

[256]  Joseph B. Kruskal,et al.  The Theory of Well-Quasi-Ordering: A Frequently Discovered Concept , 1972, J. Comb. Theory A.

[257]  Dag I. K. Sjoberg Thesaurus-based methodologies and tools for maintaining persistent application systems , 1993 .

[258]  João Correia Lopes,et al.  ShTh - Show Thesaurus User Interface , 1993 .

[259]  David J. DeWitt,et al.  The Object-Oriented Database System Manifesto , 1994, Building an Object-Oriented Database System, The Story of O2.

[260]  John Darlington,et al.  A system which automatically improves programs , 1973, Acta Informatica.

[261]  Luca Cardelli,et al.  A semantic basis for quest , 1990, Journal of Functional Programming.

[262]  Goetz Graefe,et al.  The Volcano optimizer generator: extensibility and efficient search , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[263]  David Harel,et al.  Process logic: Expressiveness, decidability, completeness , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[264]  Kim B. Bruce A paradigmatic object-oriented programming language: Design, static typing and semantics , 1994, Journal of Functional Programming.

[265]  Jennifer Widom,et al.  Set-oriented production rules in relational database systems , 1990, SIGMOD '90.

[266]  David Beech,et al.  A Foundation for Evolution from Relational to Object Databases , 1988, EDBT.

[267]  Tova Milo,et al.  Towards Tractable Algebras for Bags , 1996, J. Comput. Syst. Sci..

[268]  Georg Gottlob,et al.  Translating SQL Into Relational Algebra: Optimization, Semantics, and Equivalence of SQL Queries , 1985, IEEE Transactions on Software Engineering.

[269]  Hendrik Decker,et al.  A Uniform Approach to Constraint Satisfaction and Constraint Satisfiability in Deductive Databases , 1988, EDBT.

[270]  Liz Sonenberg,et al.  Integrity Constraint Checking in Stratified Databases , 1987, J. Log. Program..

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

[272]  J. D. Day,et al.  A principle for resilient sharing of distributed resources , 1976, ICSE '76.

[273]  François Bancilhon,et al.  A logic-programming/object-oriented cocktail , 1986, SGMD.

[274]  Luca Cardelli,et al.  Typeful Programming , 1989, Formal Description of Programming Concepts.

[275]  William Perrizo,et al.  HYDRO: a heterogeneous distributed database system , 1991, SIGMOD '91.

[276]  Ronald Morrison,et al.  Procedures as persistent data objects , 1985, TOPL.

[277]  David W. Stemple,et al.  Formalizing Objects for Databases using ADABTPL , 1988, OODBS.

[278]  C Rose,et al.  Inside Macintosh , 1985 .

[279]  Setrag Khoshafian,et al.  Object identity , 1986, OOPLSA '86.

[280]  David Scott Warren,et al.  A Logic-based Language for Database Updates , 1988, Foundations of Deductive Databases and Logic Programming..

[281]  Herman Balsters,et al.  Subtyping Can Have a Simple Semantics , 1991, Theor. Comput. Sci..

[282]  Paul H. J. Kelly Functional programming for loosely-coupled multiprocessors , 1989, Research monographs in parallel and distributed computing.

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

[284]  Peter Buneman,et al.  Using Powerdomains to Generalize Relational Databases , 1991, Theor. Comput. Sci..

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

[286]  G. Graefe,et al.  The one-t o-one match operator of the Volcano query Processing System , 1989 .

[287]  Karen A. Frenkel,et al.  The human genome project and informatics , 1991, CACM.

[288]  Tomasz Imielinski,et al.  Integrity checking for multiple updates , 1985, SIGMOD '85.

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

[290]  Peter P. Chen The Entity-Relationship Model: Towards a unified view of Data , 1976 .

[291]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[292]  Michael Kifer,et al.  Transaction Logic Programming , 1993, ICLP.

[293]  Philip Wadler,et al.  Comprehending monads , 1990, Mathematical Structures in Computer Science.

[294]  Guido Moerkotte,et al.  Advanced Query Processing in Object Bases Using Access Support Relations , 1990, VLDB.

[295]  Mary Sheeran,et al.  Designing Correct Circuits: Workshop Jointly Organised by the Universities of Oxford and Glasgow 26-28 September 1990, Oxford , 1991 .

[296]  Peter Buneman,et al.  Database programming in Machiavelli—a polymorphic language with static type inference , 1989, SIGMOD '89.

[297]  Randy H. Katz,et al.  An extended relational algebra with control over duplicate elimination , 1982, PODS.

[298]  Don S. Batory,et al.  The Object-Oriented Functional Data Language , 1990, IEEE Trans. Software Eng..

[299]  Patrick C. Fischer,et al.  Nested Relational Structures , 1986, Adv. Comput. Res..

[300]  Marc H. Scholl,et al.  Generic Update Operations Keeping Object-Oriented Databases Consistent , 1992, IS/KI.

[301]  Carl A. Gunter Semantics of programming languages: structures and techniques , 1993, Choice Reviews Online.

[302]  Richard S. Bird,et al.  Introduction to functional programming , 1988, Prentice Hall International series in computer science.

[303]  Olivier Danvy,et al.  Tutorial notes on partial evaluation , 1993, POPL '93.

[304]  Jørgen Fischer Nilsson,et al.  An Access Specification Language for a Relational Data Base System , 1979, IBM J. Res. Dev..

[305]  Hans-Jörg Schek,et al.  A Relational Object Model , 1990, ICDT.

[306]  Richard C. H. Connor,et al.  Type Equivalence Checking in Persistent Object Systems , 1990, POS.

[307]  David Maier,et al.  Challenges for Query Processing in Object-Oriented Databases , 1991, Query Processing for Advanced Database Systems.

[308]  Charles W. Bachman,et al.  The programmer as navigator , 1973, CACM.