Consistency Checks
Use
The basic idea behind the consistency checks is to maintain the flexibility of the Data Modeler by not requiring all models, entity types, and so on to be consistent in each work step.
In the Dictionary, on the other hand, an attempt is made to ensure complete consistency each time an object is created or changed. This is important because the Dictionary objects form the basis for the programs that are executed and for database accesses. However, from the point of view of the modeler, it would be annoying to have to ensure that the complete model has a consistent status at all times. For this reason, only a few checks are made when a model is being created.
The modeler should first create the objects and then check for inconsistencies in a separate check procedure. This is the purpose of the consistency checks. Once the checks have been made, the errors can be corrected.
It is also possible that referenced objects are forgotten when data models, entity types, and so on are transported. Inconsistencies may arise in the target system, even though the models are consistent in the source system. Here too, the inconsistencies can be located using the consistency checks and an appropriate supplementary transport can be organized.
The following important checks currently exist:
Checking Data Models for Completeness
A check is made to find relationships and specializations whose source entity types do not belong to the data model. Inconsistencies of this type indicate that not all assignments have been made. This check is not normally appropriate for application data models.
Checking Data Models for the Existence of Predecessors
A check is made to find the relationships and specializations whose source entity types do not exist. Inconsistencies of this type are generally caused by a transport error.
Checking Data Models for Connectivity
A check is made to ensure that the entity types of a data model are connective. That is, a check is made to see whether there is a path connecting each entity type of the data model to each other entity type of the model. These paths are either relationships or specializations.
If the data model is not connective, the set of entity types making up the data model disintegrates into several unconnected subsets. Each of these subsets, however, is in itself connective. Inconsistencies of this type indicate that relationships are missing.
Checking Hierarchies for the Existence of Hierarchy Objects
A check is made here to find data models and entity types that are included in the hierarchy, but that do not exist. Inconsistencies of this type are generally caused by a transport error.