Data modelling in DBMS (Database Management System) is the process of recording complex software system designs as easily understood diagrams, using symbols and text to represent the way data needs to flow. The diagram can either be used to re-engineer a legacy application or as a design for the creation of new software.
Usually, data models are built during analysis and design phase of a project for full understanding of the requirements of a new application. Data modelling can be thought of as a flowchart illustrating the relations between data, but capturing all probable relationships in any data model can be time-intensive, therefore this step should not be rushed. Well-documented logical, physical and conceptual data models allow modellers to detect errors and make modifications before any programming code is written.
Data modellers regularly use various models to view same data and make sure that all entities, processes, data flows and relationships have been identified. Several approaches to data modelling include:
i. Conceptual Data Modelling – Identifies the highest level relationships between two or more different entities.
ii. Enterprise Data Modelling – Similar to conceptual data modelling. However, it addresses the distinctive necessities of a particular business.
iii. Logical Data Modelling – Illustrates the specific attributes, relationships and entities involved in any business function. It is simply the basis in creating the physical data model.
iv. Physical Data Modelling – Represents the database specific implementation and application of logical data models.
Database Models
A database model describes data’s logical design. The data model defines relations between different data parts. These models are normally used in data modelling. They are Network Model, Relational Model, Hierarchical Model, Object Oriented Model, etc.
Network Model
In this model, entities are represented in a graph which some entities can be retrieved through numerous paths. The network database model was designed to solve some of the serious problems experienced with the hierarchical database model. It corrects data redundancy by demonstrating relationships as sets instead of hierarchy. Therefore the Hierarchical model is the subset of the Network model. This model supports many to many relationships.
Relational Model
In relational model, data is organised in 2-dimensional tables called relations. The tables/relation relate to each other. This model has been widely adopted and considered a great model for efficient data organization. Currently, there is a wide collection of available relational database products ranging from light-weight Desktop Applications to feature-packed Server Systems with highly-optimized retrieval methods. Some of the popular RDBMS (Relational Database Management Systems) include Oracle, Microsoft SQL server, MySQL, IBM and Microsoft Access.
Hierarchical Model
In the hierarchical model, each entity has single parent but can consist of several children. The root is at the top of the hierarchy and consists of only one entity. The Hierarchical Model covers a wide concept spectrum. It frequently refers to many set ups such as Multi-Level models where various levels of data or information are related to some larger form. The hierarchical model is comparable to network model for it displays a group of records in trees rather than arbitrary graphs.
Object Oriented Model
This model was designed to enhance database functionality in object programming languages. Object models enable extension of C++ semantics, which are Java and Smalltalk object programming languages. They are usually used to offer fully featured database programming capability, at the same time retaining the natural language compatibility.
Image Courtesy:
Types of database models By Marcel Douwe Dekker – Own work, CC BY-SA 3.0, via Wikicommons