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.
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.