Wasim Akram Mohammad Tayyab Sajid Saeed

‡ It is a software that operates object-oriented databases. ‡ ODMG defines ODBMS as ³A DBMS that integrates database capabilities with object-oriented programming language capabilities´ .

‡ It is a database model in which data is represented in the form of OBJECTS.


ODBMS was introduced during the mid 1980¶s and early 1990's. It was mainly used in Computer-Aided Design (CAD) and Computer-Aided Software Engineering (CASE) tools



An object is a complex data or entity, which consists of State and Behaviours.

Attributes Relationships Methods Messages


In C++ (an OOP language) an object is defined as any instantiation of a class type data, or simply a variable declared for a class type data.

Data structure is a user defined data type which consists of elementary data types.
‡ e.g. in C++ ‡ struct student ‡ { varchar name, ‡ int roll no, ‡ float gpa ‡ };

Function / Method
‡ The set of instructions which defines the procedure to perform an operation on the data structure.

‡ Class is a user defined ³complex data type" including its member data types (attributes) and operations.

Object (Amir) Class (Student) Data structure (Student) Char (name) Print ( ) Int (Roll no:) Insert ( _ ) Varchar (smstr) Char (Dept) reference Update (smstr ) Class (dept.)


Language Drivers

‡ It provides interface between query and underlying secondary data storage. ‡ e.g. C++, Java, .NET

Query Engine

‡ Responsible for interpreting & executing query Commands. ‡ e.g. OQL, LINQ, JDOQL

Transaction Engine

‡ Ensures that a group of OQL commands either fail or succeed in performing a transaction (unit of work).

Storage Engine

‡ Stores and retrieves data from secondary storage. It also provides methods to administer & control information s.

Persistence of data Indexing Transaction Management Recovery

Models and stores complex data (objects) and complex relationships.

Data and methods are stored together and managed together. DBMS (Application) & Database both use same object-oriented model and persistent programming languages.

Fast retrieval of objects.

Don¶t have flexible query engine. Complicated. Requires technical skills to operate. Only operations that are defined in class, can be performed. Not efficient for simple data and relationships.

` ` ` `

` ` `

C. j. Date, C. D. (1999), An Introduction to Database Systems. databases/articles/object-oriented_database_oodbms_definition.html

Sign up to vote on this title
UsefulNot useful