DBMS software is designed for the storage of facts about the real world, future modifications and the searching/sorting of data. Describing the real world in an organized way is an extremely complex task, so it needs some formalization. This formalization is referred to as a Data Model.
A data model is a set of tools of a given DBMS. The data model is defined by three terms:
- Organization of data
- Limitation of integrity (semantic)
- Set of operations which are allowed with objects of data model
Organization of Data
Data models are generally described in the following data organization categories:
Since every DBMS supports some original features, you could say every DBMS has their own original data model. Many DBMS have features that exist in one or more data organization categories since trends in data management have rapidly evolved from the 1950's.
Before we start having a closer look at database models let's note that data can be of two types:
- Useful data (primary data). We create a database with intent to keep this data.
- Internal data, e.g. required to establish links between records.
Lets have a look at each way to organize data, analyze how internal data is expressed and how it works with primary data.
Database Models Reference
hierarchical - Data is organized into a tree-like structure that allows repetition of information in parent-child relationships.
The Network Database Model - Data is organized in multiple parent and child relationships, with a path-like navigation of information.
Relational Database Model - Data is organized into fields and records or described as “columns” and “rows”.
Object-Relational database model - Relational data is organized in a way so that database designers can integrate their own custom data types and methods.
Object-Oriented database model - Data is organized in a way so that database designers can integrate their own custom data types and methods through sub-classing.
Valentina Database Model - Data is organized in a way to maximize speed and integrity using a network-like model but including a combination of the best features of Object-Relational methods.