Results 1 -
4 of
4
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
A Functional Database
, 1989
"... A Functional Database Phil Trinder D.Phil. Thesis Wolfson College Michaelmas Term, 1989 This thesis explores the use of functional languages to implement, manipulate and query databases. Implementing databases. A functional language is used to construct a database manager that allows efficient and c ..."
Abstract
-
Cited by 21 (3 self)
- Add to MetaCart
A Functional Database Phil Trinder D.Phil. Thesis Wolfson College Michaelmas Term, 1989 This thesis explores the use of functional languages to implement, manipulate and query databases. Implementing databases. A functional language is used to construct a database manager that allows efficient and concurrent access to shared data. In contrast to the locking mechanism found in conventional databases, the functional database uses data dependency to provide exclusion. Results obtained from a prototype database demonstrate that data dependency permits an unusual degree of concurrency between operations on the data. The prototype database is used to exhibit some problems that seriously restrict concurrency and also to demonstrate the resolution of these problems using a new primitive. The design of a more realistic database is outlined. Some restrictions on the data structures that can be used in a functional database are also uncovered. Manipulating databases. Functions over the database a...
Models for Persistence in Lazy Functional Programming Systems
, 1993
"... Research into providing support for long term data in lazy functional programming systems is presented in this thesis. The motivation for this work has been to reap the benefits of integrating lazy functional programming languages and persistence. The benefits are . the programmer need not write cod ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Research into providing support for long term data in lazy functional programming systems is presented in this thesis. The motivation for this work has been to reap the benefits of integrating lazy functional programming languages and persistence. The benefits are . the programmer need not write code to support long term data since this is provided as part of the programming system . persistent data can be used in a type safe way since the programming language type system applies to data with the whole range of persistence . the benefits of lazy evaluation are extended to the full lifetime of a data value. Whilst data is reachable, any evaluation performed on the data persists. A data value changes monotonically from an unevaluated state towards a completely evaluated state over time. . interactive data intensive applications such as functional databases can be developed. These benefits are realised by the development of models for persistence in lazy functional programming systems. Tw...
Mnesia - An Industrial DBMS with Transactions, Distribution and a Logical Query Language
- International Symposium on Cooperative Database Systems for Advanced Applications. Kyoto Japan
, 1996
"... Mnesia is a full DBMS made for telecommunications industrial needs. It has distributed transactions, fast real time lookups, crash recovery and a logical query language. The DBMS is written in the functional language Erlang which is also the intended applications language. It already has real users ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Mnesia is a full DBMS made for telecommunications industrial needs. It has distributed transactions, fast real time lookups, crash recovery and a logical query language. The DBMS is written in the functional language Erlang which is also the intended applications language. It already has real users developing products. 1 Introduction Mnesia is a multiuser Distributed DBMS (Database Management System) specially made for industrial telecommunications applications written in the symbolic language Erlang[AVWW95]. In telecommunications applications there are needs different from the features provided by traditional DBMS's. The applications we now see implemented in the Erlang language need a mixture of a broad range of features. The most extreme among those are: 1. fast soft real-time key-value lookup 2. complicated non-realtime queries mainly for operation and maintenance 3. distributed data due to distributed applications 4. high fault-tolerance 5. dynamic re-configuration 6. variable-...

