Data Models in DBMS:
In this article, I am going to discuss Data Models in DBMS. Please read our previous article where we discussed Database Management Terminology. At the end of this article, you will understand the following pointers.
- What are Data Models in DBMS?
- HDBMS (Hierarchical Database Management System) or Hierarchical Data Model
- Advantages and Disadvantages of Hierarchical Data Model
- NDBMS (Network Database Management System) or Network Data Model
- Advantages and Disadvantages of Network Data Model
- RDBMS (Relational Database Management System) or Relational Model
- Features of RDBMS
- One – One, One – Many / Many – One, and Many – Many Relationships
- Advantages and Disadvantages of Relational Data Model
- Object-Relational database management system (ORDBMS)
- Object-Oriented Database Management System (OODBMS)
In a database, data are stored in form of a table. The table is basically the details of the entities related to the database. The entity is a terminology that is closely associated with the persons who are engaged with the enterprise. For database design, we have to find the entity and its details. The details are collected and stored as a term called an attribute. The attributes are the column of the table. This table is also termed as relation. The main blueprint of the design is Schema. We have to first create the schema of any table then we have to design through this. there are also two kinds of scheme
- Logical Schema: It contains all the logical data and related terms. Likewise, it is used to create tables, views, etc.
- Physical Schema: It contains the actual storage of data and other disk capacities.
These relations are designed as the main connection of entities. The relationships between entities are designed through a database model. The base of any kind of database designing is this.
DBMS Models or Database Models:
A set of rules and standards that define how the database organizes/stores data is called a database model. It is also defining how users view the organization of data. There are three types of database models.
- Hierarchical Database Management System (HDBMS)
- Network Database Management System (NDBMS)
- Relational Database Management System (RDBMS) (Object-Relational DBMS (ORDBMS) and Object-Oriented Relational DBMS (OORDBMS))
HDBMS (Hierarchical Database Management System) or Hierarchical Data Model:
It is the first model of database that came into existence in the 1960s which will organize the data in the form of a tree structure and this was design based on “one-many relation”.
In a “one–many” relation every child is having only one parent. This tree is containing the following three-level root, parent, and child level. Example: IMS Software (information management system).
In this model, the records are connected with a link. The records are the data about any entity. For example, if we consider any employee of any company, all the details are termed as records. Now, these records are basically designed inboxes and the link between them are designed as lines. It looks like tree alike structure and is designed in levels. From higher level to lower the data consistency increases.
Advantages of Hierarchical Data Model:
- Efficient storage for data that have a clear hierarchy.
- Parent/Child relationship promotes conceptual simplicity & data integrity.
- It promotes data sharing.
- It is easy to understand and use.
Disadvantages of Hierarchical Data Model:
- When we want to add a new level (parent/child) to an existing Structure then the user has to reconstruct the entire structure so that it leads to time-consuming.
- When we want to access data from this model then we need to Travel from root level to child level which will time taken process.
- This model was designed based on a “one–many” relation i.e. every child is having only one parent so that there is a chance to occur Data duplicate.
NDBMS (Network Database Management System) or Network Data Model:
This model is a modification of an existing hierarchical model bringing “many – to – many“ relation so that a child can have more than one parent which will reduce duplicate data.in 1969 the first NDBMS software was launched with the name “IDBMS” (Integrated Database Management System).
Advantages of NDBMS:
- To reduce duplicate data because supporting many – many
- Relation (a child can have multiple parents)
- By using the pointers mechanism, we can add a new level (parent/child) to an existing structure without reconstruction.
- Accessing data in this model is very fast because it uses pointers.
Disadvantages of NDBMS:
- When we use a number of pointers in an application then it will increase complexity(difficult) to identifying which pointer is belongs to which parent or which child and also degrade performance.
- NDBMS model was not a more successful model in real-time because of immediate take over by the RDBMS model in the 1970s with Effective features.
RDBMS (Relational Database Management System) or Relational Model:
In HDBMS and NDBMS data is organized in the form of a tree structure that looks complex to manage and understand also. So to overcome this problem in 1970’s Mr. E.F.Codd from IBM came with a new concept for storing data in a table structure i.e. Rows and columns format.
E.F.Codd with all these ideas for the new model called “relational model” has published an article with the title “a relational model of data for large shared data bank”.
Based on this above article many companies came forward like IBM, relational software INC (present it is oracle cor.), etc. Has started the design for the new database model i.e. RDBMS.
RDBMS is mainly based on two mathematical principles are “relational algebra” and “calculations”.in the year 1970’s IBM has given the prototype for RDBMS known as “system r”.
In the year 1974 IBM has launched a language for communication with RDBMS known as “sequel” and later changed it to “SQL”.
Features of RDBMS:
- Data can be organized in table format.
- More security with the help of “authentication & authorization”.
- Reduce data redundancy & data inconsistency using normalization.
- Easy to manipulate data using DML commands.
- Easy to access data from database with the help of “SQL query (select)”.
- Fastly retrieve data using “indexes “.
- Data sharing using “views “.
- Supporting transactions with “ACID Properties”.
- Supporting datatypes, operators, functions/procedure, clauses, etc.
- Supporting all relationships those are “one – one”,” one – many /many – one”, and “many-many”.
- Supporting data integrity rules with constraints & triggers
- Supporting SQL & PL/SQL languages.
EXAMPLE OF RDBMS PRODUCT:
ORACLE, SQL SERVER, MYSQL, DB2, SYBASE, INFORMIX, INGREES, TERADATA, MAXDB, POSTGRESQL …ETC
Here relation can be defined as commonness between objects these relations are classified into 3 types
- One to One relation
- One to Many relation / Many to One relation
- Many to Many relations
One – One relationship:
In this relationship, one object can have a relationship with another object
One – Many / Many – One relationship:
In this relationship, one object can have a relationship with many objects.
Many – Many Relationships:
In this relationship, many vendors (or) many objects can have a relationship with many other objects.
Note: HDBMS and NDBMS models are outdated models in real-time.
Advantages of Relational Data Model:
- Changes in a table’s structure do not affect data access or application program.
- Tabular view substantially improves conceptual simplicity, thereby promoting easier database design, implementation, management, and use.
- Have referential integrity controls to ensure data consistency.
- RDBMS isolates the end-users from physical level details and improves implementation and management simplicity.
Disadvantages of Relational Data Model:
- Conceptual simplicity gives relatively untrained people the tools to use a good system poorly.
- It may promote islands of information problems as individuals and departments can easily develop their own applications.
Object-Relational database management system (ORDBMS)
This model is completely depending on “SQL”. Data can be stored in “Table” format.
Table = collection of rows & columns
Row = collection of columns
Example: Oracle, SQL Server, MySQL, Db2, etc.
Object-Oriented Database Management System (OODBMS)
This model is called “NO SQL” and this model work based on “oops”. Data can be stored in “object”. Example: MongoDB, Casandra, etc.
In the next article, I am going to discuss Introduction to RDMB (Relational Database Management System). Here, in this article, I try to explain Data Models in DBMS and I hope you enjoy this Data model in DBMS article.