What are the benefits of object-oriented database? What is object identity?

The benefits of an object-oriented database are as follows:-

 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. An object can store all the relationships it has with other objects, including many-to-many relationships, and objects can be formed into complex objects that the traditional data models cannot cope with easily.


Extensibility

OODBMSs allow new data types to be built from existing types. The ability to factor out common properties of several classes and form them into a super-class that can be shared with sub-classes can greatly reduce redundancy within a system and is regarded as one of the main advantages of object orientation. Further, 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 (such as hierarchical, network, or relational), the object-oriented database is capable of storing different types of data, for example, pictures, voice video, text, numbers, and so on.


Removal of impedance mismatch

A single language interface between the Data Manipulation Language (DML) and the programming language overcomes the impedance mismatch. This eliminates many of the efficiencies that occur in mapping a declarative language such as SQL to an imperative ‘language such as ‘C’. Most OODBMSs provide a DML that is computationally complete compared with SQL, the ‘standard language of RDBMSs.


A more expressive query language

Navigational access from the object is the most common form of data access in an OODBMS. This is in contrast to the associative access of SQL (that is, declarative statements with selection based on one or more predicates). Navigational access is more suitable for handling parts explosion, recursive queries, 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. DBMSs use a different protocol to handle the types of long-duration transactions that are common in many advanced database applications.


Applicability to advanced database applications

There are many areas where traditional DBMSs have not been particularly successful, such as Computer-Aided Design (CAD), Computer-Aided Software Engineering (CASE), Office Information systems (OIS), and Multimedia Systems. The enriched modeling capabilities of OODBMSs have made them suitable for these applications.


Improved performance

There have been a number of benchmarks that have suggested OODBMSs provide significant performance improvements over relational DBMSs. The results showed an average 30-fold performance improvement for the OODBMS over the RDBMS.


Object identity 

  • Object identity is a property of data that is created in the context of an object model, where an object is assigned to a unique internal object.
  • Object identity is a fundamental object orientation concept. With object identity, objects can contain or refer to other objects. Identity is a property of an object that distinguishes the object from all other objects in the application.

 OID is used for two purposes.

  • To identity, each object is unique.
  •  Make reference to another object.

Properties of OID

  • It is unique
  • It is system generated
  • It is invisible to the user
  • It is not possible to perform operations on OID
  • It is mutable i.e. once its generated
  • It cannot be regenerated
  • It has a long integer values


Comments

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Discuss classification or taxonomy of virtualization at different levels.

Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?