Results 1 - 10
of
13
Principles of Programming with Complex Objects and Collection Types
- Theoretical Computer Science
, 1995
"... We present a new principle for the development of database query languages that the primitive operations should be organized around types. Viewing a relational database as consisting of sets of records, this principle dictates that we should investigate separately operations for records and sets. Th ..."
Abstract
-
Cited by 111 (28 self)
- Add to MetaCart
We present a new principle for the development of database query languages that the primitive operations should be organized around types. Viewing a relational database as consisting of sets of records, this principle dictates that we should investigate separately operations for records and sets. There are two immediate advantages of this approach, which is partly inspired by basic ideas from category theory. First, it provides a language for structures in which record and set types may be freely combined: nested relations or complex objects. Second, the fundamental operations for sets are closely related to those for other "collection types" such as bags or lists, and this suggests how database languages may be uniformly extended to these new types. The most general operation on sets, that of structural recursion, is one in which not all programs are welldefined. In looking for limited forms of this operation that always give rise to well-defined operations, we find a number of close ...
On Two Forms of Structural Recursion
- in "LNCS 893: Proceedings of 5th International Conference on Database Theory," 111--124
, 1995
"... . We investigate and compare two forms of recursion on sets for querying nested collections. The first one is called sri and it corresponds to sequential processing of data. The second one is called sru and it corresponds to data-parallel processing. A uniform first-order translation from sru into s ..."
Abstract
-
Cited by 16 (11 self)
- Add to MetaCart
. We investigate and compare two forms of recursion on sets for querying nested collections. The first one is called sri and it corresponds to sequential processing of data. The second one is called sru and it corresponds to data-parallel processing. A uniform first-order translation from sru into sri was known from previous work. The converse translation is by necessity more difficult and we have obtained three main results concerning it. First, we exhibit a uniform translation of sri queries into sru queries over the nested relational algebra. We observe that this translation maps PTIME algorithms into exponential-space queries. The second result proves that any uniform translation of sri queries into sru queries over the nested relational algebra must map some PTIME queries into exponential-space ones. In fact, in the presence of certain external functions, we provide a PTIME sri query for which any equivalent sru query requires exponential space. Thus, as a mechanism for implemen...
Efficient Compilation of High-Level Data Parallel Algorithms
- In Proceedings of the ACM Symposium on Parallel Algorithms and Architectures
, 1994
"... We present a high-level parallel calculus for nested sequences, NSC, offered as a possible theoretical "core" of an entire class of collection-oriented parallel languages. NSC is based on while-loops as opposed to general recursion. A formal, machine independent definition of the parallel time comp ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
We present a high-level parallel calculus for nested sequences, NSC, offered as a possible theoretical "core" of an entire class of collection-oriented parallel languages. NSC is based on while-loops as opposed to general recursion. A formal, machine independent definition of the parallel time complexity and the work complexity of programs in NSC is given. Our main results are: (1) We give a translation method for a particular form of recursion, called map-recursion, into NSC, that preserves the time complexity and adds an arbitrarily small overhead to the work complexity, and (2) We give a compilation method for NSC into a very simple vector parallel machine, which preserves the time complexity and again adds an arbitrarily small overhead to the work complexity. 1 Introduction There are many advantages to programming in a high-level language. However, while sequential algorithms are most of the time designed and evaluated in reasonably high-level terms, the situation with parallel ...
Any Algorithm in the Complex Object Algebra with Powerset Needs Exponential Space to Compute Transitive Closure
- in "Proceedings of 13th ACM Symposium on Principles of Database Systems," 201--209
, 1994
"... The Abiteboul and Beeri algebra for complex objects can express a query whose meaning is transitive closure, but the algorithm naturally associated to this query needs exponential space. We show that any other query in the algebra which expresses transitive closure needs exponential space. This prov ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
The Abiteboul and Beeri algebra for complex objects can express a query whose meaning is transitive closure, but the algorithm naturally associated to this query needs exponential space. We show that any other query in the algebra which expresses transitive closure needs exponential space. This proves that in general the powerset is an intractable operator for implementing fixpoint queries. 1 Introduction Abiteboul and Beeri in [AB88] have shown that powerset can express transitive closure (tc), in a language for complex objects without fixpoints or any other form of iterations. But the obvious way of doing that is by a query whose naturally associated algorithm requires exponential space (and time). We prove here that in order to express tc with powerset, exponential space (and time) is indeed needed. This result is of a different nature than classical inexpressibility results (like transitive closure is not expressible in FO [AU79] or even is not expressible in FO+LFP), because it...
Domain-Independent Queries on Databases with External Functions
- in "LNCS 893: Proceedings of 5th International Conference on Database Theory," 177--190
, 1995
"... We investigate queries in the presence of external functions with arbitrary inputs and outputs (atomic values, sets, nested sets etc). We propose a new notion of domain independence for queries with external functions which, in contrast to previous work, can also be applied to query languages with f ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
We investigate queries in the presence of external functions with arbitrary inputs and outputs (atomic values, sets, nested sets etc). We propose a new notion of domain independence for queries with external functions which, in contrast to previous work, can also be applied to query languages with fixpoints or other kinds of iterators. Next, we define two new notions of computable queries with external functions, and prove that they are equivalent, under the assumption that the external functions are total. Thus, our definition of computable queries with external functions is robust. Finally, based on the equivalence result, we give examples of complete query languages with external functions. A byproduct of the equivalence result is the fact that Relational Machines are complete for complex objects: it was known that they are not complete over flat relations. 1 Introduction Database functionalities are important both for practical and for theoretical purposes. E.g. the system O 2 of ...
CoPa: a Parallel Programming Language for Collections
- University of Pennsylvania, Institute for
, 1998
"... In this paper we propose a new framework for parallel processing of collections. We define a high-level language called CoPa for processing nested sets, bags, and sequences (a generalization of arrays and lists). CoPa includes most features found in query languages for object-oriented or object-rela ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
In this paper we propose a new framework for parallel processing of collections. We define a high-level language called CoPa for processing nested sets, bags, and sequences (a generalization of arrays and lists). CoPa includes most features found in query languages for object-oriented or object-relational databases, and has, in addition, a powerful form of recursion not found in query languages. CoPa has a formal declarative definition of parallel complexity, as part of its specification. We prove the existence of a complexity-preserving compilation for CoPa, i.e. one which offers upper-bound guarantees for the parallel complexity of the compiled code. The majority of the compilation process is architecture-independent, using a parallel vector machine model (BVRAM). The BVRAM instructions form a sequence-algebra which is of independent interest, and have been carefully chosen to reconcile two conflicting demands: supporting the complexity-preserving compilation of CoPa's high-level con...
The Complexity of the Evaluation of Complex Algebra Expressions
- Journal of Computer and System Sciences
, 1997
"... The Abiteboul and Beeri algebra for complex objects can express a query whose meaning is transitive closure, but the algorithm naturally associated to this query needs exponential space. We show that any other query in the algebra which expresses transitive closure needs exponential space, under a " ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The Abiteboul and Beeri algebra for complex objects can express a query whose meaning is transitive closure, but the algorithm naturally associated to this query needs exponential space. We show that any other query in the algebra which expresses transitive closure needs exponential space, under a "call by value" evaluation strategy. This proves that in general the powerset is an intractable operator for implementing fixpoint queries. 1 Introduction Abiteboul and Beeri in [AB88] have shown that powerset can express transitive closure (tc), in a language for complex objects without fixpoints or any other form of iterations. But the obvious way of doing that is by a query whose naturally associated algorithm requires exponential space (and time). We prove here that in order to express tc with powerset, exponential space (and time) is indeed needed, under a "call by value" evaluation strategy. This result is of a different nature than classical inexpressibility results (like transitive c...
Tractable Iteration Mechanisms for Bag Languages
- in F. N. Afrati & P. Kolaitis, eds, `Database Theory - ICDT '97, 6th International Conference, Delphi
, 1997
"... . The goal of this paper is to study tractable iteration mechanisms for bags. The presence of duplicates in bags prevents iteration mechanisms developed in the context of sets to be directly applied to bags without losing tractability. We study two constructs for controlling tractability of iter ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
. The goal of this paper is to study tractable iteration mechanisms for bags. The presence of duplicates in bags prevents iteration mechanisms developed in the context of sets to be directly applied to bags without losing tractability. We study two constructs for controlling tractability of iteration over bags. The deflationary fixpoint construct keeps removing elements from a bag until a fixpoint is reached. The bounded fixpoint construct is an inflationary iteration mechanism that never exceeds some predefined bounding bag. We study these constructs in the context of a standard (nested) bag algebra. We show that the deflationary and bounded inflationary fixpoint constructs are equally expressive and strictly more expressive than their set-based counterparts. We also show that, unlike in the set case, the bag algebra with bounded fixpoint fails to capture all PTIME queries over databases with ordered domains. We then show that adding just one construct, which can be used...
Database Theory Column
"... Most database theory focused on investigating databases containing sets of tuples. In practice databases often implement relations using bags, i.e. sets with duplicates. In this paper we study how database query languages are affected by the use of duplicates. We consider query languages that are ..."
Abstract
- Add to MetaCart
Most database theory focused on investigating databases containing sets of tuples. In practice databases often implement relations using bags, i.e. sets with duplicates. In this paper we study how database query languages are affected by the use of duplicates. We consider query languages that are simple extensions of the (nested) relational algebra, and investigate their resulting expressive power and complexity. 1 Introduction In the standard approach to database modeling, relations are assumed to be sets, and no duplicates are allowed. For real applications, many systems relax this restriction [Fis87, HM81] and support bags in their data model, often to save the cost of duplicate elimination. Efforts have been made for providing a theoretical framework for such systems. Algebras for manipulating bags were developed by extending the relational algebra [Alb91, Klu82, OOM87], and optimization techniques for these algebras were studied [BK90, Mum90, Alb91]. Computational aspects of...
Query Languages for Bags and Aggregate Functions
- Journal of Computer and System Sciences
, 1997
"... Theoretical foundations for querying databases based on bags are studied in this paper. We fully determine the strength of many polynomial-time bag operators relative to an ambient query language. Then we obtain BQL, a query language for bags, by picking the strongest combination of these operato ..."
Abstract
- Add to MetaCart
Theoretical foundations for querying databases based on bags are studied in this paper. We fully determine the strength of many polynomial-time bag operators relative to an ambient query language. Then we obtain BQL, a query language for bags, by picking the strongest combination of these operators. The relationship between the nested relational algebra and various fragments of BQL is investigated. The precise amount of extra power that BQL possesses over the nested relational algebra is determined. It is shown that the additional expressiveness of BQL amounts to adding aggregate functions to a relational language. The expressive power of BQL and related languages is investigated in depth. We prove that these languages possess the conservative extension property. That is, the expressibility of queries in these languages is independent of the nesting height of intermediate data. Using this result, we show that recursive queries, such as transitive closure, are not definable in...

