OBJECT ORIENTED DATABASES:
- An object database (also object-oriented database management system) is a database management system in which information is represented in the form of objects as used in object-oriented programming.
- An object may be defined as any entity in the real world tha has some characterstics
- An object has two components namely state(value) and behaviour(operations)
- Objects exist in two forms given below:
- Transient objects: Those which exist only during program execution
- Persistent Objects:Those which exist permenantly
- The objects may have an object structure of arbitrary comlexity in order to contain all necessary information to describe the object
- The internal structure of an object in object oriented programming language inlude specification of instance variables
- Object Oriented Database (OODB) provides all the facilities associated with object oriented paradigm ie Object-oriented database management systems (OODBMSs) combine database capabilities with object-oriented programming language capabilities.
- It enables us to create classes, organize objects, structure an inheritance hierarchy and call methods of other classes
- The main goal of an object oriented database is to maintain a direct correspondence between real world and database objects so that they do not lose their integrity and identity
- An object oriented database provide a unique system generated object identifier to each object.
- An object-oriented database subscribes to a model with information represented by objects.
- OODBMSs allow object-oriented programmers to develop the product, store them as objects, and replicate or modify existing objects to make new objects within the OODBMS.
- An OODBMS also permits definition of the operations or functions that can be applied to objects of a particular type
- OOP encourages encapsulation.To do this,an operation is defined into two parts:
- The first part called the signature or interface of the operation,specifies the operation name and arguments
- The second part called method or body specifies the implementation of operation
- A key feature of object oriented databases is the power they give the designer to specify both the structure of complex objects and the operations that can be applied to these objects
- Following are the two different approaches for designing an object-oriented database:
- Designed to store, retrieve and manage objects created by programs written in some object oriented languages (OOL) such as C++ or java.
- Designed to provide object-oriented facilities to users of non object-oriented programming languages (OOPLs) such as C or Pascal.
The user will create
classes, objects, inheritance and so on and the database system will store and
manage these objects and classes. This second approach, thus, turns non-OOPLs
into OOPLs. A translation layer is required to map the objects created by user
into objects of the database system.
Advantages of OODBMS
OODBMSs can provide
appropriate solutions for many types of advanced database applications.
- Enriched modeling capabilities: The object-oriented data model allows the 'real world' to be modeled more closely. The object, which encapsulates both state and behavior, is a more natural and realistic representation of real-world objects.
- Extensibility: OODBMS allow new data types to be built from existing type.The reusability of classes promotes faster development and easier maintenance of the database and its applications.
- Capable of handling a large variety of data types: Unlike traditional databases the object oriented database are capable of storing different types of data, for example, pictures, voice video, including text, numbers and so on.
- Support for schema evolution: The tight coupling between data and applications in an OODBMS makes schema evolution more feasible.
- Support for long-duration, transactions:Current relational DBMSs enforce serializability on concurrent transactions to maintain database consistency. OODBMSs use a different protocol to handle the types of long-duration transaction that are common in many advanced database application.
Disadvantages OF OODBMSS:
- Lack of universal data model: There is no universally agreed data model for an OODBMS, and most models lack a theoretical foundation.
- Lack of experience: In comparison to RDBMSs the use of OODBMS is still relatively limited. This means that we do not yet have the level of experience that we have with traditional systems.
- Lack of standards: There is a general lack of standards of OODBMS and there is no standard object-oriented query language.
- Locking: Many OODBMSs use locking as the basis for concurrency control protocol. However, if locking is applied at the object level, locking of an inheritance hierarchy may be problematic
- Complexity: The increased functionality provided by the OODBMS such as the illusion of a single-level storage model, pointer sizzling, long-duration transactions, version management, and schema evolution--makes the system more complex than that of traditional DBMSs. In complexity leads to products that are more expensive and more difficult to use.
- Lack of support for security: Currently, OODBMSs do not provide adequate security mechanisms. The user cannot grant access rights on individual objects or classes.
Comments
Post a Comment