Object-Oriented Database Management System (OODBMS) or Object-based databases or Object-based database is a type of database system that incorporates object-oriented concepts in their structure and working. The basic principle of taking up an object-oriented concept is to create reusable components in code.
Object-Relational Database Management System conducts parallel processing and modeling of data. OODBMS originated when a few software vendors got together to form the Object Database Management Group (ODMG). This group then came together to create standard semantics and syntax for all OODBMS systems. OOODBMS manifesto lays down the 13 rules for an OODBMS conforming to OO principles.
OODBMS- Components
Basic components of oriented databases are:
Object Model (OM)
It is used to define a standard data model that will be used by all object databases. It was created by ODMG. Object Model consists of the following components:
Objects and Literals
These are the basic modeling constructs in Object-oriented database model.
Types
All the objects and literals belong to a particular type.
Properties
It is the state of the object defined by the values associated with the object.
Operations
Also known as methods, it identifies the behaviour of an object. Operations have input as well as output parameters.
Schemas
A database always has a schema that is specified in the ODL (Object Definition language).
Object Specification language
Object Specification can be classified into 2 languages:
Object Definition Language
Used to define objects and their types for the object model.
Object Interchange Language
This language is used to dump the state of the object database from data load files to the object database.
OQL (Object Query Language)
OQL is a query language specifically made to maintain and manage object databases. It is based on SQL (Structured Query Language).
Language Bindings
Language bindings such as Java, C++ are used as an intermediary between the database and programming interface.
Object-Oriented Concepts used in OODBMS
- Abstraction and Encapsulation (Information Hiding)
- Classes
- Methods
- Overriding and Overloading
- Polymorphism
- Inheritance
Advantages of Object-Oriented Database:
- Highly extensible and reduces redundancy by adding subclasses
- Capable to handle large varieties of data types.
- Performance improvement when compared to classic DBMS Systems.
- Highly efficient in advanced database applications and domains such as CAD (Computer-Aided Design) , OIS (Office Information System) etc.
- Schema evolution support
- Superior modelling capability
- High support for Long-duration Database transactions
Disadvantages of Object Oriented Database
- Security mechanisms are not entirely adequate for OODBMS
- Complex and expensive
- No universal data model
- No standard Query language
- Not tested enough i.e. lack of experience
Object-Relational Database Systems
Along with an object-oriented data model, an object-relational model (aka Extended Relational Data Model) was also introduced. RDBMS is the currently most used database technology. A combination of object-oriented concepts and RDBMS was made to cater to the vendors and clients of these technologies.
In the Object-relational database, the object-oriented concepts were extended further with the RDBMS. Object RDBMS is not confined to a single model like the OODBMS. A variety of models exist which are used based on the characteristics of the data. It is very important to achieve advanced database solutions.
Some advantages of Object-Relational Database
- Reusability
- Easy sharing
- Increased productivity
- Better usability