What is Data Modeling?
Data modeling is the process of creating a visual representation of an entire information system or parts of it to communicate the relationships between data points and structures.

What does that mean?

The goal of data modeling is to provide a visual aid that shows a set of tables and the relationships between them, be that as a one to many or a singular connection. This aid will then be used to eventually be used to create a database.

A useful parable for this would be to think of it as a recipe. Before a dish can be made, the recipe must be drawn out and ingredients measured before a cook can prepare the meal.

The Three tenants of Database Design and Models:

Like all creations a Database will start with a concept, then to a logical model, and finally to a physical end product. This is also known as a CLaP model (Conceptual, Logical, and Physical).

The Conceptual Model

The C in CLaP — the Conceptual Model. The purpose of this model is to identify entities and the relationships between them.Below are the key characteristics of this model:

Highly abstract, making it easy to understand
Defines entities and their relationships
Created by business stakeholders and data architect
The Logical Model

The L in CLaP — the Logical Model. The purpose of this model is to identify attributes for the entities. Below are the key characteristics of this model:

Entities have attributes, including unique keys
Entities have primary and/or foreign keys
Database agnostic, meaning it can be used for any database
The Physical Model

The P in CLaP — the Physical Model. The purpose of this model is to describe the actual implementation of the database. Below are some key characteristics of this model:

Entities are called tables
Attributes are called columns
Table and column names follow database syntax
Columns include data types
The Importance of Data Modeling
As you can see, data modeling plays an integral part in designing a database. Below are some of the key benefits of data models:

Provide a quick overview to stakeholders and developers
Provide a clear representation of data which leads to easier data analysis
Help rule out any chances of data redundancy and omission
Improve data quality and enable stakeholders to make data-driven decisions
With the above being stated, we have created a great tool to aid any software engineering team with database design.

What is dbSpy2.0?
dbSpy2.0 is an open-source data modeling tool designed to facilitate relational database development. dbSpy facilitates the creation of CLaP models from scratch! With dbSpy2.0, you are able to create entities, establish relationships, add attributes and datatypes to your entities, and once you’re done modeling, dbSpy provides you a list of SQL, MySql & PostgreSql queries to run to create a schema for your database designed according to your model!

dbSpy2.0 also has a built-in feature that allows you to connect to an existing Postgres database and build out a physical model of that database. You would then be able to interact with and perform CRUD functionality to the rendered data model of your database. Any changes made to the model will then be processed by dbSpy2.0, and once you’re satisfied with your changes, you will be able to execute those changes on your actual database, all with a click of a button! dbSpy2.0 will handle the transaction to your PostgreSQL database, which will implement the changes to your live database!

In addition to facilitate relational database development, dbSpy2.0 understands the importance and value of databases in any entity and promotes database security awareness in database development. dbSpy2.0 provides the ability for you to easily view and set the database log settings to meet your security standard in the development phase. This feature is also available to your existing database for your admins to