next up previous
Next: Schemas Up: Data Models and Schema Previous: Data Models and Schema

Data Models

A data model is an abstract description of how information is encoded in a system. Typically, people use data models to perform certain reasoning about a system, especially when doing design work regarding the system.

Data models are helpful because they are simplified versions of the system that the model corresponds to. Data models can omit details about the modeled system that are irrelevant to the task at hand. This can make work easier for a person working with the modeled system.

A data model is valid (with respect to its author's intentions) if it accurately describes all facets of the modeled system that the data model's author intended the model to describe.

For example, an entity-relationship (ER) model can be a valid model of an associated relational database.

A data model might not represent all of the interesting information that exists in the system that the model is an abstraction of. For example, an ER model would not likely describe how many records appear in a given table of the relational database.

A data model (as conceived here) does not necessarily attempt to describe dynamic aspects of the information encoded a system. For example, a data model might describe that a system had four explicit states: "STARTING", "RUNNING", "QUIESCING", and "SHUTDOWN".

A data model probably would not describe the possible sequences of state transitions that the modeled system could undergo. That kind of description would be characteristic of a state model, not a data model.

Common types of data models used in software
Numerous types of data models have been studied and put into use. Some of the most common ones are described below.


next up previous
Next: Schemas Up: Data Models and Schema Previous: Data Models and Schema
Emine N. Tatbul
2001-03-19