Next: Specification and Verification I
Up: Lent Term 1998: Part
Previous: Comparative Architectures
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: Specification and Verification I
Up: Lent Term 1998: Part
Previous: Comparative Architectures
Christine Northeast
Sat Sep 27 09:31:14 BST 1997