next up previous contents
Next: Specification and Verification I Up: Lent Term 1998: Part Previous: Comparative Architectures

Database Topics

Lecturer: Dr J.K.M. Moody (km@cl.cam.ac.uk)

No. of lectures: 8

Prerequisite courses: Concurrent Systems, Databases  

System requirements for database applications.
Transaction processing. Concurrency control, review. Update of persistent structures. Semantic loss between programming language data types and ANSI/SPARC data models.

Persistent programming languages.
DataBase Programming Languages. Orthogonal persistence. PS-ALGOL language overview. PIDs. Referential integrity and reachability.

PS-ALGOL language extensions.
First-class procedure closures. Databases and Tables. Procedural extensions to the run-time system. Data migration. PIDLAM.

Persistent Object Management System.
Nature of a PID. Space allocation within Databases. LBNs and RBNs. COMMIT processing. Epochs. Type persistence, structural types.

DAPLEX.
Functional data model. The data language DAPLEX. Built-in types. DECLARE for entity definition. Sub-typing and inheritance. Single- and many-valued functions. Virtual data, DEFINE. Inverse functions. Set-based semantics. Aggregates. OVER and multi-set semantics.

Object data management.
Object design methodologies. Inheritance. OODBs. ONTOS, O2, etc. The navigational style revisited. The Object-Oriented Database System Manifesto (1989). Distributed object management. Object Management Group (OMG). OMG/IDL.

The object database standard ODMG-93.
The relationship with OMG. The ODMG object model. Transient and persistent objects. Type system: atomic objects (user-defined), collection objects, literal types, structures. Null-extended types. Tables. Attributes. Object identifiers as values. Relationships and their inverses. Operations and exceptions. Transactions. 2PL as the default concurrency control policy. Databases. ODMG/ODL: a programming-language independent specification for object models. OQL: an object query language extending the SQL query sublanguage. Update by method invocation. Navigation via path expressions. WHERE clauses. Language specific bindings: C++, Java and Smalltalk.

Recommended books:

Ullman, J.D. & Widom, J. (1997). A First Course in Database Systems. Prentice-Hall.

Bacon, J.M. (1997). Concurrent Systems. Addison-Wesley (2nd ed.).

Bernstein, P.A., Hadzilacos, V. & Goodman, N. (1987). Concurrency Control and Recovery in Database Systems. Addison-Wesley.

Cattell, R.G.G. (1991). Object Data Management. Addison-Wesley.

Cattell, R.G.G. (ed.) (1997). The Object Database Standard ODMG-93, Release 2.0. Morgan Kaufmann.


next up previous contents
Next: Specification and Verification I Up: Lent Term 1998: Part Previous: Comparative Architectures

Christine Northeast
Sat Sep 27 09:31:14 BST 1997