Advantages
- A user can retrieve data very
quickly due to the presence of explicit links between the table
structures.
- 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
- 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.
- 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 A 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:
- The data
should be in a hierarchical pattern i.e. parent-child relationship must be
present.
- The data
in a hierarchical pattern must be accessed through a single path only.
- 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
- Data can be retrieved easily
due to the explicit links present between the table structures.
- Referential integrity is always
maintained i.e. any changes made in the parent table are automatically
updated in a child table.
- Promotes data sharing.
- It is conceptually simple due
to the parent-child relationship.
- Database security is enforced.
- Efficient with 1: N
relationships.
- A clear chain of command or
authority.
- Increases specialization.
- High performance.
- 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:
- The network model is better
than a hierarchical model.
- Supports many to many
relationships.
- Many parents can have many
children.
- Many children can have many
parents.
- Entities are represented as a
connected network with each other.
- 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.
- Represented as a network and
one child can have more than one parent. This model represents a complex
structure.
- Entities can have multiple
parent entities and leads to a complex structure.
- Not very flexible to reorganize
the model.
- High performance
- Relationships among databases
are done by programmers by using 3GL programs.
- 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.
26 Comments
Very informative
ReplyDeleteAdvantages and good
ReplyDeleteLovely information
ReplyDeleteGood comparison of object oriented dbms and rdbms
ReplyDeleteFull of knowledge
ReplyDeleteGood article 👍
ReplyDeleteabsolutely
Deletealignment and formatting of text is required for good presentation
ReplyDeleteadvantages
ReplyDeleteBht best
ReplyDeleteSuperb work
ReplyDeleteSuperb comparison
ReplyDeleteBest 👌
ReplyDeleteWell elaborated
ReplyDeleteagreed
Deletegood blog for learners
ReplyDeleteYes
DeleteExcellent work
ReplyDeleteFabulous
ReplyDeleteSuperb information
ReplyDeleteIncredible
ReplyDeleteInformation is correct
ReplyDeleteAcceptable
ReplyDeleteinformative stuff
ReplyDeleteImpressive work
ReplyDeleteSuperb work
ReplyDelete