Existentially quantified types as a database viewing mechanism
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.
KeywordsRepresentation Type Database Management System View Relation Account Number Abstract Type
Unable to display preview. Download preview PDF.
- [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
- [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
- [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
- [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
- [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
- [IBM78]IMS/VS Publications IBM, White Plains, N.Y. (1978).Google Scholar
- [Mat85]Matthews, D.C.J. "Poly Manual" Technical Report 65, University of Cambridge, U.K. (1985).Google Scholar
- [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
- [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
- [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
- [ps87]"The PS-algol Reference Manual fourth edition", Universities of Glasgow and St.Andrews PPRR-12 (1987).Google Scholar