CS713 : Object Oriented DBMS

Course Overview

Course Synopsis

This is a graduate level course. The course starts with the discussion on why the users or industry needs the Object Oriented Database Management Systems (OODBMSs). The first main reason is the limitations found in the RDBMS. Second reason is the need for extra features in the advanced DB applications. The third reason is the motivation for the use of OO concepts in databases after the success of OO paradigm in the application development. Then the focus shifts on two approaches towards achieving Object Orientation in databases: Extended Relational and Object Relational DBMSs. The basic concept to support OO feature is to transform high-level programming language constructs or OSQL commands to the relational commands in order to satisfy both the OO and relational features. Then OODBMS perspective, related issues and OODBMS standards are discussed. In the end, OO issues in the context of distributed database systems are discussed.

Course Learning Outcomes

Upon successful completion of this course, students should be able to:

  • Understand the need of object oriented databases.
  • Know about the current state of relational and object-relational databases.
  • Learn the features of object oriented databases.
  • Know about some leading object oriented database management systems.
  • Know about research issues in object oriented databases.


Course Calendar

1 The need of Object-Oriented databases, History of Data Models
2 ER Data Model, Enhanced ER Data Model, Main Reasons for OODBMS
3 Review the features of Object-Oriented, Object Identity (OID), Complex Objects, Relationships between Objects, Mapping classes to Relations
4 The Basic Theme of OODBMS, Design Techniques for OODBMS, Extension Techniques in RDBMS
5 Extended Relational Data Model DBMS, POSTGRES
6 POSTGRES (cont...), STARBURST
7 STARBURST (cont...), Complex Objects, Structure of Objects
8 STARBURST (cont...), Object Relational Systems
9 Object/Relational Systems, Open ODB, ILLUSTRA
10 ILLUSTRA DBMS, OODBMS
11 OODBMS (cont...), Implementation of Data Model, Functional Data Model, OODBMS Manifesto
12 OODBS Manifesto (cont...), OODBMS Perspectives, Pointer Swizzling Techniques
13 OODBMS Perspectives (cont...), Pointer Swizzling (cont...)
14 OODBMS Perspectives (cont...), Persistence
15 Persistence (cont...), Issues in OODBMS
16 Issues in OODBMS (cont...), Schema Consistency, OODBMS Architectures, Benchmarking
17 OODBMS Standards, Object Data Management Group (ODMG), Object Management Group (OMG)
18 ODMG (cont...), Specification and Implementation, Inheritance of State, ODMG Objects, ODL Interface
19 ODMG Objects (cont...)
20 ODMG Object Collections, Structured Objects
21 OODBMS Standards, Locking and Concurrency Control
22 Database Concurrency
23 ODMG, Transaction Model, Database Operations, Object Specification Languages, Object Definition Language, Object Interchange Format (OIF), ODMS States
24 ODMG (cont...), OIF (cont...), Link Definitions, Command Line Utilities, Object Query Language (OQL)
25 ODMG (cont...), C++ Binding, Mapping of Object Model into C++, C++ ODL, C++ OML
26 ODMG (cont...), OML (cont...), C++ OQL
27 ODMG (cont...), OO Support in Oracle
28 OO Support in Oracle (cont...), Member Procedure or Function, Inheritance
29 Mutual-Exclusion Inheritance (using OO Features), Partition Inheritance, Multiple Inheritance, Association, Containment Relationships
30 OO Support in Oracle (cont...), Existence Dependant Aggregation, Clustering, Nested Tables, Non-Existence Dependent Aggregation, OO Methods
31 OO Support in Oracle (cont...), Generic OO Methods, Union Inheritance with OO Features, Mutual Exclusion Inheritance with OO Approach
32 OO Support in Oracle (cont...), Partition Inheritance, Multiple Inheritance
33 OO Support in Oracle (cont...), User Defined and Subclass Queries, OODBMS, Objectivity/DB (O/DB)
34 Objectivity/DB (cont...), Storage Hierarchy, Partition Component, Working with O/DB objects, Persistence Capable Classes, Persistence-Collection Classes, O/DB Data Model, Operations on O/DB Objects, Developing O/DB Application
35 Objectivity/DB (cont...), Objectivity/C++ Programming Interface
36 Objectivity/C++ Programming Interface (cont...)
37 Objectivity/C++ Programming Interface (cont....)
38 Objectivity/C++ Programming Interface (cont.....)
39 Objectivity/DB (cont...), Transactions
40 Objectivity/DB C++ DDL ,Schema Development ,Schema Development with Objectivity/DDL ,Creating DDL Files ,Processing DDL Files
41 Objectivity/DB C++ DDL (cont...)
42 Objectivity/DB C++ DDL (cont...), Association, Specifying Object Copying and Versioning Behavior, Objectivity/SQL++
43 Objectivity/SQL++ (cont...)
44 OO Distributed Database Management System (OODDBMS)
45 OODDBMS (cont...), Transaction Management, Query Processing/Optimization, OODBMS (Pros and Cons), Overview of the Course