A data model is a set of concepts for describing data, data relationships, data semantics and constraints. It is a collection of conceptual tools for understanding data, relationships among data, data semantics and consistency constraints.
A common misconception is that a data model implies a physical database design. However, data models can be used to describe any type of data structure whether it exists in a database or not. A database however cannot exist without some underlying physical design.
In simple terms, a data model is an abstract model that organizes elements of data and standardizes how they relate to one another and to properties of the real world entities. For instance, a data model may specify that the data element representing a car be composed of a number of other elements which, in turn, represent the color and size of the car and define its owner.
Data models are specified in a data modelling notation, which is often graphical in form.
Describes the semantics of a domain without constraining how those semantics will be implemented in any database.
Describes the semantics of a domain in an implementation-independent fashion.
Describes how data is stored within a specific database management system.
At the highest level, the conceptual data model is used to define the vocabulary of an application. This vocabulary includes not only the entities involved, but also their properties and relationships. For example, for a social networking site, a conceptual model might capture user profiles and their connections to each other.
In information science, a data model is a systematized arrangement of concepts. A concept is an idea about something (like a person or thing). A concept can be expressed in terms of characteristics (properties) that are shared by many things or beings (instances).
Some examples of data models include:
These are just a few examples of data models; there are many other types of data models that are used in different contexts and for different purposes.