Data model

This is an old revision of this page, as edited by Jan Hidders (talk | contribs) at 16:23, 27 January 2003. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A data model is 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:

  1. 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.
  2. Integrity: provides a language for the definition of rules that restrict which instances of the defined structure are allowed.
  3. Manipulation: provides a language in which updates of the data can be expressed.
  4. 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 Entity-Relationship Model and ORM although these usually only describe a small subset of the aspects described above.