Capítulo de livro Revisado por pares

A recursive base for database programming primitives

1991; Springer Science+Business Media; Linguagem: Inglês

10.1007/3-540-54141-1_17

ISSN

1611-3349

Autores

David Stemple, Tim Sheard,

Tópico(s)

Data Management and Algorithms

Resumo

High level languages of limited expressiveness have been shown to be very effective in reducing the difficulty of specifying computations, both queries and updates, over databases. The most notable of these are relational algebra and SQL (including its update language). The main problem of these languages is not their limited computational power, but rather that their formality (or lack of it) makes it hard to uniformly integrate them with more powerful relational operations, e. g., transitive closure or least fixpoint operators, and with the operations of other algebras, such as arithmetic and abstract data type algebras. Such problems not only make it difficult to extend the languages felicitously, but reasoning about the properties of integrity constraints and transactions in these languages is much more difficult than is necessary. In this paper, we present a single high level set traversal construct that provides the formal and computational base for relational algebra, associative updates, aggregate functions, nested relations, transitive closure, and complex objects. This construct is not a new construct, but is formalized in a novel manner, and has not been shown previously to support the range of functions to which it is applied here. We also explore a means of using a generalization of this operator to capture formal properties of some computations on complex objects with identifiers and recursively typed data that might be appropriate for database languages.

Referência(s)