Francais | English | Espanõl

Data model

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Database models
Common models
Other models

A data model is a model that describes in an abstract way how data are represented in a business organization, an information system or a database management system.

This term is ambiguously defined to mean:

  1. how data generally are organized, e.g. as described in Database management system. This is sometimes also called "database model"
  2. or how data of a specific business function are organized logically (e.g. the data model of some business)

Contents

[edit] General organization of data

In general, the first aspect ("database model") describes the following :

  1. Structure: defines how data are organized: (hierarchical, network, relational, object-oriented).
  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.

For example, in the relational model, all data is represented by mathematical relations (or, to be precise, a slightly generalized version thereof). There exists 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. Additional information about this topic can also be found in database management system.

[edit] Organization of data in a specific application (domain)

For a specific application, tables (objects, relations, ..., the naming conventions depend on the general model) are defined. For example, "customer", "order", "item" as well as relations between them ("customer orders items").

If a relational model is used, sets of specific constraints (candidate keys, foreign keys) have to be defined (using the appropriate language as defined for the general model, e.g. SQL).

[edit] Tools for creating a data model for an application

While simple data models consisting of few tables or objects can be created "manually", large applications need a more systematic approach. Within the relational database modeling community, the entity-relationship model method is used to establish a domain-specific data model. Within the object-oriented programming community, the Unified Modeling Language (UML) is preferred for creating data models. Within UML, "Class Diagrams" are very similar to Entity-Relationship Diagrams, but most UML tools, such as Rational Rose and Embarcadero Describe, lack the ability to support conceptual, logical, and physical traceability. Other methods, such as the functional data model and object role modeling (ORM), also describe subsets/aspects of a data model and the application based on it.

[edit] External links

  • RFC 3198 - Terminology for Policy-Based Management
  • RFC 3444 - On the Difference between Information Models and Data Models

[edit] See also

ja:データモデル nl:Datamodel ru:Модель данных

Personal tools