Torsten Grust, Marc H. Scholl
<span title="2012-12-27">2012</span> <i title="Springer Science and Business Media LLC"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/vroc7njkyfa33bcb5ggxy5so3a" style="color: black;">Journal of Intelligent Information Systems</a> </i> &nbsp;
Compilers and optimizers for declarative query languages use some form of intermediate language to represent user-level queries. The advent of compositional query languages for orthogonal type systems (e.g., OQL) calls for internal query representations beyond extensions of relational algebra. This work adopts a view of query processing which is greatly influenced by ideas from the functional programming domain. A uniform formal framework is presented which covers all query translation phases,
more &raquo; ... ncluding user-level query language compilation, query optimization, and execution plan generation. We pursue the type-based design-based on initial algebras-of a core functional language which is then developed into an intermediate representation that fits the needs of advanced query processing. Based on the principle of structural recursion we extend the language by monad comprehensions (which provide us with a calculus-style sublanguage that proves to be useful during the optimization of nested queries) and combinators (abstractions of the query operators implemented by the underlying target query engine). Due to its functional nature, the language is susceptible to program transformation techniques that were developed by the functional programming as well as the functional data model communities. We show how database query processing can substantially benefit from these techniques. (Ex) Capability of expressing any user query (this affects query operators as well as the type system).
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1023/a:1008705026446">doi:10.1023/a:1008705026446</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/etk6p72tvrbjxhnete6a6ww6si">fatcat:etk6p72tvrbjxhnete6a6ww6si</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20200322011201/https://kops.uni-konstanz.de/bitstream/handle/123456789/20141/Scholl%20How%20to%20comprehend%20201419.pdf;sequence=1" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/35/6b/356be2f73a7a0fc63d5beb12f3abdb75327f8973.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1023/a:1008705026446"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> Publisher / doi.org </button> </a>