The Entity-Relationship Model
Definition of a Data Model
The term data model is used in two distinctly different ways in database management.
Date (2004, p. 16) distinguishes between them as follows (emphasis in original):
“A data model is an abstract, self‑contained, logical definition of the objects, operators, and
so forth, that together constitute the abstract machine with which users interact. The objects allow us to model the structure of data. The operators allow us to model its behavior … In a nutshell: The model is what users have to know about; the implementation is
what users do not have to know about … A data model in the first sense is like a programming language—albeit one that is somewhat abstract—whose constructs can be used to solve a wide
variety of specific problems, but in and of themselves have no direct connection with
any such specific problem.”
“A data model in the second sense is like a specific program written in that language. In other words, a data model in the second sense takes
the facilities provided by some model in the first sense and applies them to some
specific problem. It can be regarded as a specific application of some model in the first sense.”
When this manual uses the term data model, it is in the sense of the first definition provided by Date unless explicitly stated
otherwise.