Data Model

Intuitively, a data model provides a uniform way to represent and manipulate data. (Victor Vianu, www-cse.ucsd.edu ).

Or, more formally :

a general theory of data via which enterprise-specific conceptual models are mapped to logical models. Fabian Pascal (www.dbdebunk.com).

Examples: Relational Model, Hierarchical Model , Network Model. To this day, and to my knowledge, there isn't a generally agreed upon Object Oriented Data Model, although many researchers have made significant advancements in this direction.

The way things should be done is that during requirements engineering/analysis phase of a process, some people (information analysts, data modelers, software engineers - the label is less important) describe the universe of the business that the software is trying to improve in terms of a Conceptual Schema (corresponding to a conceptual model such as Extended Entity Relationship, Object Role Modeling, NIAM or a few others -- from which UML should be forcefully excluded). This analysis is used in crafting a database schema , the process of moving from a conceptual schema to a database schema is supported by a data model .

For example departing from an Entity Relationship diagram and using the concepts of relational data model, we can create tables for each entity, represent relationship either as attributes with foreign key constraints or as relationship tables, enforce business rules through various integrity constraints and we get a logical database schema.

It is also a heavily abused term. Many people confuse it for database schema. A database schema is not a data model.

For more on what a data model is you can reference An Introduction To Database Systems, or Foundations Of Databases.


The Data Model of a programming language or data representation format, is the set of values representable by the language or format, together with a specification of their intended meaning. The same thing as an Info Set.


Previous definitions on this page:

1. a standard or example for imitation or comparison of data, business practices, or algorithms.

2. a representation, generally in software, to show the construction or appearance of data, business practices, or algorithms



See original on c2.com