functional database

functional database

(database, language)
A database which uses a functional language as its query language.

Databases would seem to be an inappropriate application for functional languages since, a purely functional language would have to return a new copy of the entire database every time (part of) it was updated. To be practically scalable, the update mechanism must clearly be destructive rather than functional; however it is quite feasible for the query language to be purely functional so long as the database is considered as an argument.

One approach to the update problem would use a monad to encapsulate database access and ensure it was single threaded. Alternative approaches have been suggested by Trinder, who suggests non-destructive updating with shared data structures, and Sutton who uses a variant of a Phil Wadler's linear type system.

There are two main classes of functional database languages. The first is based upon Backus' FP language, of which FQL is probably the best known example. Adaplan is a more recent language which falls into this category.

More recently, people have been working on languages which are syntactically very similar to modern functional programming languages, but which also provide all of the features of a database language, e.g. bulk data structures which can be incrementally updated, type systems which can be incrementally updated, and all data persisting in a database. Examples are PFL [Poulovassilis&Small, VLDB-91], and Machiavelli [Ohori et al, ACM SIGMOD Conference, 1998].

Query optimisation is very important for database languages in general and the referential transparency of functional languages allows optimisations which would be harder to verify in presence of side-effects.

[Trinder, P., "Referentially transparent database languages", 1989 Glasgow Workshop on Functional programming]

[Breazu-Tannen et al., DBPL-91].

[Poulovassilis, VLDB-94].
References in periodicals archive ?
Key Performance Indicators/Measurable Objective: # of wards functional database by 30 June 2016/17
The task of planning and setting up a workable database proved to be time consuming and format sensitive, but the final product was a functional database.
While these systems are appropriate for command and control functions, they cannot process and manipulate obstacle information as part of a functional database to the required level of detail.
This is a very large, functional database that our vendors use quite a bit.
Frank Vrancken Peeters, director of ScienceDirect, said: "The integration of PsycINFO with ScienceDirect offers our customers a valuable, highly functional database, which will increase navigation to and disclosure of a critical mass of literature in the field.
The GRIDSCALE server appears as a single, fully functional database to all applications, which are unaware that any one of several database servers may be used to fulfill their requests.
The Agent includes an easy to use graphical user interface for the management and reporting of virtual machine backups; a robust scheduler which provides a wide range of scheduling options; and a highly functional database that contains client configuration, logs, and scheduling information.
To do this, vendors need a fully functional database management system to host the data, accompanied by the new advanced search features supplied by Entier to quickly and efficiently manage and find their music, pictures, video and other content in a more personalized and powerful way.
0 include the ability to run a complete, fully functional database on the device and to synchronize the device database with a central database.
The combination of the intelligent software and the palm-sized business card scanner allows users to scan a business card in a few seconds, capture all the card's data, and automatically convert this data into a fully functional database.

Full browser ?