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 CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.