Exploiting functional dependence in query optimization

Functional dependency analysis can be applied to various problems in query optimization: selectivity estimation, estimation of (intermediate) result sizes, order optimization (in particular sort avoidance), cost estimation, and various problems in the area of semantic query optimization. Dependency analysis in an ANSI SQL relational model, however, is made complex due to the existence of null values, three-valued logic, outer joins, and duplicate rows. In this thesis we define the notions of strict and lax functional dependencies, strict and lax equivalence constraints, and null constraints, which capture both a large set of the constraints implied by ANSI SQL query expressions, including outer joins, and a useful set of declarative constraints for ANSI SQL base tables, including unique, table, and referential integrity constraints. We develop and prove a sound set of inference axioms for this set of combined constraints, and formalize the set of constraints that hold in the result of each SQL algebraic operator. We define an extended functional dependency graph model (FD-graph) to represent these constraints, and present and prove correct a detailed polynomial-time algorithm to maintain this FD-graph for each algebraic operator. We illustrate the utility of this analysis with examples and additional theoretical results from two problem domains in query optimization: query rewrite optimizations that exploit uniqueness properties, and order optimization that exploits both functional dependencies and attribute equivalence. We show that the theory behind these two applications of dependency analysis is not only useful in relational database systems, but in non-relational database environments as well.

[1]  Michael J. Carey,et al.  Reducing the Braking Distance of an SQL Query Engine , 1998, VLDB.

[2]  Hamid Pirahesh,et al.  Complex query decorrelation , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[3]  Stavros Christodoulakis,et al.  Estimating Block Selectivities , 1984, Inf. Syst..

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

[5]  Goetz Graefe,et al.  Multi-table joins through bitmapped join indices , 1995, SGMD.

[6]  Peter Honeyman,et al.  Testing satisfaction of functional dependencies , 1982, JACM.

[7]  Timos K. Sellis,et al.  Improvements on a Heuristic Algorithm for Multiple-Query Optimization , 1994, Data Knowl. Eng..

[8]  Claude Delobel,et al.  Decompositions and functional dependencies in relations , 1980, TODS.

[9]  John C. Mitchell Inference rules for functional and inclusion dependencies , 1983, PODS '83.

[10]  David J. DeWitt,et al.  The EXODUS optimizer generator , 1987, SIGMOD '87.

[11]  Latha S. Colby,et al.  Algorithms for deferred view maintenance , 1996, SIGMOD '96.

[12]  Hamid Pirahesh,et al.  Magic is relevant , 1990, SIGMOD '90.

[13]  Shinichi Morishita,et al.  Avoiding Cartesian products for multiple joins , 1997, JACM.

[14]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .

[15]  César A. Galindo-Legaria,et al.  Outerjoins as disjunctions , 1994, SIGMOD '94.

[16]  Eugene Wong,et al.  Decomposition—a strategy for query processing , 1976, TODS.

[17]  Horn clauses and database dependencies (Extended Abstract) , 1980, STOC '80.

[18]  Guido Moerkotte,et al.  Function materialization in object bases , 1991, SIGMOD '91.

[19]  Grant E. Weddell,et al.  Reasoning About Equations and Functional Dependencies on Complex Objects , 1994, IEEE Trans. Knowl. Data Eng..

[20]  Clement T. Yu,et al.  Semantic Query Optimization for Tree and Chain Queries , 1994, IEEE Trans. Knowl. Data Eng..

[21]  Guido Moerkotte,et al.  Efficient maintenance of materialized mediated views , 1995, SIGMOD '95.

[22]  Marvin H. Solomon,et al.  The GMAP: a versatile tool for physical data independence , 1996, The VLDB Journal.

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

[24]  Inderpal Singh Mumick,et al.  The Stanford Data Warehousing Project , 1995 .

[25]  Nick Roussopoulos,et al.  ADMS: A Testbed for Incremental Access Methods , 1993, IEEE Trans. Knowl. Data Eng..

[26]  Frank Wm. Tompa,et al.  Maintaining materialized views without accessing base data , 1988, Inf. Syst..

[27]  Jacob Slonim,et al.  The CORDS Multidatabase Project , 1995, IBM Syst. J..

[28]  Jim Diederich Minimal covers revisited: correct and efficient algorithms , 1991, SGMD.

[29]  Umeshwar Dayal,et al.  Query optimization for CODASYL database systems , 1982, SIGMOD '82.

[30]  Claudia Maria Bauzer Medeiros A validation tool for designing database views that permit updates , 1985 .

[31]  Ashish Gupta,et al.  Aggregate-Query Processing in Data Warehousing Environments , 1995, VLDB.

[32]  Stavros Christodoulakis,et al.  Implications of certain assumptions in database performance evauation , 1984, TODS.

[33]  Kyuseok Shim,et al.  Optimizing queries with materialized views , 1995, Proceedings of the Eleventh International Conference on Data Engineering.

[34]  Vijay V. Raghavan,et al.  A framework for multiple-query optimization , 1992, [1992 Proceedings] Second International Workshop on Research Issues on Data Engineering: Transaction and Query Processing.

[35]  Vijay V. Raghavan,et al.  Analysis of common subexpression exploitation models in multiple-query processing , 1994, Proceedings of 1994 IEEE 10th International Conference on Data Engineering.

[36]  Balakrishna R. Iyer,et al.  Simplification of outer joins , 1995, CASCON.

[37]  Jan van Leeuwen,et al.  Maintenance of Transitive Closures and Transitive Reductions of Graphs , 1987, WG.

[38]  Ronald Fagin,et al.  Inclusion dependencies and their interaction with functional dependencies , 1982, PODS.

[39]  Kenneth A. Ross,et al.  Supporting multiple view maintenance policies , 1997, SIGMOD '97.

[40]  E. F. Codd,et al.  Extending the database relational model to capture more meaning , 1979, ACM Trans. Database Syst..

[41]  Eric N. Hanson,et al.  A performance analysis of view materialization strategies , 1987, SIGMOD '87.

[42]  DONALD MICHIE,et al.  “Memo” Functions and Machine Learning , 1968, Nature.

[43]  Frank Wm. Tompa,et al.  Efficiently updating materialized views , 1986, SIGMOD '86.

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

[45]  W. M. Tompa,et al.  Partial-order databases , 1996 .

[46]  Kyuseok Shim,et al.  Optimizing Queries with Aggregate Views , 1996, EDBT.

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

[48]  Ronald Fagin,et al.  Multivalued dependencies and a new normal form for relational databases , 1977, TODS.

[49]  Matthias Jarke,et al.  An optimizing prolog front-end to a relational query system , 1984, SIGMOD '84.

[50]  V. S. Subrahmanian,et al.  Maintaining views incrementally , 1993, SIGMOD Conference.

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

[52]  Guy M. Lman Grammar-like Functional Rules for Representing Query Optimization Alternatives , 1998 .

[53]  Carlo Zaniolo,et al.  Optimization of Nonrecursive Queries , 1986, VLDB.

[54]  Giorgio Ausiello,et al.  Dynamic Maintenance of Directed Hypergraphs , 1990, Theor. Comput. Sci..

[55]  Goetz Graefe,et al.  Volcano - An Extensible and Parallel Query Evaluation System , 1994, IEEE Trans. Knowl. Data Eng..

[56]  Balakrishna R. Iyer,et al.  No regression algorithm for the enumeration of projections in SQL queries with joins and outer joins , 1995, CASCON.

[57]  Wilfred Ng,et al.  Ordered Functional Dependencies in Relational Databases , 1999, Inf. Syst..

[58]  Michel E. Adiba,et al.  Derived Relations: A Unified Mechanism for Views, Snapshots, and Distributed Data , 1981, VLDB.

[59]  Jennifer Widom,et al.  Deriving Production Rules for Incremental View Maintenance , 1991, VLDB.

[60]  S. B. Yao,et al.  Approximating block accesses in database organizations , 1977, CACM.

[61]  Raghu Ramakrishnan,et al.  Containment of conjunctive queries: beyond relations as sets , 1995, TODS.

[62]  Rokia Missaoui,et al.  Semantic query optimization using inter-relational functional dependencies , 1991, Proceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences.

[63]  Arie Segev,et al.  Using common subexpressions to optimize multiple queries , 1988, Proceedings. Fourth International Conference on Data Engineering.

[64]  Ryohei Nakano Translation with optimization from relational calculus to relational algebra having aggregate functions , 1990, TODS.

[65]  Hamid Pirahesh,et al.  Extensible/rule based query rewrite optimization in Starburst , 1992, SIGMOD '92.

[66]  Arnon Rosenthal,et al.  How to extend a conventional optimizer to handle one- and two-sided outerjoin , 1992, [1992] Eighth International Conference on Data Engineering.

[67]  János Demetrovics,et al.  Functional Dependencies in Relational Databases: A Lattice Point of View , 1992, Discret. Appl. Math..

[68]  Eugene Wong,et al.  Query optimization by simulated annealing , 1987, SIGMOD '87.

[69]  Martin Gogolla,et al.  Formal semantics of SQL , 1994 .

[70]  G. Antoshenkov,et al.  Dynamic query optimization in Rdb/VMS , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[71]  Kyuseok Shim,et al.  Including Group-By in Query Optimization , 1994, VLDB.

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

[73]  Alfred V. Aho,et al.  Equivalences Among Relational Expressions , 1979, SIAM J. Comput..

[74]  Stanley B. Zdonik,et al.  Inferring Function Semantics to Optimize Queries , 1998, VLDB.

[75]  Giuseppe Pelagatti,et al.  Formal semantics of SQL queries , 1991, TODS.

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

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

[78]  Huzhi Yang,et al.  Computing Queries from Derived Relations: Theoretical Foundation , 1987 .

[79]  Ronald Fagin,et al.  Normal forms and relational database operators , 1979, SIGMOD '79.

[80]  Regina Motz,et al.  A formal semantics for sql , 1990, Int. J. Comput. Math..

[81]  Martin L. Kersten,et al.  The Complexity of Transformation-Based Join Enumeration , 1997, VLDB.

[82]  Joseph M. Hellerstein,et al.  Practical predicate placement , 1994, SIGMOD '94.

[83]  Rom Langerak,et al.  View updates in relational databases with an independent scheme , 1990, TODS.

[84]  Timos K. Sellis Efficiently supporting procedures in relational database systems , 1987, SIGMOD '87.

[85]  Heikki Mannila,et al.  Algorithms for Inferring Functional Dependencies from Relations , 1994, Data Knowl. Eng..

[86]  Yannis E. Ioannidis,et al.  Randomized algorithms for optimizing large join queries , 1990, SIGMOD '90.

[87]  Johann-Christoph Freytag,et al.  A rule-based view of query optimization , 1987, SIGMOD '87.

[88]  Mihalis Yannakakis,et al.  Equivalences Among Relational Expressions with the Union and Difference Operators , 1980, J. ACM.

[89]  Arun N. Swami,et al.  Optimization of large join queries , 1988, SIGMOD '88.

[90]  Ronald Fagin,et al.  Functional Dependencies in a Relational Data Base and Propositional Logic , 1977, IBM J. Res. Dev..

[91]  Anthony C. Klug,et al.  Determining View dependencies using tableaux , 1982, TODS.

[92]  Mark Levene,et al.  Database design for incomplete relations , 1999, TODS.

[93]  Edward Sciore,et al.  A method for automatic rule derivation to support semantic query optimization , 1992, TODS.

[94]  Paul Larson,et al.  Grouping and Duplicate Elimination: Benefits of Early Aggregation , 1997 .

[95]  Gösta Grahne,et al.  Dependency Satisfaction in Databases with Incomplete Information , 1984, VLDB.

[96]  Raghu Ramakrishnan,et al.  Database Management Systems , 1976 .

[97]  Patrick Valduriez,et al.  Optimization of Complex Database Queries Using Join Indices. , 1986 .

[98]  Nick Roussopoulos,et al.  An incremental access method for ViewCache: concept, algorithms, and cost analysis , 1991, TODS.

[99]  Jeffrey Scott Vitter,et al.  Selectivity estimation in the presence of alphanumeric correlations , 1997, Proceedings 13th International Conference on Data Engineering.

[100]  Per-Ake Larson,et al.  Performing Group-By before Join , 1994, ICDE 1994.

[101]  Guido Moerkotte,et al.  Access support in object bases , 1990, SIGMOD '90.

[102]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[103]  Peter M. G. Apers,et al.  Optimization of Nested Queries in a Complex Object Model , 1994, EDBT.

[104]  Surajit Chaudhuri,et al.  Maintenance of Materialized Views: Problems, Techniques, and Applications. , 1995 .

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

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

[107]  Surajit Chaudhuri,et al.  Optimization of queries with user-defined predicates , 1996, TODS.

[108]  Masatoshi Yoshikawa,et al.  Query processing for distributed databases using generalized semi-joins , 1982, SIGMOD '82.

[109]  Catriel Beeri,et al.  A complete axiomatization for functional and multivalued dependencies in database relations , 1977, SIGMOD '77.

[110]  Giinter von Biiltzingsloewen Translating and Optimizing SQL Queries Having Aggregates , 1987 .

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

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

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

[114]  Timos K. Sellis,et al.  Intelligent caching and indexing techniques for relational database systems , 1988, Inf. Syst..

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

[116]  Arthur M. Keller,et al.  The Role of Semantics in Translating View Updates , 1986, Computer.

[117]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

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

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

[120]  Arnon Rosenthal,et al.  Extending the Algebraic Framework of Query Processing to Handle Outerjoins , 1984, VLDB.

[121]  John Grant,et al.  Null Values in a Relational Data Base , 1977, Inf. Process. Lett..

[122]  Per-Åke Larson,et al.  Computing Queries from Derived Relations , 1985, VLDB.

[123]  Tok-Wang Ling Improving data base integrity based on functional dependencies. , 1978 .

[124]  Martin L. Kersten,et al.  Uniformly-Distributed Random Generation of Join Orders , 1995, ICDT.

[125]  Werner Kießling On Semantic Reefs and Efficient Processing of Correlation Queries with Aggregates , 1985, VLDB.

[126]  Sukhamay Kundu An improved algorithm for finding a key of a relation , 1985, PODS '85.

[127]  Hans Henrik Lbvengreen Formalization of Database Systems -and a Formal Definition of Ims Carpxrting Review W Classification & Keymrds F.3.2 Semntics of Database System D-3.1 Database System Formal Definitions & Iheory D.2.1 Specification Languages, Methodologies, Tools D.2.0 Database Standards H.2.1 Data Models B&bibliogr , 1998 .

[128]  Per-Åke Larson,et al.  Updating derived relations: detecting irrelevant and autonomously computable updates , 1986, VLDB.

[129]  Nancy L. Martin,et al.  Join index, materialized view, and hybrid-hash join: a performance analysis , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[130]  Jean-Marie Nicolas First order logic formalization for functional, multivalued and mutual dependencies , 1978, SIGMOD '78.

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

[132]  Arthur M. Keller,et al.  Updating relational databases through views , 1985 .

[133]  Joachim Biskup,et al.  A Formal Approach to Null Values in Database Relations , 1979, Advances in Data Base Theory.

[134]  Arnon Rosenthal,et al.  Outerjoin simplification and reordering for query optimization , 1997, TODS.

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

[136]  Carlo Zaniolo Database relations with null values , 1982, PODS '82.

[137]  Eugene J. Shekita,et al.  Fundamental techniques for order optimization , 1996, SIGMOD '96.

[138]  Per-Åke Larson,et al.  Eager Aggregation and Lazy Aggregation , 1995, VLDB.

[139]  F. E.,et al.  A Relational Model of Data Large Shared Data Banks , 2000 .

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

[141]  Surajit Chaudhuri,et al.  An Overview of Cost-based Optimization of Queries with Aggregates , 1995, IEEE Data Eng. Bull..

[142]  Claudio L. Lucchesi,et al.  Candidate Keys for Relations , 1978, J. Comput. Syst. Sci..

[143]  Jiawei Han,et al.  Distance-associated join indices for spatial range search , 1992, [1992] Eighth International Conference on Data Engineering.

[144]  M. Tamer Özsu,et al.  Join processing heuristics in relational database systems , 1990, Inf. Syst..

[145]  Y. Edmund Lien,et al.  On the Equivalence of Database Models , 1982, JACM.

[146]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[147]  Richard Hull,et al.  Sort sets in the relational model , 1983, PODS '83.

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

[149]  V. D. Thi,et al.  Minimal keys and antikeys , 1986, Acta Cybern..

[150]  Frank,et al.  Understanding the implications of view update policiest , 1998 .

[151]  Guido Moerkotte,et al.  Function Materialization in Object Bases: Design, Realization, and Evaluation , 1994, IEEE Trans. Knowl. Data Eng..

[152]  Michael C. Ferris,et al.  A Genetic Algorithm for Database Query Optimization , 1991, ICGA.

[153]  Martin L. Kersten,et al.  Fast, Randomized Join-Order Selection - Why Use Transformations? , 1994, VLDB.

[154]  Bruce G. Lindsay,et al.  Database Snapshots , 1980, VLDB.

[155]  David S. Johnson,et al.  Testing containment of conjunctive queries under functional and inclusion dependencies , 1982, J. Comput. Syst. Sci..

[156]  Serge Abiteboul,et al.  Complexity of answering queries using materialized views , 1998, PODS.

[157]  C. J. Date A Guide to the SQL Standard , 1987 .

[158]  H. V. Jagadish,et al.  Data Integration using Self-Maintainable Views , 1996, EDBT.

[159]  M. Carey,et al.  Processing Top N and Bottom N Queries , 1997, IEEE Data Eng. Bull..

[160]  Giorgio Ausiello,et al.  Minimal Representation of Directed Hypergraphs , 1986, SIAM J. Comput..

[161]  Hamid Pirahesh,et al.  A rule engine for query transformation in Starburst and IBM DB2 C/S DBMS , 1997, Proceedings 13th International Conference on Data Engineering.

[162]  Ronald Fagin,et al.  A normal form for relational databases that is based on domains and keys , 1981, TODS.

[163]  Serge Abiteboul,et al.  Tuple Sequences and Indexes , 1984, ICALP.

[164]  Goetz Graefe,et al.  Extensible Query Optimization and Parallel Execution in Volcano , 1991, Query Processing for Advanced Database Systems.

[165]  Jeffrey D. Ullman,et al.  A complete axiomatization for a large class of dependencies in relational datatbases , 1980, STOC '80.

[166]  Serge Abiteboul,et al.  Tuple sequences and lexicographic indexes , 1986, JACM.

[167]  Antonio L. Furtado,et al.  Permitting updates through views of data bases , 1979, Inf. Syst..

[168]  Guido Moerkotte,et al.  Access Support Relations: An Indexing Method for Object Bases , 1992, Inf. Syst..

[169]  Mark Levene,et al.  The additivity problem for functional dependencies in incomplete relations , 1997, Acta Informatica.

[170]  Frederick H. Lochovsky,et al.  Hierarchical Data-Base Management: A Survey , 1976, CSUR.

[171]  David Maier,et al.  Rapid bushy join-order optimization with Cartesian products , 1996, SIGMOD '96.

[172]  Peter M. G. Apers,et al.  Semantic Query Optimization in Distributed Databases , 1991, ICCI.

[173]  Jiawei Han,et al.  Join Index Hierarchies for Supporting Efficient Navigations in Object-Oriented Databases , 1994, VLDB.

[174]  Mark Levene,et al.  Axiomatisation of Functional Dependencies in Incomplete Relations , 1998, Theor. Comput. Sci..

[175]  Y. Edmund Lien Multivalued Dependencies With Null Values In Relational Data Bases , 1979, Fifth International Conference on Very Large Data Bases, 1979..

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

[177]  Louiqa Raschid,et al.  Semantic query optimization for object databases , 1997, Proceedings 13th International Conference on Data Engineering.

[178]  Balakrishna R. Iyer,et al.  Efficient processing of outer joins and aggregate junctions , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[179]  Umeshwar Dayal,et al.  On the correct translation of update operations on relational views , 1982, TODS.

[180]  Leonid Libkin,et al.  Aspects of partial information in databases , 1995 .

[181]  Elizabeth O'Neil,et al.  Database--Principles, Programming, and Performance , 1994 .

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

[183]  Nick Roussopoulos,et al.  View indexing in relational databases , 1982, TODS.

[184]  David Maier Minimum Covers in Relational Database Model , 1980, JACM.

[185]  Antonio L. Furtado,et al.  An algebra of quotient relations , 1977, SIGMOD '77.

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

[187]  Hamid Pirahesh,et al.  Cost-based optimization for magic: algebra and implementation , 1996, SIGMOD '96.

[188]  H. M. Taylor,et al.  ESTIMATING BLOCK ACCESSES WHEN ATTRIBUTES ARE CORRELATED , 1986 .

[189]  Hossein Saiedian,et al.  An Efficient Algorithm to Compute the Candidate Keys of a Relational Database Schema , 1996, Comput. J..

[190]  M. Tamer Özsu,et al.  Finding heuristics for processing selection queries in relational database systems , 1990, Inf. Syst..

[191]  Clement T. Yu,et al.  Priniples of Database Query Processing for Advanced Applications , 1997 .

[192]  Raymond Fadous,et al.  Finding candidate keys for relational data bases , 1975, SIGMOD '75.

[193]  Philip A. Bernstein,et al.  Synthesizing third normal form relations from functional dependencies , 1976, TODS.

[194]  Sheldon J. Finkelstein Common expression analysis in database applications , 1982, SIGMOD '82.

[195]  Doron Rotem Spatial join indices , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[196]  Surajit Chaudhuri,et al.  An overview of query optimization in relational systems , 1998, PODS.

[197]  Jeffrey F. Naughton,et al.  Query execution techniques for caching expensive methods , 1996, SIGMOD '96.

[198]  David Maier,et al.  Generalized Mutual Dependencies And The Decomposition Of Database Relations , 1979, Fifth International Conference on Very Large Data Bases, 1979..

[199]  Mohamed Ziauddin,et al.  Materialized Views in Oracle , 1998, VLDB.

[200]  Yannis Vassiliou,et al.  Null values in data base management a denotational semantics approach , 1979, SIGMOD '79.

[201]  Paolo Atzeni,et al.  Functional Dependencies in Relations with Null Values , 1984, Inf. Process. Lett..

[202]  Richard Hull,et al.  Order Dependency in the Relational Model , 1983, Theor. Comput. Sci..

[203]  Guy M. Lohman,et al.  Measuring the Complexity of Join Enumeration in Query Optimization , 1990, VLDB.

[204]  Soumitra Dutta,et al.  A formal model of trade-off between optimization and execution costs in semantic query optimization , 1988, Data Knowl. Eng..

[205]  Balakrishna R. Iyer,et al.  Hypergraph based reorderings of outer join queries with complex predicates , 1995, SIGMOD '95.

[206]  C. J. Date An Introduction to Database Systems , 1975 .

[207]  Jonathan J. King,et al.  Query optimization by semantic reasoning , 1981 .

[208]  Alon Y. Halevy,et al.  Query Optimization by Predicate Move-Around , 1994, VLDB.

[209]  Mark Levene,et al.  A Lattice View of Functional Dependencies in Incomplete Relations , 1995, Acta Cybern..

[210]  Balakrishna R. Iyer,et al.  SQL query optimization: reordering for a general class of queries , 1996, SIGMOD '96.

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

[212]  Michael V. Mannino,et al.  Statistical profile estimation in database systems , 1988, CSUR.

[213]  John Miles Smith,et al.  Optimizing the performance of a relational algebra database interface , 1975, CACM.

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

[215]  Goetz Graefe,et al.  Fast algorithms for universal quantification in large databases , 1995, TODS.

[216]  Timos K. Sellis,et al.  Global query optimization , 1986, SIGMOD '86.

[217]  Per-Åke Larson,et al.  Query Transformation for PSJ-Queries , 1987, VLDB.

[218]  Alfred V. Aho,et al.  The theory of joins in relational data bases , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[219]  A. V. Hall Optimization of Single Expressions in a Relational Data Base System , 2002 .

[220]  Per-Åke Larson,et al.  Exploiting uniqueness in query optimization , 1994, Proceedings of 1994 IEEE 10th International Conference on Data Engineering.

[221]  Philip A. Bernstein,et al.  Using Semi-Joins to Solve Relational Queries , 1981, JACM.

[222]  Catriel Beeri,et al.  Preserving Functional Dependencies , 1981, SIAM J. Comput..

[223]  Jonathan J. King QUIST: A System for Semantic Query Optimization in Relational Databases , 1981, VLDB.

[224]  Z. Meral Özsoyoglu,et al.  A system for semantic query optimization , 1987, SIGMOD '87.

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

[226]  Gennady Antoshenkov,et al.  Dynamic optimization of index scans restricted by Booleans , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[227]  David A. Bell,et al.  Pragmatic estimation of join sizes and attribute correlations , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[228]  Arnon Rosenthal,et al.  An architecture for query optimization , 1982, SIGMOD '82.

[229]  Anthony C. Klug Calculating constraints on relational expression , 1980, TODS.

[230]  Dina Bitton,et al.  Estimating Block Accessses when Attributes are Correlated , 1986, VLDB.

[231]  Guido Moerkotte,et al.  On the Complexity of Generating Optimal Left-Deep Processing Trees with Cross Products , 1995, ICDT.

[232]  Arthur M. Keller,et al.  Algorithms for translating view updates to database updates for views involving selections, projections, and joins , 1985, PODS.

[233]  Stavros Christodoulakis,et al.  Estimating record selectivities , 1983, Inf. Syst..

[234]  Hamid Pirahesh,et al.  Extensible query processing in starburst , 1989, SIGMOD '89.

[235]  Mark Levene,et al.  Null Inclusion Dependencies in Relational Databases , 1997, Inf. Comput..

[236]  Rokia Missaoui,et al.  The implication problem for inclusion dependencies: a graph approach , 1990, SGMD.

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

[238]  C. J. Date An Introduction to Database Systems, Volume I, 5th Edition , 1986 .

[239]  Won Kim,et al.  A new way to compute the product and join of relations , 1980, SIGMOD '80.

[240]  Timos K. Sellis,et al.  On the Multiple-Query Optimization Problem , 1990, IEEE Trans. Knowl. Data Eng..

[241]  Surajit Chaudhuri,et al.  Optimization of real conjunctive queries , 1993, PODS '93.

[242]  Yannis Vassiliou Functional Dependencies and Incomplete Information , 1980, VLDB.

[243]  C. Mohan,et al.  Single Table Access Using Multiple Indexes: Optimization, Execution, and Concurrency Control Techniques , 1990, EDBT.

[244]  Friedhelm Meyer auf der Heide,et al.  Dynamic perfect hashing: upper and lower bounds , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[245]  Yehoshua Sagiv Quadratic Algorithms for Minimizing Joins in Restricted Relational Expressions , 1983, SIAM J. Comput..

[246]  Balakrishna R. Iyer,et al.  A polynomial time algorithm for optimizing join queries , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[247]  Alan R. Simon,et al.  Understanding the New SQL: A Complete Guide , 1993 .

[248]  Joseph M. Hellerstein,et al.  Optimization techniques for queries with expensive methods , 1998, TODS.

[249]  Philip A. Bernstein,et al.  Computational problems related to the design of normal form relational schemas , 1979, TODS.

[250]  Robert Kooi,et al.  The Optimization of Queries in Relational Databases , 1980 .

[251]  Toshihide Ibaraki,et al.  On the optimal nesting order for computing N-relational joins , 1984, TODS.

[252]  Arun N. Swami,et al.  Optimization of large join queries: combining heuristics and combinatorial techniques , 1989, SIGMOD '89.

[253]  Paolo Atzeni,et al.  Functional Dependencies and Constraints on Null Values in Database Relations , 1986, Inf. Control..

[254]  Guido Moerkotte,et al.  Heuristic and randomized optimization for the join ordering problem , 1997, The VLDB Journal.

[255]  Patrick E. O'Neil,et al.  Database Principles, Programming, Performance , 1994 .

[256]  Giorgio Ausiello,et al.  Graph Algorithms for Functional Dependency Manipulation , 1983, JACM.