A data model represents the way data is organized within a data store. The organization of data is important because that determines the efficiency of the usage of data. Data models can be designed in various styles depending on how data within the application is going to be used.
Here are the most common types of data models based on how data within the application is used.
Third Normal Form
Third normal form is the most common form of modelling data within a relational datastore. It organizes data is a manner that reduces redundant entries and optimizes data storage and database operations like inserts, updates and deletes. It also enables referential integrity constraints to ensure data integrity. Third normal forms of data models are generally used by transactional applications. It stores data in a very organized and granular form.
Dimensional modelling techniques have evolved mainly for analytical use of data. When data is used for taking strategic and tactical decisions, third normal form of storing data becomes inefficient, as it requires joining many distinct tables to create a view of data that can be consumed by humans. Dimensional models adopt star schemas or snowflake schemas to store data in a manner that can be consumed for analytical purposes. These models also store precalculated and aggregated data, apart from storing granular data, and are mostly used by business intelligence applications to build business reports.
Data Vault Models
With the evolution of massively parallel databases, the need to precalculate the aggregated values started to become less critical. Enterprise data warehouses that used these databases adopted the data vault models, which are closer to third normal structure with a difference. Enterprise data warehouses required storing of changes to data with time, which made it difficult to impose referential integrity constraints on third normal type models. Here, data vault techniques are useful, as they seperate the changing data elements from the non changing data elements and make it possible to organize data with referential integrity constraints. It also facilitates an extensible data model, which made this method popular for enterprise data warehouse, where data requirements are not fully defined, and keep evolving with time.
With the evolution of big data technologies, the concept of schemaless models became popular. Nosql databases store data entities as a document, and a document can contain data elements from multiple tables to provide a consolidated view of data. Since there is no defined way in which documents store data, the data models for nosql databases are referred to as schemaless, which basically means that each document can potentially have a different schema. Having said this, it does not eliminate the need to provide some basic guidelines on how schemas within the documents should be constructed. These guidelines help in appropriately partitioning the documents in a nosql database so that they can be distributed across servers for efficient querying.