Object Oriented DBMS Advantages and Disadvantages

Advantages

  1. A user can retrieve data very quickly due to the presence of explicit links between the table structures.
  2. The referential integrity is built in and automatically enforced due to which a record in a child table must be linked to an existing record in a parent table, along with that if a record deleted in the parent table then that will cause all associated records in the child table to be deleted as well.

Disadvantages

  1. When a user needs to store a record in a child table that is currently unrelated to any record in a parent table, it gets difficulty in recording and user must record an additional entry in the parent table.
  2. This type of database cannot support complex relationships, and there is also a problem of redundancy, which can result in producing inaccurate information due to the inconsistent recording of data at various sites.

3.     The hierarchical database suited well to the tape storage systems which is used by mainframes in the 1970s and was very popular in organizations whose database is based on those systems. But, even though the hierarchical database provided fast and direct access to data and was useful in several circumstances, it was clear that a new database model was needed to address the growing problems of data redundancy and complex relationships among data.

4.     The idea behind this database model is useful for a certain type of data storage, but it is not extremely versatile and is confined to some specific uses.

5.     For example, where each individual person in a company may report to a given department, the department can be used as a parent record and the individual employees will represent secondary records, each of which links back to that one parent record in a hierarchical structure.

 What Is Hierarchical Database Model

        A hierarchical database model is a data model in which data is represented in the tree-like structure. In this model, data is stored in the form of records which are the collection of fields. The records are connected through links and the type of record tells which field is contained by the record. Each field can contain only one value.

        A hierarchical database model must have only one parent for each child node but parent nodes can have more than one child. Multiple parents are not allowed. This is the major difference between the hierarchical and network database model. The first node of the tree is called the root node. When data needs to be retrieved then the whole tree is traversed starting from the root node. This model represents one- to- many relationships.

 

        Let us see one example: Let us assume that we have a main directory which contains other subdirectories. Each subdirectory contains more files and directories. Each directory or file can be in one directory only i.e. it has only one parent. 

 

        Here is the main directory i.e. the root node. B1 and B2 are their child or subdirectories. B1 and B2 also have two children C1, C2 and C2, C3 respectively. They may be directories or other files. This depicts one- to- many relationships.

 

Uses of Hierarchical Database Model

        A Hierarchical database model was widely used during the Mainframe Computers Era. Today, a hierarchical database model is used mainly for storing file systems and geographic information. It is used in applications where high performance is required such as telecommunications and banking. A hierarchical database is also used for Windows Registry in the Microsoft Windows operating system. It is useful where the following two conditions are met:

  1. The data should be in a hierarchical pattern i.e. parent-child relationship must be present.
  2. The data in a hierarchical pattern must be accessed through a single path only.
  3. So the hierarchical model is efficient for one to many relationships and is widely used in recording file system data.

Advantages of Hierarchical Database Model

  1. Data can be retrieved easily due to the explicit links present between the table structures.
  2. Referential integrity is always maintained i.e. any changes made in the parent table are automatically updated in a child table.
  3. Promotes data sharing.
  4. It is conceptually simple due to the parent-child relationship.
  5. Database security is enforced.
  6. Efficient with 1: N relationships.
  7. A clear chain of command or authority.
  8. Increases specialization.
  9. High performance.
  10. Clear results.

Disadvantages of Hierarchical Database Model

a.       If the parent table and child table are unrelated then adding a new entry in the child table is difficult because additional entry must be added in the parent table.

b.      Complex relationships are not supported.

c.       Redundancy which results in inaccurate information.

d.      Change in structure leads to change in all application programs.

e.       M: N relationship is not supported.

f.       No data manipulation or data definition language.

g.      Lack of standards.

h.      Poor flexibility

i.        Communication barriers

j.        Organizational Disunity.

k.      Rigid structure

Features of the Hierarchical Database Model:

Many to many relationships: It only supports one – to – many relationships. Many to many relationships are not supported.

Problem in Deletion: If a parent is deleted then the child automatically gets deleted.

Hierarchy of data: Data is represented in a hierarchical tree-like structure.

Parent-child relationship: Each child can have only one parent but a parent can have more than one children.

Pointer: Pointers are used for linking records that tell which is a parent and which child record is.

Disk input and output is minimized: Parent and child records are placed or stored close to each other on the storage device which minimizes the hard disk input and output.

Fast navigation: As parent and child are stored close to each other so access time is reduced and navigation becomes faster.

Predefined relationship: All relations between root, parent and child nodes are predefined in the database schema.

Re-organization difficulty: Hierarchy prevents the re-organization of data.

Redundancy: One to many relationships increases redundancy in the data which leads to the retrieval of inaccurate data.

            One of the most widely used commercial hierarchical databases is IMS. Another example of the use of hierarchical databases is Windows Registry in the Microsoft Windows operating systems.

Network databases

            The network database model was created to solve the shortcomings of the hierarchical database model. In this type of model, a child can be linked to multiple parents, a feature that was not supported by the hierarchical data model. The parent nodes are known as owners and the child nodes are called members.

            An enhanced form of the hierarchical data model, the network model represents data in a tree of records. Relationships between tables (records) are expressed as sets. A set has one parent record (owner) and one or more child records (members). Related records in a set are directly linked by pointers, rather than by matching duplicate columns as is the case in the relational data model.

Advantages of Network Model

            The network model can support many to many.  the network data model can handle many to many relationships where the hierarchical data model didn’t.

            The network database model is a model for modeling the entities in such a way that one child entity can have more than one parent entities.

   Disadvantages of Network Model

        There are some disadvantages in the network model even though it is an improvement over the hierarchical model. These are:

        The network model is much more complicated than the Hierarchical model. As such, it is difficult to handle and maintain.

        Although the Network model is more flexible than the Hierarchical model, it still has flexibility problems. Not all relations can be handled by assigning them in the form of owners and members.

        The structure of the Network Model is quite complicated and so the programmer has to understand it well in order to implement or modify it.

Characteristics of the network model

            There are many characteristics of the network model, some of these characteristics are mentioned below:

  1. The network model is better than a hierarchical model.
  2. Supports many to many relationships.
  3. Many parents can have many children.
  4. Many children can have many parents.
  5. Entities are represented as a connected network with each other.
  6. One child entity can have more than one parent entity. For example, in the figure, the Subject has two children. One child is a STUDENT and another one is Degree.
  7. Represented as a network and one child can have more than one parent. This model represents a complex structure.
  8. Entities can have multiple parent entities and leads to a complex structure.
  9. Not very flexible to reorganize the model.
  10. High performance
  11. Relationships among databases are done by programmers by using 3GL programs.
  12. Query facility is not available in the network model.

Conclusion - Network Model for Speed, Relational for Usability

         While the relational data model is very popular because of its ease of use, it requires key and index tables which drastically slows down an application. The network database model provides faster access to the data and is the optimal method for a fast application.

Comparison of RDBMS, OODBMS and ORDBMS

            The similarities and differences between relational modeling of data and the object oriented modeling of data is of great importance both for database designers and for users. By being well acquainted with the relational model and by noting the similarities and differences between the two approaches to data modeling, designers will be able to turn into account and to make use of the already acquired experience as an important basis for under-standing and learning the methodology of designing object oriented databases.

Comparison between Object-Relational and Object-Oriented Database

            Here we discuss some concepts related to the object-relational and object oriented database system such as object identity, user defined types(UDTs), user-defined routines, polymorphism, subtypes and super types, persistent stored modules, and large objects.

Performance Comparison of Relational Database with Object Database

            The queries executed and specifically on an object oriented database DB4o. Two factors namely querying methodology and performance analysis in comparison with traditional DBMS like MYSQL are very important for discussion. The proposed approach proves that OODBMS is more efficient compare to RDBMS.

REASONS OF NOT USING OBJECT ORIENTED DATABASE PUBLICALLY

Lack of Universal Data Model

            There is no universally agreed Data Model for OODBMS and most models lack of theoretical foundation. This disadvantage is seen as significant drawback and is compared to pre-relational system.

Lack of Experience

In comparison to RDBMSs the use of OODBMSs is relatively limited. This means that we don’t have level of experience that we have with traditional system. OODBMSs are still very much geared towards the programmer rather than native users. While the OODBMS is limited to small position market this problem will continue to use.

Lack of Standards

There is a general lack of standards of OODBMS. There is no standard Object Oriented Query Language.

People awareness about OODBMS

People are not aware about the Object Oriented Database and therefore OOD had not been expanded into the business field.

Post a Comment

26 Comments

  1. Advantages and good

    ReplyDelete
  2. Good comparison of object oriented dbms and rdbms

    ReplyDelete
  3. Full of knowledge

    ReplyDelete
  4. alignment and formatting of text is required for good presentation

    ReplyDelete