Some important properties of data for which requirements need to be met are:
definition-related propertiesrelevance: the usefulness of the data in the context of your business.
clarity: the availability of a clear and shared definition for the data.
consistency: the compatibility of the same type of data from different sources.
timeliness: the availability of data at the time required and how up to date that data is.
accuracy: how close to the truth the data is.
properties related to both definition and content
completeness: how much of the required data is available.
accessibility: where, how, and to whom the data is available or not available (e.g. security).
cost: the cost incurred in obtaining the data, and making it available for use.
The term data model can have two meanings:
A data model theory, i.e. a formal description of how data may be structured and accessed.
A data model instance, i.e. applying a data model theory to create a practical data model instance for some particular application.
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.
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.
An Information model is not a type of data model, but more or less an alternative model. Within the field of software engineering both a data model and an information model can be abstract, formal representations of entity types that includes their properties, relationships and the operations that can be performed on them. The entity types in the model may be kinds of real-world objects, such as devices in a network, or they may themselves be abstract, such as for the entities used in a billing system. Typically, they are used to model a constrained domain that can be described by a closed set of entity types, properties, relationships and operations.
According to Lee (1999) an information model is a representation of concepts, relationships, constraints, rules, and operations to specify data semantics for a chosen domain of discourse. It can provide sharable, stable, and organized structure of information requirements for the domain context. More in general the term information model is used for models of individual things, such as facilities, buildings, process plants, etc. In those cases the concept is specialised to Facility Information Model, Building Information Model, Plant Information Model, etc. Such an information model is an integration of a model of the facility with the data and documents about the facility.
An information model provides formalism to the description of a problem domain without constraining how that description is mapped to an actual implementation in software. There may be many mappings of the information model. Such mappings are called data models, irrespective of whether they are object models (e.g. using UML), entity relationship models or XML schemas.