Jump to content

Data model

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by M4gnum0n (talk | contribs) at 14:51, 19 June 2008 (rm redundant links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

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 accessed. See also List of database models.
  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 entities or objects modeled 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

A Data Model Instance is created by applying a Data Model Theory. This is typically done to solve some business enterprise requirement.

Business requirements are normally captured by a semantic logical data model. This is transformed into a physical Data Model Instance from which is generated a physical database.

For example, a Data modeler may use a data modeling tool to create an Entity-relationship model of the Corporate data repository of some business enterprise. This model is transformed into a relational model, which in turn generates a relational database.

  • RFC 3444 - On the Difference between Information Models and Data Models

See also