Extending the functional data model to computational completeness

  • Alexandra Poulovassilis
  • Peter King
Session 3: Data Models
Part of the Lecture Notes in Computer Science book series (LNCS, volume 416)


We introduce the functional database language FDL which extends the functional data model to computational completeness while also supporting the persistence of any function, whether extensionally or intentionally defined. FDL improves on previous implementations of the functional data model by providing a uniform formalism both for modelling data and for computation, by supporting arbitrarily nested data types which are all persistent, and by allowing for the representation of incomplete and default knowledge. All functions are updated incrementally by the insertion and deletion of individual equations and an integrity sub-system verifies updates against the declared semantic integrity constraints.


Query Evaluation Functional Language Query Graph Match Tree Functional Programming Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABRI74]
    Abrial, J.R., Data Semantics, in "Data Base Management", pp 1–59, J.W. Klimbie and K.L. Koffeman (eds.), North Holland, 1974Google Scholar
  2. [ALBA85]
    Albano A., Cardelli L. and Orsini R., Galileo: A Strongly Typed, Interactive Conceptual Language, A.C.M. Trans. on Database Systems, 10(2) 1985, pp 230–260CrossRefGoogle Scholar
  3. [ATKI87]
    Atkinson M.P. and Buneman P., Types and Persistence in Database Programming Languages, A.C.M. Computing Surveys, 19(2) 1987, pp 105–190CrossRefGoogle Scholar
  4. [BANC87]
    Bancilhon F., Briggs T., Khoshafian S. and Valduriez P., FAD, A Powerful and Simple Database Language, Proc. of the 13th VLDB Conference, September 1987, pp 97–105Google Scholar
  5. [BANC88]
    Bancilhon F., Object-Oriented Database Systems, Proc. of the 11th A.C.M. Symposium on Principles of Database Systems, pp 152–162Google Scholar
  6. [BATO88]
    Batory D.S., Leung T.Y. and Wise T.E., Implementation Concepts for an Extensible Data Model and Data Language, A.C.M. Trans. on Database Systems, 13(3) 1988, pp 231–262CrossRefGoogle Scholar
  7. [BEEC88]
    Beech D., A Foundation of Evolution from Relational to Object Databases, in [SCHM88]Google Scholar
  8. [BUNE82]
    Buneman P., Frankel R.E. and Nikhil R., An Implementation Technique for Database Query Languages, A.C.M. Trans. on Database Systems, 7(2) 1982, pp 164–186CrossRefGoogle Scholar
  9. [CARD85]
    Cardelli L., Amber, in "Combinators and Functional Programming Languages", G. Cousineau et al. (eds.), Springer-Verlag, 1985Google Scholar
  10. [CARD87]
    Cardelli L., Basic Polymorphic Typechecking, Science of Computer Programming, 8(2) 1987, pp 17–172CrossRefGoogle Scholar
  11. [CLAR78]
    Clark K.L., Negation as Failure, in [GALL78]Google Scholar
  12. [DAYA87]
    Dayal U. et al., Simplifying Complex Objects: The PROBE Approach to Modelling and Querying Them, presented at the International Workshop on the Theory and Applications of Nested Relations and Complex Objects, Darmstadt, West Germany, April 1987Google Scholar
  13. [DERA89]
    Derakhshan M. A Development of the Grid File for the Storage of Binary Relations, Ph.D. Thesis, Birkbeck College, University of London, March 1989Google Scholar
  14. [DITT88]
    Dittrich K.R. (ed.), Advances in Object-Oriented Database Systems, Lecture Notes in Computer Science, No. 334, Springer-Verlag, September 1988Google Scholar
  15. [FIEL88]
    Field A.J. and Harrison P., Functional Programming, Addison Wesley, 1988Google Scholar
  16. [FLOR74]
    Florentin J.J., Consistency Auditing of Databases, The Computer Journal, 17(1) 1974, pp 52–58CrossRefGoogle Scholar
  17. [GALL78]
    Gallaire H. and Minker J. (eds.), Logic and Databases, Plenum Press, 1978Google Scholar
  18. [GRAY88]
    Gray P.M.D., Moffat D.S., and Paton N.W., A Prolog Interface to a Functional Data Model Database, in [SCHM88]Google Scholar
  19. [HAMM78]
    Hammer M.M. and McLeod D.J., The Semantic Data Model: A Modelling Mechanism for database applications, Proc. of the A.C.M. SIGMOD Conference, 1978, pp 26–35Google Scholar
  20. [HEIL88]
    Heiler S. and Zdonik S., Views, Data Abstraction and Inheritance in the FUGUE Data Model, in [DITT88]Google Scholar
  21. [HIND86]
    Hindley J.R. and Seldin J.P., Introduction to Combinators and the Lambda Calculus, Cambridge University Press, 1986Google Scholar
  22. [JOUA85]
    Jouannaud J.-P. (ed.), Functional Programming Languages and Computer Architectures, Lecture Notes in Computer Science No. 201, Springer-Verlag, 1985Google Scholar
  23. [KHOS86]
    Khoshafian S.N. and Copeland G.P., Object Identity, Proc. of the A.C.M. OOPSLA Conference, October 1986, pp 406–416Google Scholar
  24. [KING89]
    King P., Derakhshan M., Poulovassilis A. and Small C., TRISTARP — An investigation into the development and exploitation of Binary Relational Storage Structures, submitted for publication.Google Scholar
  25. [KULK86]
    Kulkarni K.G. and Atkinson M.P., EFDM: Extended Functional Data Model, The Computer Journal, 29(1) 1986, pp 38–46CrossRefGoogle Scholar
  26. [KULK87]
    Kulkarni K.G. and Atkinson M.P., Implementing an Extended Functional Data Model Using PS-Algol, Software Practice and Experience, 17(3) 1987, pp 171–185Google Scholar
  27. [MILN78]
    Milner R., A Theory of Type Polymorphism in Programming, Journal of Computer and System Sciences, Vol 17, 1978, pp 348–375CrossRefGoogle Scholar
  28. [MILN84]
    Milner R., A Proposal for Standard ML, Proc. of the A.C.M. Symposium on LISP and Functional Programming, 1984, pp 184–197Google Scholar
  29. [NIEV84]
    Nievergelt J., Hinterberger H. and Sevcik K.C., The Grid File: An Adaptable Symmetric Multikey File Structure, A.C.M. Trans. on Database Systems, 9(1) 1984, pp 38–71CrossRefGoogle Scholar
  30. [NIKH85]
    Nikhil R., Practical Polymorphism, in [JOUA85]Google Scholar
  31. [PATO88]
    Paton N.W. and Gray P.D.M., Object Storage in Databases, Research Report AUCS/TR8803, Department of Computing Science, University of AberdeenGoogle Scholar
  32. [PEYT87]
    Peyton Jones S.L., The Implementation of Functional Programming Languages, Prentice Hall International, 1987Google Scholar
  33. [POUL89]
    Poulovassilis A., The Design and Implementation of FDL, a Functional Database Language, Forthcoming Ph.D. Thesis, Birkbeck College, University of London, 1989Google Scholar
  34. [REIT78]
    Reiter R., On Closed World Databases, in [GALL78]Google Scholar
  35. [SCHM88]
    Schmidt J.W., Ceri S. and Missikof M. (eds.), Advances in Database Technology — EDBT 88, Lecture Notes in Computer Science, No. 303, Springer-Verlag, March 1988Google Scholar
  36. [SHIP81]
    Shipman D., The Functional Data Model and the Data Language DAPLEX, A.C.M. Trans. on Database Systems, 6(1) 1981, pp 140–173CrossRefGoogle Scholar
  37. [SIBL77]
    Sibley E.H. and Kershberg L., Data Architecture and Data Model Considerations, Proc. of the AFIPS National Computer Conference, 1977, pp 85–96Google Scholar
  38. [SMIT83]
    Smith J.M, Fox S. and Landers T., ADAPLEX Rationale and Reference Manual, Computer Corporation of America, CCA-83-08Google Scholar
  39. [TURN85]
    Turner D.A., Miranda: A non-strict functional language with polymorphic types, in [JOUA85]Google Scholar
  40. [VERH82]
    Verheijen G.M.A and Van Bekkum J., NIAM: An Information Analysis Method, in "Information Systems Design Methodologies: A Comparative Review", T.W. Olle et al. (eds.), North Holland, 1982, pp 537–589Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Alexandra Poulovassilis
    • 1
  • Peter King
    • 1
  1. 1.Department of Computer Science, Birkbeck CollegeUniversity of LondonLondonU.K.

Personalised recommendations