Types of DBMS
Database Management System
A software that is programmed to enable the user to create and maintain a database. Using DBMS, we can implement create, read, update and delete operations on the information stored in a database.
There are various types of DBMS based on the connection of various database elements. The data models of the DBMS are as follows:
- Entity-Relationship Data Model
- Relational Data Model
- Object-Oriented Data Model
- Semi-Structured Data Model
- Hierarchical Data Model
- Network Data Model
Entity-Relationship Data Model
In an entity-relationship model, the data is organized into an entity and related to each other in the form of relationships. Relations tell the association composition between various entities.
Entities are anything that can be mapped with real-world objects; these entities have attributes of their own. These attributes are the properties of the entities.
Relational Data Model
A relational data model constitutes two-dimensional tables. The data is stored in the form of one or more tables. Each table has rows and columns. A unique key identifies each row. Structured Query Language (SQL) is used to handle the Relational Database and its information. This is one of the most used data model types in the industry. Examples of relational data models include any model built using MySQL, Oracle Database etc.
The table below, the Employee table, is an example of a Relational Database.
Employee ID |
Employee Name |
Department |
100 |
Jane Doe1 |
Department 1 |
101 |
Jane Doe2 |
Department 2 |
102 |
Jane Doe3 |
Department 3 |
In the above Employee Table, the Employee ID, Employee Name and Department are the Column name or the attributes of the Employee table where the Employee ID can be used to access each employee entry uniquely.
Object-Oriented Database
In this data model, we arrange the data into objects and classes. This model provides all the features of an object-oriented programming language. It involves multiple objects stored together. It is one of the most efficient data models. It offers all the functionalities that are available in object-oriented programming. We can perform inheritance, encapsulation, polymorphism, and abstraction on the data stored in this data model along with all the existing features provided by the DBMS. It ensures better concurrency controls and transactions to the DBA. It is relatively easier to maintain and requires a comparatively low code to operate. An example of this model is Object DB software.
Semi-Structured Data Model
This model has a flexible structure; the rest of the data models are rigid when it comes to data entry. This data model allows the user to enter the individual data types of the same type, but they are of different attributes. There is no clear distinction between the schema and data in this data model. It is no defined structure and is defined by the amount of data entered, so there is no wastage of space when using this data model. But this model is not well organized. The structure of the model can be modified, to suit the purpose of the organization or the user.
Hierarchical Data Model
This model is similar to a tree in the data structure. A single parent node can have one or more than one child node, which is the case in the hierarchical data model. In this model, the data is organized as the elements where there are one to many relationships among various elements. The side with a single element is higher than the multiple elements. Thus, forming a structure the same as the tree.
- This model begins with a root node.
- Each child node is connected to its parent node.
- It is a top-down approach to the database model.
- In the industry, this model is used to design and implement the organisation's mainframe platforms.
An example of this model is IMS.
This model is hardly used for personal databases and is usually used in large organizations where different operations are performed at different levels.
E.g., It can be implemented in a college where the college itself will be the root node. To begin with, a single college will have multiple departments, each department will have multiple teachers, and each teacher will be teaching multiple students. There are multiple one to many relations in the given data model. Data from each level can be easily stored in this manner.
Network Data Model
The network data model is somewhat similar to the hierarchical model. The only key difference between these is the relation between the two elements. In a network relationship model, the elements may also have one to one and many to many relationships too. In this model, the data is arranged and connected in a similar way in which the vertices and edges of the graphs are connected. Multiple inheritances are possible in this data model as a child can have multiple parents, and multiple parents can also have multiple children.
For example, A teacher can teach multiple subjects, but at the same time, that same subject can be taught by multiple teachers. And students may opt for multiple subjects, and those subjects can be taught to students by multiple teachers. Thus, forming a graph.