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.
Object-oriented models therefore tend to be more than just data models. Object-oriented models go one step further by describing to some extent what dynamic behavior the modeled system can undergo when executing.