Object Oriented Database Management Systems-Concepts, Advantages, Limitations and Comparative Study with Relational Database Management Systems By

Table of contents

1.

I. Introduction istory of data processing goes through many different changes with different technologies along with the time. In decade there is huge increase in the volume of data that need to be processed due to which sometimes old technology do not work and need to come with new technology to process the data. History of database technology has used Unit Records & Punch Card, Punch Card Proliferation, Paper Data Reels, & Data Drums, File Systems, Database Systems, NoSQL and NewSQL databases. From last five decades, the mostly used technology is database management systems.

After some limitations of file systems, researchers come up with new technology known as Database Management Systems which is the collection of software or programs to maintain the data records. Initially, two models are proposed are hierarchical and network models, but these models don't get much popularity due to their complex nature. Then a researcher E.F. Codd comes up with a new data model known as relational model in which data items are stored in a table. Many DBMS's are developed on the basis of this model. This is the most popular model till now because it has conceptually foundation from relational mathematics.

In mid-1980's ,no doubt RDBMS are very much popular but due to some limitation of relation model and RDBMS do not support for some advanced applications [1] OODB comes in the picture. At that time Object Oriented Programming paradigm is very much popular. Due to this researcher think to combine the capabilities of database and object based paradigm for programming. In Object databases data is stored in the forms of objects. These database management systems are not very much popular because due to the lack of standards.

Research is going on the database technology from 1960's up to this day. Many improvements are done in database technology by researcher in last decade and more technologies are coming to improve the database technology. The new database technologies include new transaction management and concurrency control methods and Redundant Array of Independent Disks (RAID) for efficient storage and Big Data and Cloud Computing.

2. II. Why Object Oriented Databases?

There are three reasons for need of OODBMS: For this you must know:

? Depth of recursive query must be known.

? You can use the transitive closure operations to handle recursive queries in RDBMS. 9. Impedance mismatch: SQL Data Manipulation Language (DML) is lack computational completeness [10]. To overcome this situation, you must embed the SQL with any high programming language like C++, Java, and C #. Due to there will be impedance mismatch between two language SQL and higher programming language. 10. Poor support for long duration transactions: In RDBMS, generally transactions are short lived and concurrency control techniques or mechanisms are not good for .long duration transactions. 11. Poor Schema Evolution support: Schema Evolution means making changes to schema of database at runtime without interrupt the execution of the application. 12. Poor Navigational Access: There is very poor support for the navigational access in RDBMS.

There are some advanced applications need the database with deeper structural and functional foundation of capabilities that are not provided by conventional database [1]. These applications are:

3. B. Need for Advanced Applications a) Computer Aided Design (CAD):

? In these types of applications, relevant data about buildings, airplanes and integrated circuit chips is stored and managed. In this type of applications, database design may be very large.

? Design in these types of applications is not static. This design is evolves through the times. Updates need to be propagated.

4. C. Popularity of Object Oriented Paradigm

Another domain that enforces the development of OODBMS is popularity of object oriented programming paradigm [4], [5], [6], [7], [8]

5. IV. Oodbms Manifesto a) Mandatory Features

The OODBMS paradigm manifesto set the minimum fundamental directional basis for an OODBMS model [3], [4], [5, [8].These characteristics can be classified as mandatory and optional features:

1. Support for complex objects: A OODBMS must support for complex objects. Complex objects can be obtained by applying constructor on basic objects. 2. Object Identity: It is the unique identifier associated with every object in the system. It has following characteristics:

? It is generated by system.

? It is unique to that object in the entire system.

? It is used only by the system, not by the user.

? It is independent the state of the object. 3. Encapsulation: An OODBMS should enforce encapsulation through access objects only.

6. Types or Classes:

A OODBMS must support for one of them types or classes. 5. Inheritance and Hierarchies: A OODBMS must support for concept of super classes and subclasses. The types of heritance can be:

? Substitution ? Inclusion ? Constraint ? Specialization 6.

7. VI. OODBMS Architectures Approaches

The basic theme of OODBMS is to add persistence to OOPL as they provide object orientation. The major difference is that here database needs to store data as well as methods [1]. c) Database Server: In this approach, Client simply passes the request to the server, receives results and passes them to application. Most of database processing done at server .This approach is used mainly by RDBMS's.

8. Client/Server

VII. Achievements and Weaknesses of OODBMS a) Achievements 1. Support for User Defined data types: OODBs provides the facilities of defining new user defined data types and to maintain them [9].

9. OODB's allow creating new type of relationships:

OODBs allow creating a new type of relationship between objects is called inverse relationship (a binary relationship) [11]. [11]. 9. No full-fledged facilities to implement complex objects: No doubt, object oriented databases provide some facilities to implement the concept of complex objects. But there is no full -fledged implementation of complex objects [11]. 10. Interoperability between OODB and Object Oriented Systems: In Object Oriented Programming objects are transient in nature. To provide persistent to data, OODB and OO systems need to be interoperable. Many problems may arise during interoperable between OODB and OO systems [11]. 11. Limited performance gains over RDBs Decrease in performance: Performance gains changes application to application. Applications that make the use of object identity concept having performance gains over RDBMS's. But application that requires bulk database loading and does not make use of OID then performance of OODBMS's is not good [9]. 12. Some basic features are not present: Some basic features like triggers, meta data management [11] and constraints such as UNIQUE and NULL [9] not present in object databases.

VIII. Comparison of OODBMS and RDBMS

10. IX. Summary and Conclusion

No doubt, relational databases are very popular and there are found everywhere. The object oriented database comes into action in mid-1985's to remove the limitations and to support some advanced database applications like CAD, CASE etc. Another point that provides the momentum to develop object based database is popularity of object based programming. So; researchers in the field of database think to combine the object oriented programming concepts with database to make powerful database management systems. Different approaches are adopted by industry to make the database with object oriented features. These approaches include relational extensions and pure object oriented are most popular to develop object oriented database systems. OODBMS's are made by many vendors by using different approaches. OODBMS's removes the limitations of RDBMS's, also provide support for advanced database application with some additional features. But due to the lack of standards, they do not get much popularity in the industry. Then after some time, some limitations are found in object oriented database management systems.

Figure 1.
Architecture: There three basic client/server architecture approaches [2]: a) Object Server b) Page Server c) Database Server a) Object Server: There is a distributed processing environment between the two parts client and server. Typically, server is responsible for other OODBMs functions. Transaction control management and interface to programming language is handled by Client. b) Page Server: In this client-server model, client is responsible for database processing most of the times. Secondary storage management and response to requests is handled by server. A page can contain many complex objects or normal objects.
Figure 2.
to this, sometimes it becomes very difficult to find
out that which is going to model data or
relationship?
4. Poor support for integrity and enterprise constraints:
Constraints are very much needed for your
database have to be desired data. RDM supports
only limited number of constraints. The enterprise
constraints are those which are defined by industry
standards.
5. Homogeneous data structure: RDM requires
homogeneous data structures like:
? RDM assumes both horizontal and vertical
homogeneity.
? Relational mathematics algebra has only fixed
number of operations due to which Relational
Model operations cannot be extended.
6.
A. Limitation of RDBMS
B. Need for Advanced Applications
C. Popularity of Object Oriented Paradigm
A. Limitation of RDBMS
These limitations are in relational model. Due to
this these limitations are reflected to all RDBMS [2].
These limitations are:
1. Poor representation of real world entities: The
Relational model cannot represent real world in
proper way because it has only one semantic that is
table which can represent the real world entity in
proper way.
2. Normalization is necessary, but sometimes not
Note: useful: Normalization in RDBMS to maintain the consistency of the database, but some broken relations is not related to real world.3. Overloading of semantic structure: Relational DataModel has only one semantic structure for representing data and relationship that is table. Due
Figure 3.
? Mapping to OO schema and queries to relational
ones.
? The underlying relational storage manager is
ALLBASE/SQL.
C. Pure OODBMS
These type OODB's systems are not much
popular because lack of standards [9]. There is no
single definition for a single concept. For Example: An
Information Hiding: It is process of separates external properties of an object from its internal properties, which are hidden from external environment. These two concepts also related with abstraction. Importance: These two concepts support the facility that internal properties of an object to be changed without affecting applications that use it, provided external properties remain same. It also provides Object has many definitions, but in RDB there is a fixed standard for or single definition for each concept like table .Here defining some definitions which are mostly accepted but not standardize [2]. OODB Model: It is data model that capture semantics of objects suited in object based programming paradigm. ZDONIK and MAIER give a threshold model that an Object database must have following features:
data independence. ? To provide fully implemented functionality of complex objects. ? Support for User/Abstract Defined Types, operators and functions for accessing. ? To provide functionality of Active Databases and Inferencing. ? Database management, concurrency control etc. functionality like ? Facility of Object Identity (OID). ? Facility of encapsulation. ? Facility of complex objects. ? Inheritance not must but may useful. transaction
? QUEL is the manipulation language in INGRES.
? POSTQUEL in POSTGRES :Most of QUEL
commands are included in POSTQUEL: OODBMS: It is system which contains application
1. Time varying data (snapshots and historical programs which are used to manage all object oriented
data) database activities like manipulation of objects.
2. Iterative queries 3. Alerters, Triggers and Rules for Inferencing. Some Commercial OODBMS [9]: ? Gemstone OODBMS is developed by Gemstone
B. Object/Relational DBMS Systems Incorporation.
These systems have relational and object based both features by the definition [1], [2]. They provide similar objectives as provided by the Relational Extension approach of RDBMS. In this approach, build an object layer on the top of relational system like Open ODB and ODAPTER. They are built on different applications. It has following features: HP during mid's 90 and aims to support for broad base Open ODB/ODAPTER: Open ODB is an ORDBMS from architectures like Query Server or Client/Server. ? Objectivity/DB OODBMS is developed by ? Stick to relational model Objectivity Incorporation. ? Have to OO features like complex object and UDT ? Objectstore OODBMS is developed by Progress (User Defined Types). Software Corporation. Design techniques for relational extensions: In ? Ontos OODBMS is developed by Ontos mid-80's a researcher named Stonebraker in OODBMS Incorporation. field represent the design techniques in this field with ? Definition of new operations of so defined data ? Definition of new data types OODBMS should follow: different proposals for Extended Type System for an ? DB4O from Versant Corporation.
Generalization: It is method to create a superclass is called generalization. Specialization: It is process of forming a sub class is ? Based on Iris DBMS ? Based on Client/Server architectures ? Both data and applications can be shared by the user applications. called specialization. ? Clients use Application Program Interface (API) to 9. Polymorphism: It means "many forms". It is dynamic access information. feature which executes at run time of program. It involves the concept of overriding and overloading ? OSQL is data manipulation language for Open because a real life situation can be model in best way by using object oriented programming. OO Programming Aspects: 1. Abstraction: It is process of finding important aspects of an entity and ignoring unimportant types. ? Implementation of access methods. ? Optimized query processing for the queries on new data types. Other Extensions in RDBMS: The different techniques are adopted by different DBMS to support to support OO features:
[10]. ODB/ODAPTER.
? Open ODB uses relational techniques to support to
OO features.
Note: aspects such as implementation details. The properties comprise two things state and behaviour. A state is models through the attributes of object and behaviour is models through operations executed on data by object.Global Journal of C omp uter S cience and T echnology Volume XV Issue III Version I Year ( ) C 2. Object: 4. Attributes: These represent the current state of an object. They can be two types: ? Simple Attribute ? Complex Attribute 5. Object Identity (OID): It is the unique identifier associated with every object in the system. It has following characteristics: ? It is generated by system. ? It is unique to that object in the entire system. ? It is used only by the system, not by the user. ? It is independent the state of the object. 6. Methods and Messages: These implement the behaviour of an object and involve encapsulation. Message: It is a request or call to an object to execute the method that is defined by message. 7. Class: It is Container/Template/Blue-print for objects. Objects inside a class called instances. It comprises many definitions in many different situations. For example: A Class behaves like an object with its own class data and operations. 8. Inheritance: 10. Complex Objects: An object is called complex object if it contains many sub objects and it is viewed as single object. Example: Country. Because it contains many states and again states contains cities. 11. Relationships: It is basically an association between two things. These are represented through reference attributes, typically implemented through OID's. Types of binary relationships are: ? One to One relationship ? One to Many relationship ? Many to One relationship ? Many to Many relationship ? The different programming paradigm during the different decades: ? Due to this researchers think to combine OO Paradigm and DB. III. Approaches for OODBMS A. Relational Extension Based DBMS B. Object/Relational DBMS C. Pure OODBMS A. Relational Extension Based DBMS This is the first approach that is adopted by industry and academia towards the implementations of OODBMS is to extend the relational model to provide the OO features [1], [2]. The advantages of this approach are: ? Support for variable length "undefined" data values. Using this support, generalized user defined data types can be represented. Like Oracle supported RAW, LONG and LONGRAW (65535 bytes).Global Journal of C omp uter S cience and T echnology Volume XV Issue III Version I Year ( ) C ? ? Object Model is implemented by Object Manager.OODB:
Figure 4.
V. OODBMS Perspectives
a) Single Level Storage Model
Dynamic Binding: An OODBMS must support
concept of dynamic binding in programming
language such as:
? Overloading
? Overriding
? Late binding
7. Computationally Complete DML: To provide a
support for data processing database have use
computationally completely language like SQL-3.
8. Extensible set of data types: A OODBMS must
support for used defined data types.
9. Data Persistence: This is basic requirement for any
DBMS.A OODBMS must provide persistent by
storing object in proper way.
10. Managing very large databases: A OODBMS must
support for large databases.
11. Concurrent Users: This is basic requirement for any
DBMS. It must support for concurrency control.
12. Transaction Management: This is also basic
requirement of any DBMS.
13. Query Language: This is also a basic requirement of
any DBMS. This query language must be
computationally complete.
b) Optional Features
1. Multiple Inheritance: Multiple inheritance is not
directly support by multiple objects oriented
programming languages. An OODBMS can also
support for multiple inheritance.
2. Type checking and inferencing: Type Checking and
Inferencing features can be added to Object
Databases.
3. Long duration and Nested Transactions: Relational
database transactions are short-lived. An OODBMS
can support for .long duration transactions and also
for nested transactions.
4. Distributed databases: An object database may
have support for distributed database which is a
collection of multiple databases logically related
and distributed over the network.
5. Versions: An OODBMS can support for version
control and configuration management.
Figure 5. 3 .
3
d) Weaknesses
1.
Note: the system[13].Optimization of queries is very important for performance gains. But due to following reasons it is difficult to optimize queries in object databases:?User defined data types ? Changing variety of types ? Complex objects, methods and encapsulation ? Object Query language has nested structure ? Object Identity 3. No fixed query algebra for OODBMS's: Due to lack of the standards in OODBMS, there is no standard query algebra for OODB. Lack of standard query algebra becomes one of the reasons for problem of query optimization. There are different query languages for different object databases. 4. No full-fledged query system: Query system also not fully implemented. Some query facilities lacks in Object databases like nested sub-queries, set queries and aggregation function [9], [11]. 5. No facility for Views: In relational databases, views are temporary tables. Object databases having no facility for views. An object oriented view capability is difficult to implement due to the features of Object Model such as object identity. Object oriented programming concepts like inheritance and encapsulation makes the difficult to implement views in object databases [11]. 6. Security problems in Object databases: Security is related to authentication, authorization and accounting. Discretionary Access Control (DAC), Mandatory Access Control (MAC) security policies are implemented in object databases to secure data. In some systems provide security on the basis of object oriented concepts like encapsulation.Object database having to facilities for authorization[9].7.No support for schema evolution with OODBs:
1
2

Appendix A

Appendix A.1 Acknowledgement

The Author would like to special thanks Sardar Chet Singh Damesha, Sardarni Sachiar Kaur Damesha and whole Damesha family for inspiring me everytime and always with me.

Appendix B

  1. Object-Oriented Query Languages: The Notion and the Issues. E Bertino , M Negri , G Pelagatti , L Sbattella . IEEE Transactions on Knowledge and Data Engineering 1992. 4 (3) .
  2. Object Oriented database systems. F Bancilhon . Proc. 7th ACM SIGART/SIGMOD Conf, (7th ACM SIGART/SIGMOD Conf) 1988.
  3. Where Object-Oriented DBMSs Should Do Better: A Critique Based on Early Experiences. K A Dittrich , K R Dittrich . Modern Database Systems: The Object Model, Interoperability and Beyond, (Kim, W.
    ) 1995. Addison Wesley. p. .
  4. The object-oriented database system manifesto. M Atkinson . Proc. Int. Conf. On Deductive and Object-Oriented Databases, (Int. Conf. On Deductive and Object-Oriented Databases) 1989.
  5. The Object Oriented Database Manifesto, M Atkinson , F Bancilhon , D Dewitt , K Dittrich , D Maier , S Zdonik . December 1989.
  6. A relational object model. M Scholl , H Schek . Proc. 3rd Int. Conf. On Database Theory, Lecture Notes in Computer Science S Abiteboul, P C Kanellakis (ed.) (3rd Int. Conf. On Database Theory) 1990. Springer Verlag. 470 p. .
  7. Object-oriented programming: Themes and variations. M Stefik , D Bobrow . The AI Mag Jan 1986.
  8. Object Oriented Database Systems: Approaches and Architectures by C.S.R. Prabhu 2. Database System: A Practical Approach to Design, Implementation and Management by T. Connoly and C. Begg, (Research Papers)
  9. Readings in Object-Oriented Database Systems, S B Zdonik , D Maier . 1989. San Mateo, CA: Morgan Kauffman.
  10. Object-Oriented Query Optimization, U Erlingsson . (unpublished manuscript)
  11. Object-Oriented Database Systems: Promises, Reality, and Future. W Kim , W Kim . Modern Database Systems: The Object Model, Interoperability and Beyond, 1995. Addison Wesley. p. .
  12. A foundation for object-oriented databases, W Kim . MCC Tech. Rep., N.ACA-ST-248-88 (ed.) Aug. 1988.
Notes
1
© 2015 Global Journals Inc. (US) 1
2
© 2015 Global Journals Inc. (US)
Date: 2015-01-15