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

The need of Object-Oriented databases, History of Data Models1
ER Data Model, Enhanced ER Data Model, Main Reasons for OODBMS2
Review the features of Object-Oriented, Object Identity (OID), Complex Objects, Relationships between Objects, Mapping classes to Relations3
The Basic Theme of OODBMS, Design Techniques for OODBMS, Extension Techniques in RDBMS4
Extended Relational Data Model DBMS, POSTGRES5
STARBURST (cont...), Complex Objects, Structure of Objects7
STARBURST (cont...), Object Relational Systems8
Assignment No. 1
Object/Relational Systems, Open ODB, ILLUSTRA9
OODBMS (cont...), Implementation of Data Model, Functional Data Model, OODBMS Manifesto11
OODBS Manifesto (cont...), OODBMS Perspectives, Pointer Swizzling Techniques12
OODBMS Perspectives (cont...), Pointer Swizzling (cont...)13
OODBMS Perspectives (cont...), Persistence14
Persistence (cont...), Issues in OODBMS15
Issues in OODBMS (cont...), Schema Consistency, OODBMS Architectures, Benchmarking16
Assignment No. 2
OODBMS Standards, Object Data Management Group (ODMG), Object Management Group (OMG)17
ODMG (cont...), Specification and Implementation, Inheritance of State, ODMG Objects, ODL Interface18
ODMG Objects (cont...)19
ODMG Object Collections, Structured Objects20
OODBMS Standards, Locking and Concurrency Control21
Database Concurrency22
Mid-term Examination
ODMG, Transaction Model, Database Operations, Object Specification Languages, Object Definition Language, Object Interchange Format (OIF), ODMS States23
ODMG (cont...), OIF (cont...), Link Definitions, Command Line Utilities, Object Query Language (OQL)24
ODMG (cont...), C++ Binding, Mapping of Object Model into C++, C++ ODL, C++ OML25
ODMG (cont...), OML (cont...), C++ OQL26
ODMG (cont...), OO Support in Oracle27
OO Support in Oracle (cont...), Member Procedure or Function, Inheritance28
Mutual-Exclusion Inheritance (using OO Features), Partition Inheritance, Multiple Inheritance, Association, Containment Relationships29
OO Support in Oracle (cont...), Existence Dependant Aggregation, Clustering, Nested Tables, Non-Existence Dependent Aggregation, OO Methods30
Assignment No. 3
OO Support in Oracle (cont...), Generic OO Methods, Union Inheritance with OO Features, Mutual Exclusion Inheritance with OO Approach31
OO Support in Oracle (cont...), Partition Inheritance, Multiple Inheritance32
OO Support in Oracle (cont...), User Defined and Subclass Queries, OODBMS, Objectivity/DB (O/DB)33
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 Application34
Objectivity/DB (cont...), Objectivity/C++ Programming Interface35
Objectivity/C++ Programming Interface (cont...)36
Objectivity/C++ Programming Interface (cont...)37
Objectivity/C++ Programming Interface (cont...)38
Objectivity/DB (cont...), Transactions39
Academic Research Paper
Objectivity/DB C++ DDL ,Schema Development ,Schema Development with Objectivity/DDL ,Creating DDL Files ,Processing DDL Files40
Objectivity/DB C++ DDL (cont...)41
Objectivity/DB C++ DDL (cont...), Association, Specifying Object Copying and Versioning Behavior, Objectivity/SQL++42
Objectivity/SQL++ (cont...)43
OO Distributed Database Management System (OODDBMS)44
OODDBMS (cont...), Transaction Management, Query Processing/Optimization, OODBMS (Pros and Cons), Overview of the Course45
Final-term Examination
Back to Top