Existentially quantified types as a database viewing mechanism

  • Richard Connor
  • Alan Dearle
  • Ronald Morrison
  • Fred Brown
Session 7: Database Programming Languages
Part of the Lecture Notes in Computer Science book series (LNCS, volume 416)


In database management systems, viewing mechanisms have been used to provide conceptual support for the user and security for the overall system. By controlling the style of database use, views aid the user by concentrating on the area of interest, and the system by ensuring the integrity of the data.

In recent years, there have been a number of proposals for database or persistent programming languages. Such languages must be able to provide the facilities traditionally found in both database management systems and programming languages. In this paper we demonstrate how a persistent programming language, Napier88, can provide a viewing mechanism over persistent data by using existentially quantified types. The views, which may be generated dynamically, are statically type checked. The technique shown is applicable to any language which supports existentially quantified data types and a persistent store.


Representation Type Database Management System View Relation Account Number Abstract Type 
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.

9 References

  1. [ABC76]
    Astrahan M.M., Blasgen M.W., Chamberlin D.D., Eswaran K.P., Gray J.N., Griffiths P.P., King W.F., Lorie R.A., McJones P.R., Mehl J.W., Putzolu G.R., Traiger I.L., Waid B.W. & Watson V. "System R: A Relational Approach to Data Management" ACM TODS 1,2 (June 1976), pp 97–137.CrossRefGoogle Scholar
  2. [ABC83]
    Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, W.P. & Morrison, R. "An Approach to Persistent Programming" Computer Journal 26,4 (November 1983), pp 360–365.Google Scholar
  3. [ABM88]
    Atkinson, M.P., Buneman, O.P. & Morrison, R. "Binding and Type Checking in Database Programming Languages" Computer Journal. 31,2 (1988), pp 99–109.CrossRefGoogle Scholar
  4. [ACO85]
    Albano, A., Cardelli, L. & Orsini, R. "Galileo: A Strongly Typed Conceptual Language" ACM TODS 10,2 (June 1985), pp 230–260.CrossRefGoogle Scholar
  5. [BCD89]
    Bancilhon, F., Cluet, S. & Delobel, C. "A Query Language for the O2 Object-Oriented Database System" 2nd International Workshop on Database Programming Languages, Salishan, Oregon Morgan & Kaufmann (1989), pp 122–138Google Scholar
  6. [BL84]
    Burstall, R. & Lampson, B. "A Kernal Language for Abstract Data Types and Modules" Proc. international symposium on the semantics of data types, Sophia-Antipolis, France (1984). In Lecture Notes in Computer Science. 173. Springer-Verlag (1984).Google Scholar
  7. [CW85]
    Cardelli, L. & Wegner, P. "On Understanding Types, Data Abstraction and Polymorphism" ACM Computing Surveys 17,4 (December 1985), pp 471–523.CrossRefGoogle Scholar
  8. [Dea89]
    Dearle A. "Environments: A Flexible Binding Mechanism to Support System Evolution" Proc. Hawaii International Conference on System Sciences (1989), pp 46–55.Google Scholar
  9. [Har85]
    Harper R. "Modules and Persistence in Standard ML" Proc Persistence Data Types Workshop, Appin, Scotland (1985) in Data Types and Persistence (Ed. Atkinson M.P., Buneman P. & Morrison R.) Springer-Verlag (1985), pp 21–30.Google Scholar
  10. [IBM78]
    IMS/VS Publications IBM, White Plains, N.Y. (1978).Google Scholar
  11. [Mat85]
    Matthews, D.C.J. "Poly Manual" Technical Report 65, University of Cambridge, U.K. (1985).Google Scholar
  12. [MBC88]
    Morrison, R., Brown, A.L., Connor, R.C.H. & Dearle, A. "Napier88 Reference Manual" Persistent Programming Research Report PPRR-77-89, University of St Andrews. (1989).Google Scholar
  13. [MP85]
    Mitchell J.C. & Plotkin G.D. "Abstract Types have Existential type" ACM TOPLAS 10,3 (July 1988), pp 470–502.CrossRefGoogle Scholar
  14. [NW74]
    Needham R.M. & Walker R.D. "Protection and Process management in the CAP computer" Proc. International Workshop on Protection in Operating Systems. IRIA Rocquencourt, (August 1974), pp 155–160.Google Scholar
  15. [Pow85]
    Powell M.S. "Adding Programming Facilities to an Abstract Data Store" Proc. Persistence Data Type Workshop, Appin, Scotland. Universities of Glasgow and St Andrews PPRR-16-85 (Ed. Atkinson M.P., Buneman P. & Morrison R.) (1985) pp 139–160.Google Scholar
  16. [ps87]
    "The PS-algol Reference Manual fourth edition", Universities of Glasgow and St.Andrews PPRR-12 (1987).Google Scholar
  17. [SWK76]
    Stonebreaker M., Wong E., Kreps P, & Held G. "The Design and Implementation of INGRES" ACM TODS 1,3 (1976) pp 189–222.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Richard Connor
    • 1
  • Alan Dearle
    • 1
  • Ronald Morrison
    • 1
  • Fred Brown
    • 1
  1. 1.Department of Computational ScienceUniversity of St Andrews, North HaughSt AndrewsScotland

Personalised recommendations