From the past few years, data management and application environment have been getting complex. These can be handled by the Object Oriented Database Management System (ODBMS). In this system, there are combined features of object-oriented and database management system.
Object-Oriented features such as Encapsulation, Polymorphism, and Inheritance are enforced in addition to database concepts like ACID properties which leads to integrity of system, support for ad-hoc query language, and also for secondary storage management systems. Accessing objects in database is done in a transparent manner such that interaction with persistent objects is not different from interaction with memory objects. The products of ODBMS include ‘Object Store’ by Design Inc. and ‘Objectivity/DB’ by Objectivity Inc.
Applications of ODBMS :
- Used in financial applications of risk management as these applications yield a real-time view of data.
- Used in telecommunication applications because they can automatically monitor, recognize, and track communication network which is based on hundreds of parameters which are based on real-time.
- Used in medical applications that are used to handle X-rays, MRI scans, etc.
- Used for Computer-Aided Design and Computer-Aided Manufacturing.
- Used for multimedia applications that use video, audio, and the high quality of graphics that require data-management features.
- To handle inter-related data by which computer-assisted Software Engineering is designed.
Golden Rules of ODBMS :
The database to be an ODBMS must satisfy two criteria. The first criterion is that it must be a DBMS and second criterion is that it must have features of Object-Oriented. The first attempt that defines features of ODBMS is “Object-Oriented Database System Manifesto”. It also includes 13 mandatory features and some optional characteristics. The 13 rules are basically divided into two sets. First set contains 8 rules that define that it is an Object-Oriented and second set contains 5 rules that define that it is a DBMS.
These are explained as following below.
- System must support Complex Objects –
Complex objects are possible to build from simple objects by adding constructors to them. Simple objects are like integers, floats, and booleans. Complex object constructor includes sets, lists, and array tuples. Minimal number of constructors that system must have are sets, tuples, and lists.
- Support for Object Identity –
An object must have an existence that is independent of its values. This is used to compare OID and object’s state. In this, each object has a unique, unchargeable OID independent of its current state and behavior.
- Object must be Encapsulated –
This feature ensures that object must show only public aspects while other details like implementation must be hidden.
- Support for Type or Class –
This rule is basically used by users to choose whether system is to support concept of class or type. Classes are used for storage and manipulation of data of a similar type. But a Type is used to check type errors in attribute value assignment at compile time.
- Support for Inheritance –
An object must inherit properties of parent class. Thus, increasing re-usability of existing code.
- Avoid Premature Binding –
This feature helps user to add same name of objects to different classes. Object-Oriented concept decides which implementation is to be used at run time according to object to which class it belongs. This is also known as Late Binding.
- Computationally Complete –
A computationally complete function uses DML of database system i.e it allow users to add any type of operations in language.
- Extensible System –
It has ability to define new data types without any distinction between system-defined and user-defined types.
- Support Persistence –
Object-Oriented system keeps all objects in memory and after shut down of computer, all object space is lost. Persistence is ability of programmer that execution of process survives, to reuse it again.
- Support very databases –
Since objects in database management are very complex and large, thus they need to optimize management of secondary storage devices with help of buffers and access path selection techniques.
- Support for Concurrent Users –
As the management of multiple users concurrently interacts with system, system must provide same level of service as current database system provides.
- Must support Recovery –
The system is able to recover itself from any kind of hardware and software failure. System must provide support for automated backup and recovery tools.
- Adhoc Query Facility –
As RDBMS supports SQL, ODBMS supports object query language i.e., SQL.
ODBMS also supports some additional features as follows –
- Support for multiple inheritance.
- Support for type checking and type interfacing.
- Support for distributed ODBMS.
- Support for Versioning.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Difference between Row oriented and Column oriented data stores in DBMS
- Introduction of Relational Model and Codd Rules in DBMS
- Neo4j | Naming rules and recommendations
- Need for DBMS
- Recoverability in DBMS
- Disadvantages of DBMS
- The CAP Theorem in DBMS
- Difference between 1NF and 2NF in DBMS
- Deadlock in DBMS
- History of DBMS
- Difference between 2NF and 3NF in DBMS
- Cascadeless in DBMS
- Interfaces in DBMS
- Difference between DDL and DML in DBMS
- Starvation in DBMS
- OLAP Operations in DBMS
- Difference between BCNF and 4NF in DBMS
- Difference between RDBMS and DBMS
- Result Serializability in DBMS
- Disadvantages of Distributed DBMS
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.