A
data model is a model that describes in an abstract way how data is represented in an
information system or a
database. In general it describes the following aspects:
- Structure: defines what the structure of the representation is. This should not only specify how data is represented but also how a schema can be specified that defines the structure of the data in a specific user domain.
- Integrity: provides a language for the definition of rules that restrict which instances of the defined structure are allowed.
- Manipulation: provides a language in which updates of the data can be expressed.
- Querying: provides a language in which the data can be queried.
An example is the relational model in which all data is represented by
mathematical relations (or, to be precise, a slightly generalized version thereof).
It furthermore defines a set of specific constraints (candidate keys[?], foreign keys) and a general language for specifying constraints (first-order logic), and for manipulations and querying the data the relational algebra, tuple calculus and domain calculus are introduced.
Other examples are the Functional Data Model[?], the Entity-Relationship Model[?] and the Object Role Model[?] although these usually only describe a small subset of the aspects described above.
All Wikipedia text
is available under the
terms of the GNU Free Documentation License