Results 1 -
2 of
2
Comprehensions, a Query Notation for DBPLs
- Proceedings of the 3rd International Workshop on Database Programming Languages
, 1991
"... This paper argues that comprehensions, a construct found in some programming languages, are a good query notation for DBPLs. It is shown that, like many other query notations, comprehensions can be smoothly integrated into DBPLs and allow queries to be expressed clearly, concisely and efficiently. M ..."
Abstract
-
Cited by 55 (4 self)
- Add to MetaCart
This paper argues that comprehensions, a construct found in some programming languages, are a good query notation for DBPLs. It is shown that, like many other query notations, comprehensions can be smoothly integrated into DBPLs and allow queries to be expressed clearly, concisely and efficiently. More significantly, two advantages of comprehensions are demonstrated. The first advantage is that, unlike conventional notations, comprehension queries combine computational power with ease of optimisation. That is, not only can comprehension queries express both recursion and computation, but equivalent comprehension transformations exist for all of the major conventional optimisations. The second advantage is that comprehensions provide a uniform notation for expressing and performing some optimisation on queries over several bulk data types. The bulk types that comprehensions can be defined over include sets, relations, bags and lists. A DBPL can also be automatically extended to provide and partially optimise comprehension queries over new bulk types constructed by the application programmer, providing that the new type has some well-defined properties. 1
Towards a Theory of Bulk Types
, 1991
"... A database programming language can model application domains most naturally if it supports several bulk types, e.g., lists, sets, and relations. Indeed some persistent programming languages permit the programmer to define new bulk types that are appropriate to the application domain. Such a richly ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
A database programming language can model application domains most naturally if it supports several bulk types, e.g., lists, sets, and relations. Indeed some persistent programming languages permit the programmer to define new bulk types that are appropriate to the application domain. Such a richly typed language tends to be complex, since constructs must be provided to declare, construct, inspect, and update instances of every bulk type. The collection theory presented here controls the complexity of such richly typed languages by exploiting operations and properties common to a variety of bulk types. The theory is based on four operations -- three constructor operations and one iterator -- that obey certain algebraic laws. In addition, a rich set of additional operations can be defined in terms of the basic operations. Sets, bags, lists, certain trees, relations, and finite mappings are all encompassed by the collection theory. Conversely, types that we would not intuitively classify...

