Data Models define how we give a structure to data, and how data is connected to other data.
We have many different kinds of data models. They all can be grouped under 2 main umbrellas: conceptual models and logic models.
The most known conceptual model is the Entity-Relationship Model, also called ER. It’s the best way to organize data at first, when you are in the design phase, because it’s the model that’s nearest how we think, and it’s not linked to any specific implementation.
Logic models on the other hand are closer to the implementation.
Logic models include (among many others):
- The Relational Model
- The Hierarchical Model
- The Reticular model
- The Object model
You can see the name already gives us a hint of how those models are implemented: tables for the relational model, trees of the hierarchical model, graphs for the reticular model, objects for the object model.
The relational model is the logic model that we’ll soon see in more details, as it’s the base of the popular relational databases, including PostgreSQL, MySQL, SQLite and SQL Server.
Conceptual models and logic models are two different tools. Using one does not exclude the other. We could start with a conceptual model and then use a logic model to implement it.
More database tutorials:
- The MongoDB basics tutorial
- How MongoDB is different from a SQL database
- Information systems, data and information
- Data models
- Introduction to the ER Data Model
- The Relational Model
- Relational Algebra
- Relational Databases
- What is a Database? And a DBMS?
- Introduction to SQL
- How to install PostgreSQL on macOS
- Do you always need a database for your app?
- How to install SQLite on macOS
- Introduction to PostgreSQL
- PostgreSQL User Permissions
- How to list all users in PostgreSQL
- How to switch database using PostgreSQL
- How to list all databases using PostgreSQL
- How to list tables in the current database using PostgreSQL
- How to install MySQL on macOS
- Creating a user on MySQL
- PostgreSQL vs MySQL, a comparison
- SQLite User Permissions
- MySQL User Permissions
- SQL, creating a table
- SQL, adding data to a table
- SQL, how to use SELECT
- SQL, Handling empty cells
- SQL, Unique and Primary keys
- SQL, how to update data
- SQL, how to update a table structure
- SQL, how to delete data and tables
- SQL Joins
- SQL Views
- How to insert multiple items at once in a MongoDB collection
- How to remove all items from a MongoDB collection