Specialty Databases and Applications

Compare RDBMS, OODBMS and ORDBMS in detail.

  • An ORDBMS is a relational DBMS which have certain extensions.
  • An OODBMS is a programming language with a a type system which supports the features of it and it allows any of its data object to be persistent that is it is used to survive across the different program executions.
  • There are many current system which conform neither to the definition entirely but are much closer to one or the other and can be classified accordingly.
RDBMS versus ORDBMS

RDBMSORDBMS
RDBMS does not support the different extensions of the database.ORDBMS supports the different extensions of the database.
It is easier to optimize the queries for efficient execution.It is difficult to optimize the queries for efficient execution.
It is easier to use as there are fewer features to master.It is difficult to use as there are many features that need to be mastered.
It is less versatile than ORDBMS.It is more versatile than RDBMS.

OODBMS versus ORDBMS

OODBMSORDBMS
The OODBMS will try to add the DBMS functionality to a programming language.The ORDBMS will try to add the richer data types to a relational DBMS.
Their aim is to achieve seamless integration with a programming language like C++, Java or SmallTalk.Such type of integration is not an important aim for it.
It aims at the applications where an object-centric viewpoint is appropriate it means that the typical user sessions consist of retrieving a few objects and working on them for a long period with the related objects that are fetched occasionally.It is optimized for the applications where the large data collections is the focus even though the objects may have a rich structure and are fairly large. The applications will retrieve the data from the disk extensively and optimizing data access is the main concern for efficient execution.
The query facilities of SQL are not supported efficiently.The query facilities are the centerpiece for ORDBMS.

What do you understand by OODBMS? Explain the features of OODBMS.

  • The relational database systems support a small,fixed collection of the data type which prove adequate for the traditional application domain such as the administrative data processing.
  • There are many types of complex data that need to be handled.
  • The concepts of object-oriented are strongly influenced efforts to enhance the database support for the complex data and lead to the development of the object-database systems.
Object-Oriented Database Systems
  • They are proposed as an alternative to the relational systems and are aimed at the application domains where the complex objects play a central role.
  • The approach is mainly influenced by the object oriented programming language and can be understood as an attempt to add the DBMS functionality to a programming language environment.
  • A standard like the Object Data Model (ODM) and Object Query Language (OQL) are developed by the Object Database Management Group(ODMG), they are equivalent to the SQL standard for the relational database systems.
  • The objects in the object-oriented programming language exist only during the program execution they are known as transient objects.
  • They can extend the existence of the objects so that they are stored permanently and the object persist beyond the program termination and can be retrieved later and can be shared by the other program.
  • The persistent objects allow sharing of the objects among multiple programs and applications.
Features of OODBMS
  • Some of the common features of database are indexing mechanisms, concurrency control and recovery.
  • The OO databases provide a unique system-generated object-identifier (OID) for each object to maintain a direct correspondence between the real world and database objects so that the objects don't lose their integrity and identity.
  • In order to contain all the necessary information that describes the object the objects have a object structure of arbitrary complexity.
  • The specification of instance variables is included in the internal structure of an object which hold the value that define the internal state of an object. The instance variable is similar to the concept of an attribute in the relational model.
  • Another feature is encapsulation which insists that all the operations that a user can apply to the object must be predefined.
  • For encouraging encapsulation the operation is defined into two parts.
  • 1. Signature or interface of the operation which specifies the operation name and the arguments.
    2. The method or the body which specifies the implementation of the operation.
  • Encapsulation permits the modification of the internal structure of an object its operation without the need to disturb the external programs that invoke these operations.
  • Inheritance is one such feature that permits the specification of new type or classes that inherit much of their structure and/or the operations from the previously defined types or classes.
  • Inverse references is a feature that places the OIDs of the related objects within the objects themselves and maintains the referential integrity.
  • Some systems provide a capability for dealing with multiple versions of the same object this feature helps in design and engineering applications.
  • For permitting a version databases should allow schema evolution which occurs when the type declaration are changed or when the new types or relationships are created.
  • Another concept is the operator overloading which refers to the operations ability to be applied to the different types of objects. This feature is also known as operator polymorphism.