In this concept, it is important to clarify that a data model describes the characteristics of the data, its structure, its operations and its constraints; meanwhile, data modeling is the process of generating these models. The purpose of data modeling is for models to be used and understood by all modelers, developers and other persons working in the software development/engineering area in a standardized way. Thus, Figure 15 presents the results obtained from the mapping performed in Appendix A from the selected 36 relevant papers.
According to Figure 15, there is not a trend of data modeling language. There are 27 studies that do not define a standardized language used for the visualization of the models. Only six studies are adjusted to a standard such as the Unified Modeling Language (UML) and the other four propose the use of their own modeling language, like Chebokto diagrams, Graph Object Oriented Semi- Structured Data Model (GOOSDM), lightweight metamodel extensions and XML. Of the six studies that present their models with the use of the UML, two of them use it in the conceptual level model [35,45], one uses it in the conceptual and logical models [14] and three use it in all conceptual, logical and physical levels.
Figure 14. Transformation between data abstraction levels.
In general, the authors propose the below algorithm that takes a model as input, apply their own transformation rules and produce another model as output:
Input1: Conceptual Level: C = {Ci}, where Ci belongs to each i element from conceptual model. Transformation rules: R =
{ r j } , where r j belongs to each j rule or constraint from mapping rules
defined by the authors. Output1: Logical Level: L = C∪ R = {lk}, where lk belongs to each k element from logical model. Input2 = Output 1 Transformation rules’: R′ =
{ r′ j
} , where r′ j belongs to each j rule or constraint from mapping
rules defined by the authors. Output2: Physical Level: P = L ∪ R′ =
{ pk
} , where pk belongs to each k element from
physical model.