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. # 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: # 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. # 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] # 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. # 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. # 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. # 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]. # 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 # 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. ![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.](image-2.png "") to this, sometimes it becomes very difficult to findout that which is going to model data orrelationship?4. Poor support for integrity and enterprise constraints:Constraints are very much needed for yourdatabase have to be desired data. RDM supportsonly limited number of constraints. The enterpriseconstraints are those which are defined by industrystandards.5. Homogeneous data structure: RDM requireshomogeneous data structures like:? RDM assumes both horizontal and verticalhomogeneity.? Relational mathematics algebra has only fixednumber of operations due to which RelationalModel operations cannot be extended.6.A. Limitation of RDBMSB. Need for Advanced ApplicationsC. Popularity of Object Oriented ParadigmA. Limitation of RDBMSThese limitations are in relational model. Due tothis these limitations are reflected to all RDBMS [2].These limitations are:1. Poor representation of real world entities: TheRelational model cannot represent real world inproper way because it has only one semantic that istable which can represent the real world entity inproper way.2. Normalization is necessary, but sometimes notuseful: 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 ? Mapping to OO schema and queries to relationalones.? The underlying relational storage manager isALLBASE/SQL.C. Pure OODBMSThese type OODB's systems are not muchpopular because lack of standards [9]. There is nosingle definition for a single concept. For Example: AnInformation 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 providesObject 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 QUELcommands are included in POSTQUEL:OODBMS: It is system which contains application1. Time varying data (snapshots and historicalprograms which are used to manage all object orienteddata)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 GemstoneB. Object/Relational DBMSSystems 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 Openbecause 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 toOO features.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: V. OODBMS Perspectivesa) Single Level Storage ModelDynamic Binding: An OODBMS must supportconcept of dynamic binding in programminglanguage such as:? Overloading? Overriding? Late binding7. Computationally Complete DML: To provide asupport for data processing database have usecomputationally completely language like SQL-3.8. Extensible set of data types: A OODBMS mustsupport for used defined data types.9. Data Persistence: This is basic requirement for anyDBMS.A OODBMS must provide persistent bystoring object in proper way.10. Managing very large databases: A OODBMS mustsupport for large databases.11. Concurrent Users: This is basic requirement for anyDBMS. It must support for concurrency control.12. Transaction Management: This is also basicrequirement of any DBMS.13. Query Language: This is also a basic requirement ofany DBMS. This query language must becomputationally complete.b) Optional Features1. Multiple Inheritance: Multiple inheritance is notdirectly support by multiple objects orientedprogramming languages. An OODBMS can alsosupport for multiple inheritance.2. Type checking and inferencing: Type Checking andInferencing features can be added to ObjectDatabases.3. Long duration and Nested Transactions: Relationaldatabase transactions are short-lived. An OODBMScan support for .long duration transactions and alsofor nested transactions.4. Distributed databases: An object database mayhave support for distributed database which is acollection of multiple databases logically relatedand distributed over the network.5. Versions: An OODBMS can support for versioncontrol and configuration management. 3d) Weaknesses1.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: © 2015 Global Journals Inc. (US) 1 © 2015 Global Journals Inc. (US) ## 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. * 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 * The Object Oriented Database Manifesto MAtkinson FBancilhon DDewitt KDittrich DMaier SZdonik December 1989 * The object-oriented database system manifesto MAtkinson Proc. Int. Conf. On Deductive and Object-Oriented Databases Int. Conf. On Deductive and Object-Oriented Databases 1989 * Object Oriented database systems FBancilhon Proc. 7th ACM SIGART/SIGMOD Conf 7th ACM SIGART/SIGMOD Conf 1988 * A foundation for object-oriented databases WKim MCC Tech. Rep., N.ACA-ST-248-88 Aug. 1988 * Object-oriented programming: Themes and variations MStefik DBobrow The AI Mag Jan 1986 * Readings in Object-Oriented Database Systems SBZdonik DMaier 1989 Morgan Kauffman San Mateo, CA * Object-Oriented Database Systems: Promises, Reality, and Future WKim WKim Modern Database Systems: The Object Model, Interoperability and Beyond Addison Wesley 1995 * Object-Oriented Query Languages: The Notion and the Issues EBertino MNegri GPelagatti LSbattella IEEE Transactions on Knowledge and Data Engineering 4 3 1992 * Where Object-Oriented DBMSs Should Do Better: A Critique Based on Early Experiences KADittrich KRDittrich Modern Database Systems: The Object Model, Interoperability and Beyond Kim, W. Addison Wesley 1995 * A relational object model MScholl HSchek Proc. 3rd Int. Conf. On Database Theory Lecture Notes in Computer Science SAbiteboul PCKanellakis 3rd Int. Conf. On Database Theory Springer Verlag 1990 470 * Object-Oriented Query Optimization UErlingsson unpublished manuscript