Data models

Introduction

A data model is an abstract view of the data referred to in the product being developed.

  • Data modeling explains and visualizes how the data will be used by the software and defines data objects that will be stored in a database.

Example:
data models

Types of data models

Type 1: Conceptual data model

  • It gives a front view of each data entity and not a technical detail of data.

  • It presents all the data entities referred to by the business and their characteristics called attributes and the dependency or the connection between entities called relationships.

  • It makes communication easy and clear among all stakeholders, reducing communication gaps.

Type 2: Logical data model

  • It gives a detailed description of each data entity, their attributes, and the relationship between two entities, giving business purpose to each data.

  • The relationship is presented more explicitly with details like primary key, foreign key, and parent-child dependent entity type.

Type 3: Physical data model

  • A physical data model is the layout of the actual database with all its components.

  • It gives a technical view of the data, i.e., the table name, column name, data type, constraints, indexes, primary key, triggers, stored procedures, etc.

  • It is developed by using databases like SQL, Oracle, etc.

A data model is an abstract view of the data referred to in the product being developed.

  • Data modeling explains and visualizes how the data will be used by the software and defines data objects that will be stored in a database.

 

Importance of data modeling

  1. Helps in building the information system and database

  2. Facilitates easy access to business data

  3. Helps management to take decisions

  4. Facilitates business to function efficiently

  5. Provides all stakeholders with a clear and easy understanding of what information is going to be stored

  6. Defines the core rules and policies that will govern each entity

Techniques for data modeling

1. Hierarchical model

  • It has a root or a parent node and then follows a tree-like structure with other child nodes.

  • Only one parent is allowed for a child node, and a parent node can have multiple child nodes.

  • It is very easy and simple to understand.

  • Simplex data models can be represented using this technique.

2. Network model

  • This model is an advancement of the hierarchical model. It shows the graph of the system.

  • A child node could have multiple parent nodes.

  • Navigation is faster in this model, as there are multiple paths to reach a child entity.

  • This model also gets very complex when data is large.

3. Object oriented model

  • Object-oriented databases gained popularity with object-oriented programming.

  • A real-world entity is represented as an object with attributes.

  • The model presents a view as a collection of objects.

  • Each object has its own methods and features.

4. Entity relationship model

  • This model represents the system at a very high level.

  • Real-world problems can be represented through this model.

  • It is very easy for all technical and non-technical stakeholders to understand.

  • It is referred by database architects and developers to build the physical database.

5. Relational model

  • The relational model is the most popular model.

  • In this model, the entity information is represented as a table.

  • All the attributes are represented as columns.

  • The primary key and foreign key of each entity are also mentioned.

Data modeling tools

  1. MySQL Workbench

  2. ER/Studio

  3. erwin Data Modeler

  4. SQuirreL SQL Client

  5. Draw.io

  6. Lucidchart

  7. Amundsen

  8. Postico

  9. Navicat

  10. Datagrip