Data model

A data model is an abstract model that describes how data are represented and used.

The term data model has two generally accepted meanings:
 * 1) A data model theory i.e. a formal description of how data may be structured and used. See also database model
 * 2) A data model instance i.e. applying a data model theory to create a practical data model instance for some particular application. See data modeling.

Data Model Theory
A data model theory has three main components:
 * The structural part: a collection of data structures which are used to create databases representing the entites or objects modelled by the database.
 * The integrity part: a collection of rules governing the constraints placed on these data structures to ensure structural integrity.
 * The manipulation part: a collection of operators which can be applied to the data structures, to update and query the data contained in the database.

For example, in the relational model, the structural part is based on a modified concept of the mathematical relation; the integrity part is expressed in first-order logic and the manipulation part is expressed using the relational algebra, tuple calculus and domain calculus.

Data Model Instance
Data modelling is the process creating a data model instance by applying a data model theory. This is typically done to solve some business enterprise requirement.

Business requirements are normally captured by a logical semantic data model. This is transformed into a physical data model instance from which is generated a physical database. For more information on the tools and techniques of data modelling, see data modelling.

For example, a data modeller may use the ERwin data modelling tool to create an ERD of the corporate data model of some business enterprise. This model is transformed into a relational model, which in turn generates a Oracle relational database.