How to Describe and Store Data in a Database

A data model is a collection of descriptions of the data and it’s relationships that hides details of the storage implementation. A database management system such as PostgreSQL or MS SQL allows users to define data models. The relational data model is a particular type of data model.

A more abstract data model is the semantic data model. It is usually used to develop an initial description of the data in a real world scenario, like a business or any other real world organization.

(abstract) semantic data model <—-> relational data model (closer to the metal)

An example of a semantic data model is the entity-relationship (ER) model. The ER model is an abstract representation of the information structure that can be implemented in a relational database, like an SQL database (PostgreSQL, MS SQL, etc.).

Source: Ramakrishan, Gehrke: Database Management Systems