## Investigation of Algebraic Query Optimisation for Database Programming Languages (1994)

Venue: | In Proceedings of the 20th Int'l Conference on Very Large Databases (VLDB |

Citations: | 7 - 3 self |

### BibTeX

@INPROCEEDINGS{Poulovassilis94investigationof,

author = {Alexandra Poulovassilis},

title = {Investigation of Algebraic Query Optimisation for Database Programming Languages},

booktitle = {In Proceedings of the 20th Int'l Conference on Very Large Databases (VLDB},

year = {1994},

pages = {415--426}

}

### OpenURL

### Abstract

alexQdcs.kcl.ac.uk A major challenge still facing the designers and implementors of database programming languages (DBPLs) is that of query optimisa-tion. We investigate algebraic query optimi-sation techniques for DBPLs in the context of a purely declarative functional language that supports sets as first-class objects. Since the language is computationally complete issues such as non-termination of expressions and construction of infinite data structures can be investigated, whilst its declarative nature al-lows the issue of side effects to be avoided and a richer set of equivalences to be developed. The support of a set bulk data type enables much prior work on the optimisation of rela-tional languages to be utilised. Finally, the language has a well-defined semantics which permits us to reason formally about the prop erties of expressions, such as their equivalence with other expressions and their termination. 1

### Citations

1376 | Lectures on constructive functional programming
- Bird
- 1988
(Show Context)
Citation Context ...to prove the equivalence even if x is infinite i.e. contains ? elements. In the terminology of [Sch86] a proposition of the above form is an inclusive predicate for which fixpoint induction is valid. =-=[Bir88]-=- gives an accessible discussion of structural induction and uses it to prove equivalences over infinite lists and trees. We similarly use it to prove our equivalences over, possibly infinite, sets bel... |

1112 | Principles of Database and Knowledge-Base Systems: Volume II: The New Technologies - Ullman - 1990 |

176 |
Logic and Computation: interactive proof with Cambridge LCF
- Paulson
- 1987
(Show Context)
Citation Context ...ded with sophisticated tools if they are to aid the optimisation process. Such tools have already been developed for functional languages, examples being strictness analysis [Cla85] and Cambridge LCF =-=[Pau87]-=-, which can be used to prove properties of functions such as equivalence and termination. Page 11 Acknowledgements We are grateful to the anonymous referees for their pertinent remarks on a previous v... |

174 |
Introduction to Combinators and -Calculus
- Hindley, Seldin
- 1988
(Show Context)
Citation Context ...his work with related research. Finally, in Section 6 we give our conclusions and indicate directions of further work. 2 The Language The formal foundation of any functional language is the -calculus =-=[Hin86]. Expressions in this calculus have the -=-following syntax: expr = var j primitive j ""var"."expr j expr 1 expr 2 j "(" expr ")" A variable x is said to be bound in an expression e if it occurs in a sub... |

119 |
The implementation of functional programming languages
- Peyton-Jones
- 1987
(Show Context)
Citation Context ...s e 1 ; :::; e n . We use v; w; x; y; z for denoting variables, p; q; r for patterns, and e, e 0 for expressions. This extendedscalculus is straight-forwardly mapped into the (ordinary)scalculus (see =-=[Pey87]-=-). In particular, let x = e 0 in e translates into (x:e)e 0 . The semantic soundness of fi reduction thus gives the first equivalence: let/1 let x = e 0 in e = e[e 0 =x] This equivalence can be used t... |

109 | Structural recursion as a query language - Breazu-Tannen, Buneman, et al. - 1991 |

90 | Database Programming in Machiavelli – a Polymorphic Language with Static Type Inference - Ohori, Buneman, et al. - 1989 |

78 | A general framework for the optimization of object-oriented queries
- Cluet, Delobel
- 1992
(Show Context)
Citation Context ...d can thus address termination issues; we also allow for the possibility that sets may be infinite; and we have investigated equivalences expressed at several levels of abstraction. Cluet and Delobel =-=[Clu92]-=- propose a query optimisation formalism for O 2 based upon classes and algebraic query rewriting. One assumption made is that methods have no side-effects, although it would seem difficult in practice... |

70 | Fad, a powerful and simple database language - Bancilhon, Briggs, et al. - 1987 |

69 | Algebraic Support for Complex Objects with Arrays - Vandenberg - 1991 |

48 | Algebraic optimization of object-oriented query languages - Beeri, Kornatzky - 1990 |

45 | Algebraic properties of bag data types - Albert - 1991 |

36 |
Strictness analysis - a practical approach
- Clack, Peyton-Jones
- 1985
(Show Context)
Citation Context ...gument,sf will not terminate either). Information about the strictness properties of a function can be derived from the known strictness properties of the built-in functions using strictness analysis =-=[Cla85]-=-. Continuity of functions. A function f is said to be continuous if, for every sequence of values d 1 v d 2 v ::: in the domain of f , f(tfd 1 ; d 2 ; :::g) = tff d 1 ; f d 2 ; :::g. In other words, c... |

32 | Managing persistent objects in a multi-level store - Stonebraker - 1991 |

24 | A Functional Database
- Trinder
- 1989
(Show Context)
Citation Context ...an be shown to hold. (ii) Some bulk data structures are inherently hard to optimise. For example, lists only readily support the common relational optimisations if the concept of bag equality is used =-=[Tri89]-=- (i.e. lists are equal if they contain the same elements, although possibly in different orders), whilst some of the algebraic properties of sets fail for bags [Alb91]. (iii) Since DBPLs are computati... |

16 | A functional DBPL revealing high level optimizations - Erwig, Lipeck - 1991 |

12 | Optimising and Executing Daplex Queries Using Prolog - Paton, Gray - 1990 |

10 | A Transformation Based Approach for Optimizing Loops in Database Programming Languages - Lieuwen, Dewitt - 1992 |

6 |
List Comprehensions in Agna, A Parallel Persistent Object System
- Heytens, Nikhil
- 1991
(Show Context)
Citation Context ...d for example) and that functions over their elements are terminating (otherwise abs/3 would not hold). Trinder also proposessfilter hiding, which corresponds to a combination of our abs/7 and abs/8. =-=[Hey91]-=- too is concerned with the optimisation of list-valued expressions, and in this context proposes combining unary expressions (analogous to our map/1 and filter/1-3), eliminating iteration over functio... |

5 | Query Optimisation in Database Systems - Jarke, Koch - 1984 |

4 |
The mechanical transformation of data types
- Harrison, Khoshnevisan
- 1992
(Show Context)
Citation Context ...ns. Such information may be readily available in languages which use a functional or objectoriented data model, and may also be available from other sources e.g. via proofs supplied by the programmer =-=[Har92]-=-. In the case of extensional functions, inverses typically correspond to fast access paths provided by indexes. An implicit assumption for the equivalences we give below is that the functions and thei... |

3 |
A domain-theoretic approach to integrating logic and functional database languages
- Poulovassilis, Small
- 1993
(Show Context)
Citation Context ...alences over infinite lists and trees. We similarly use it to prove our equivalences over, possibly infinite, sets below. Sets are important in our language, so we briefly recall their semantics (see =-=[Pou93]-=- for further details). The least element of the type consisting of sets of values of type t is the set f? t g. For example, the value of f = x:(fx) [ (fx) is x:f?g, while the value of nats = n:fng[ (n... |

2 | Algebraic query optimisation in the CoOMS structurally object-oriented database system - Demuth, Gorchs, et al. - 1994 |

2 | An object oriented query algebra - Shaw, Zdonik - 1989 |

1 | Functional and predicative pmgmmming - Beeri, Milo - 1992 |

1 | Introduction to functional pmgmmming - Bird, Wadler - 1988 |

1 | Strictness analysis - a pmctical approach - Clack, Peyton-Jones - 1985 |

1 | A Geneml Fmmework for the Optimization of Object-Oriented Queries - Cluet, Delobel - 1992 |

1 | The mechanical tmnsformation of data types - Harrison, Khoshafian - 1992 |

1 | Query optimisotion in database systems - Jarke, Koch - 1984 |

1 | A tmnsformation - based approach to optimizing loops in database pmgmmming languages - Lieuwin, Dewitt - 1992 |

1 | Logic and computation: intemctive proof with Cambridge LCF - Paulson - 1986 |

1 | The Implementation of Functional Pmgmmming Languages - Peyton-Jones - 1987 |

1 | An object oriented query algebm - Shaw, Zdonik - 1989 |

1 | Functional and predicative programming - Beeri, Milo - 1992 |