Object Oriented Database Management System(OODBMS)-: In recent years, several database applications have emerged whose complexities is not well handled by the relational database system as relational database system supports a fixed set of data type which is inadequate for such complex applications. These complex applications typically involve data that are highly interrelated such as product definitions, multimedia content, or bills of material etc. Several data modeling concept have been evolved to meet the need of such kind of applications.
The development of object oriented database management system is one effort to satisfy the need of such complex application. The development of OODBMS is mainly due to genesis and refinement of OOP(object oriented paradigm). OODBMS not only handle complex object but also Incorporates feathers like Inheritance, encapsulation etc. that can implementing Object Oriented Model. OODBMS attempts to bring the database world and the application programming world close together by ensuring that database system uses the same system at the application programme users.
Object database system have developed along two distinct paths :-
1. Object Oriented Database Management System(OODBMS)
Object Oriented Database Management System applied object oriented paradigm to database technology. It aims to achieve integration of database with the object oriented languages such as C++ , Small Talk etc. It attempts to become an alternative of Relational Database System with better features and support to complex data.
An object oriented database management system is a DBMS that supports the modelling and creation of data as objects. This includes some kind of support for classes of objects and inheritance of class preterites and methods by sub classes and their objects. Objects oriented Database System (OODBMS) is defined in the influential paper, ‘Object Oriented Database Manifesto’ by Malcolm Atkinson as follows :-
‘An object oriented database system must satisfy two criteria, it should be a DBMS and it should be an object oriented system i.e., it should be consistent with the current crop of object oriented programming languages. So , first criteria translates into five features : persistence, secondary storage management, concurrency, recovery and adhoc query facility. The second one translates into eight features: complex objects, object identity, encapsulation, types of classes, inheritance, overriding, extension ability and computational completeness.
2. Object-Relational Database Management system(ORDBMS)
It is an extended version of Relational Database System rather than an alternative, which is capable of handling complex data types along with the functionality necessary to support a broader class of applications. It attempts to extend the power of Relational Database by providing a rich set of data types including Object Orientation.
Features of OODBMS-: There are main Features of dbms which are incorporated in OODBMS.
A. Persistence- In the storage of data from working memory so that it can be storage of data from working memory so that it can be restored when the application is execute again.Persistence should be orthogonal as like each object independent of its type is allowed to become persistence.It should be implicit as user should not have to explicitly move or copy data to make it persistence so there are two collection of object exist.
- Persistence collection -which is collection of all persistence object.
- Transient collection which holds the result of a query they are temporary or intermediate object.
B. Secondary storage Management– DBMS supported by a set of mechanism which include index management data clustering,buffering access path selection and query optimization. They are critical in terms of performance. They are invisible as like application programmer need not to write code to maintain indices to allocated disk storage or to move data between disk and main memory. Thus it provide a clear independence between logical and physical level of the system.
C.— Recoverability — It is the process of bringing database back to some coherent state of data. Recoverability can be archived by different method like log-based recovery shadow paging etc. There are various type of failure that may occur in a system. So a database system must take action to ensure that atomicity durability and consistency of transaction are persevered in spite of the any kind of failure through different recovery mechanism.
D. Concurrency– It ensure harmonious coexistence among users working simultaneously in database system . It is necessary for the system to control interaction among the concurrent transaction so that isolation property of transaction can be preserved and it can be achieved through concurrency control mechanism . System should support the standard of atomicity for the sequence of operation and for controlled sharing. Serialisation of operations should be followed although less strict alternatives also exists.
E. Adhoc query facility-: This service allows users to ask simple queries from database. This facility could be supplied by DML or a subset of it. This provide some following features
- high level as like the application should be able to express nontrivial queries It emphasizes more on declarative queries which specifies what data is required and how data is retrieved
- It should be efficient as like the formula of query lead itself to some form of query optimization
- It should be application independent as like query should work on any database