Saturday, June 19, 2021

What is Database Management System? Explain various models of Database Management System in brief.

 Database Management System (DBMS):

A database management system consists of collection of related data and refers to a set of programs for defining, creation, maintenance and manipulation of a database.


Function of DBMS:

  1. Defining database schema: it must give facility for defining the database structure also specifies access rights to authorized users.
  2. Manipulation of the database: The dbms must have functions like insertion of record into database updation of data, deletion of data, retrieval of data
  3. Sharing of database: The DBMS must share data items for multiple users by maintaining consistency of data.
  4. Protection of database: It must protect the database against unauthorized users.
  5. Database recovery: If for any reason the system fails DBMS must facilitate data base recovery.


Models of Database Management System


A Database model defines the logical design and structure of a database and defines how data will be stored, accessed and updated in a database management system. 


While the Relational Model is the most widely used database model, there are other models too:

  • Hierarchical Model
  • Network Model
  • Entity-relationship Model
  • Relational Model

Hierarchical Model

This database model organises data into a tree-like-structure, with a single root, to which all the other data is linked. The hierarchy starts from the Root data, and expands like a tree, adding child nodes to the parent nodes.

In this model, a child node will only have a single parent node.

This model efficiently describes many real-world relationships like index of a book, recipes etc.

In hierarchical model, data is organised into tree-like structure with one one-to-many relationship between two different types of data, for example, one department can have many courses, many professors and of-course many students.

Hierarchical Model of database


Network Model

This is an extension of the Hierarchical model. In this model data is organised more like a graph, and are allowed to have more than one parent node.


In this database model data is more related as more relationships are established in this database model. Also, as the data is more related, hence accessing the data is also easier and fast. This database model was used to map many-to-many data relationships.

This was the most widely used database model, before Relational Model was introduced.

Network Model of database


Entity-relationship Model

In this database model, relationships are created by dividing object of interest into entity and its characteristics into attributes.

Different entities are related using relationships.

E-R Models are defined to represent the relationships into pictorial form to make it easier for different stakeholders to understand.

This model is good to design a database, which can then be turned into tables in relational model(explained below).


Let's take an example, If we have to design a School Database, then Student will be an entity with attributes name, age, address etc. As Address is generally complex, it can be another entity with attributes street name, pincode, city etc, and there will be a relationship between them.


Relationships can also be of different types. To learn about E-R Diagrams in details, click on the link.

E-R Model of database

Relational Model

In this model, data is organised in two-dimensional tables and the relationship is maintained by storing a common field.

This model was introduced by E.F Codd in 1970, and since then it has been the most widely used database model, infact, we can say the only database model used around the world.

The basic structure of data in the relational model is tables. All the information related to a particular type is stored in rows of that table.

Hence, tables are also known as relations in relational model.

In the coming tutorials we will learn how to design tables, normalize them to reduce data redundancy and how to use Structured Query language to access data from tables.

Relational Model of database


No comments:

Post a Comment