Department of Computer Science    Queens College    City University of New York

CS 332/780: Object-Oriented Databases

Instructor: Keitaro Yukawa


In contrast to relational databases that store data in a collection of tables with columns, object-oriented databases (OODBs) store data in a graph of persistent class objects spanned by object references. Merits of OODBs include straightforward mapping of high-level object-oriented models to implementations, seamless integration of transient and persistent classes, and suitability for storing complex objects required in engineering and scientific applications.

The main focus of the course will be model-driven development, architecture, and implementation of OODB systems. The principal modeling tool will be class and object diagrams of Unified Modeling Language. Key modeling concepts will be dealt with, such as effective use of generalization-specialization hierarchy, analysis and modeling of complex objects by aggregation, composition, and whole-part relations, comparisons of inheritance vs. whole-part relations for representing generalization-specialization, and temporal modeling.

The student will design, model, and implement a substantial object-oriented database. Implementation will be done in an OODB system that realizes the Java Data Objects architecture. However, this is not a course on UML or Java Data Objects; relatively small portions of these will be used as concrete tools to reinforce the grasp of abstract principles and methods described in the course.

The other topics include: comparisons of OODBs with relational and object-relational databases, categorization of OODB systems, object identity and object sharing, index structures, transaction management, and concurrency control.

Prerequisites

For CS 332: CS 331 Database Systems
For CS 780: Completion of all conditional courses and a course equivalent to CS 331

A working knowledge of JAVA is required for both CS 332 and CS 780.

Grading Scheme