Introduction to data modeling.
Tags: beginners, learning, datascience, data
Published: 2023-10-15 18:16:39

Data modelling is a process of creating a conceptual representation of data objects and their relationship to one another. Data models are built around business needs. The process begins by collecting information about business requirements from stakeholders and end user. Translated into data structures to formulate a concrete database design. A data model facilitates a deeper understanding of what is being designed. Data models evolve along with changing business needs.
Types of data models:

**Conceptual data models**

This data model basically defines what the system inherently contains, offers an abstract view.
 Including entity classes their characteristics and constraints, the relationships between them and relevant security and data integrity requirements. Business stakeholders and data architects are typically the ones who create conceptual data models with the intent to organize and define various business concepts and rules.

**Logical data models**
 The goal of creating a logical data model is to develop a highly technical map of underlying rules and data structures. It provides detail about concepts and relationships. Logical data models don’t specify any technical system requirements. 

**Physical data models**
The physical data model pertains to how the system will be implemented, and factors in the specific databases management system. This model typically created by developers, is more to define how the actual database will be used or implemented for business purposes.

**Data Modeling process**
Data modelling techniques provide formalized workflows that include a sequence of tasks to be performed in an iterative manner. Those workflows include:

1.Identify the entities. Identification of the things, events or concepts that are represented in the relevant data set. Each entity should be cohesive and logically discrete from all others.

2.Identify key properties of each entity. Each entity type can be differentiated from all others because it has one or more attributes. 

3.Identify relationships among entities. Specify the nature of the relationships each entity has with the others. These relationships are usually documented via unified modeling language (UML).

4.Map attributes to entities completely. To ensure the model reflects how the business will use the data. 

5.Assign keys as needed, and decide on a degree of normalization that balances the need to reduce redundancy with performance requirements. Normalization tends to reduce the amount of storage space a database will require, but it can at cost to query performance.

6.Finalize and validate the data model. Data modeling is an iterative process that should be repeated and refined as business needs change.

**Types of data modelling**
Below are several model types:

Hierarchical data models represent one-to-many relationships in a treelike format. In this type of model, each record has a single root or parent which maps to one or more child tables.  Though this approach is less efficient than more recently developed database models, it’s still used in Extensible Markup Language (XML) systems and geographic information systems (GISs).

Relational data models are still implemented today in the many different relational databases commonly used in enterprise computing. Relational data modeling doesn’t require a detailed understanding of the physical properties of the data storage being used. Data segments are explicitly joined through the use of tables, reducing database complexity. Relational databases frequently employ structured query language (SQL) for data management.
Entity-relationship (ER) data models use formal diagrams to represent the relationships between entities in a database. Popularly  used by data architects to create visual maps that convey database design objectives.

Object-oriented data models the objects are grouped in class hierarchies, and have associated features. Object-oriented databases can incorporate tables, but can also support more complex data relationships. This approach is employed in multimedia and hypertext databases as well as other use cases.

Dimensional data models were designed to optimize data retrieval speeds for analytic purposes in a data warehouse. While relational and ER models emphasize efficient storage, dimensional models increase redundancy in order to make it easier to locate information for reporting and retrieval. This modeling is typically used across OLAP systems.

**Benefits of data modeling**

- Get everyone on the same page
- Clarify your project scope
- Improve data quality
- Save time and money
- Improve database performance
- Enable better documentation


**Data modeling tools**
Numerous commercial and open source solutions are widely used today, including multiple data modeling below are examples:

-erwin Data Modeler 
-Enterprise Architect 
-ER/Studio 
-Free data modeling tools include open source solutions such as Open ModelSphere.