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