Results 1 -
8 of
8
Polymorphism and Type Inference in Database Programming
"... In order to find a static type system that adequately supports database languages, we need to express the most general type of a program that involves database operations. This can be achieved through an extension to the type system of ML that captures the polymorphic nature of field selection, toge ..."
Abstract
-
Cited by 43 (10 self)
- Add to MetaCart
In order to find a static type system that adequately supports database languages, we need to express the most general type of a program that involves database operations. This can be achieved through an extension to the type system of ML that captures the polymorphic nature of field selection, together with a technique that generalizes relational operators to arbitrary data structures. The combination provides a statically typed language in which generalized relational databases may be cleanly represented as typed structures. As in ML types are inferred, which relieves the programmer of making the type assertions that may be required in a complex database environment. These extensions may also be used to provide static polymorphic typechecking in object-oriented languages and databases. A problem that arises with object-oriented databases is the apparent need for dynamic typechecking when dealing with queries on heterogeneous collections of objects. An extension of the type system needed for generalized relational operations can also be used for manipulating collections of dynamically typed values in a statically typed language. A prototype language based on these ideas has been implemented. While it lacks a proper treatment of persistent data, it demonstrates that a wide variety of database structures can be cleanly represented in a polymorphic programming language.
Incremental Updates for Materialized OQL Views
- IN PROC. DOOD
, 1997
"... This work discusses the CROQUE approach to the maintenance problem for materialized views. In a CROQUE database, application-specified collections (type extents or classes) themselves need not be materialized. In exchange, the system maintains (redundant) views of the application data that help to m ..."
Abstract
-
Cited by 28 (5 self)
- Add to MetaCart
(Show Context)
This work discusses the CROQUE approach to the maintenance problem for materialized views. In a CROQUE database, application-specified collections (type extents or classes) themselves need not be materialized. In exchange, the system maintains (redundant) views of the application data that help to minimize query response time. We understand views as functions of database objects and examine algebraic properties of these functions, in particular linearity, to derive incremental update plans. It turns out that it is feasible to employ ODMG OQL as a view definition language -- instead of inventing a specialized one -- in such an environment, since the majority of its clauses represent linear functions.
Query Evaluation in CROQUE -- Calculus and Algebra Coincide
"... With the substantial change of declarative query languages from plain SQL to the so-called "object SQLs", in particular OQL, there has surprisingly been not much change in the way problems of query representation and optimization for such languages are tackled. We identify some of the dif ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
With the substantial change of declarative query languages from plain SQL to the so-called "object SQLs", in particular OQL, there has surprisingly been not much change in the way problems of query representation and optimization for such languages are tackled. We identify some of the difficulties pure algebraic approaches experience when facing object models and the operations defined for them. Calculus-style formalisms suite this challenge better, but are said not to be efficiently implementable in the database context. This paper proposes a hybrid query representation and optimization approach, combining the strengths of a many-sorted query algebra and the monoid comprehension calculus. We show that efficient execution plans beyond nested-loop processing can be derived -- not only for oe-ß-1 queries -- in such a framework. The translation process accounts for queries manipulating bulk-typed values by employing various join methods of the database engine, as well as queries that us...
Towards a Scalable Parallel Object Database - The Bulk Synchronous Parallel Approach
, 1996
"... Parallel computers have been successfully deployed in many scientific and numerical application areas, although their use in non-numerical and database applications has been scarce. In this report, we first survey the architectural advancements beginning to make general-purpose parallel computing co ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
(Show Context)
Parallel computers have been successfully deployed in many scientific and numerical application areas, although their use in non-numerical and database applications has been scarce. In this report, we first survey the architectural advancements beginning to make general-purpose parallel computing cost-effective, the requirements for non-numerical (or symbolic) applications, and the previous attempts to develop parallel databases. The central theme of the Bulk Synchronous Parallel model is to provide a high level abstraction of parallel computing hardware whilst providing a realisation of a parallel programming model that enables architecture independent programs to deliver scalable performance on diverse hardware platforms. Therefore, the primary objective of this report is to investigate the feasibility of developing a portable, scalable, parallel object database, based on the Bulk Synchronous Parallel model of computation. In particular, we devise a way of providing high-level abstra...
A Processing Framework For Object Comprehensions
- Information and Software Technology
, 1997
"... Syntax of Object Comprehensions Es ::= E j E , Es E ::= E union E j E differ E j [ Xs --- E ] j E and E j E or E j not E j E hasClass E j E hasClass E with E j Y E ! Y E j E / E j E . E j I( Es ) j I j K j f Es g j f E : : : E g j E . [ E ] j A E j ( E ) Xs ::= j X j X ; Xs X ::= D j L ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
(Show Context)
Syntax of Object Comprehensions Es ::= E j E , Es E ::= E union E j E differ E j [ Xs --- E ] j E and E j E or E j not E j E hasClass E j E hasClass E with E j Y E ! Y E j E / E j E . E j I( Es ) j I j K j f Es g j f E : : : E g j E . [ E ] j A E j ( E ) Xs ::= j X j X ; Xs X ::= D j L j E D ::= I / E L ::= I as E Y ::= j some j atleast E j just E j atmost E j every A ::= size ::= set j bag j list ! ::= = j = j ? j ?= j ! j != j == j == / ::= * j / j + j - B Abstract Syntax of Function Arguments F ::= I . E j F ffi F Es ::= E j E, Es E ::= E . E j I( Es ) j E ff E j E ! E j E / E j I j K j ( E ) j Q ff ::= j j : ! ::= = j = j ? j ?= j ! j != / ::= * j / j + j - 22 References ...
Monoid Comprehensions as a Target for the Translation of OQL
- IN WORKSHOP ON PERFORMANCE ENHANCEMENT IN OBJECT BASES, SCHLOSS DAGSTUHL
, 1996
"... ..."
Physical OODB Design Exploiting Replication (Extended Abstract)
"... ) Dieter Gluche and Marc H. Scholl University of Konstanz 1 e-mail: fDieter.Gluche, Marc.Schollg@uni-konstanz.de 1 Introduction and Motivation Physical database design is the process of identifying the optimal internal layout of data to be stored on disk to represent the logical information co ..."
Abstract
- Add to MetaCart
) Dieter Gluche and Marc H. Scholl University of Konstanz 1 e-mail: fDieter.Gluche, Marc.Schollg@uni-konstanz.de 1 Introduction and Motivation Physical database design is the process of identifying the optimal internal layout of data to be stored on disk to represent the logical information contained in the logical database schema. This terminology originates from the ANSI-3-SchemaArchitecture [ANS75], where the idea of the separation was that the logical schema represents the global view of the whole database semantics, whereas the physical schema reflects performance considerations. This paper describes the approach to physical database design taken by the CROQUE project. CROQUE stands for Cost and Rule-based Optimization of object QUEries, a DFG-funded joint project between the Universities of Konstanz and Rostock. The overall objective of CROQUE is to implement an ODMG-style object database engine with a very flexible storage manager and a corresponding query and update tran...