Maintaining Mappings between Conceptual Models and Relational Schemas

Maintaining Mappings between Conceptual Models and Relational Schemas

Yuan An, Xiaohua Hu, Il-Yeol Song
DOI: 10.4018/978-1-61350-471-0.ch010
(Individual Chapters)
No Current Special Offers


This paper describes a round-trip engineering approach for incrementally maintaining mappings between conceptual models and relational schemas. When either schema or conceptual model evolves to accommodate new information needs, the existing mapping must be maintained accordingly to continuously provide valid services. In this paper, the authors examine the mappings specifying “consistent” relationships between models. First, they define the consistency of a conceptual-relational mapping through “semantically compatible” instances. Next, the authors analyze the knowledge encoded in the standard database design process and develop round-trip algorithms for incrementally maintaining the consistency of conceptual-relational mappings under evolution. Finally, they conduct a set of comprehensive experiments. The results show that the proposed solution is efficient and provides significant benefits in comparison to the mapping reconstructing approach.
Chapter Preview


There are many data-centric applications relying on some kinds of mappings between conceptual models and relational schemas—conceptual-relational mappings. The mappings are used to achieve interoperability (An, Borgida, Miller, & Mylopoulos, 2007) or to overcome the well-known impedance mismatch problem (Elmasri & Navathe, 2006), that is, the differences between the data model used by databases and the modeling capabilities and programmability needed by the application. Essentially, a conceptual-relational mapping specifies a particularly meaningful relationship between a conceptual model (hereafter, CM) and a relational schema. Most often, a mapping specifies a semantically consistent relationship. Informally, a semantically consistent relationship between a CM and a relational schema specifies that, despite the differences between the constructs and abstraction levels of the modeling languages, both the CM and relational schema will describe the same “semantics” of an application. A CM describes an application in terms of entities, relationships, and attributes, while a relational schema describes information in terms of relational tables; each table has one or more columns with a primary key, and zero or more foreign key constraints. A semantically consistent relationship that associates relationships/entities in a CM with relational tables in a relational schema satisfies the following condition: The constraints imposed on the relationships/entities, such as cardinality/participation constraints, encode the same semantic requirements as that described by the key and foreign key constraints in the relational tables. For instance, a many-to-one relationship from an entity E1 to an entity E2 in an Entity-Relationship diagram will be mapped using some mapping formalism to a relational table that uses the identifier of E1 as the key and referring to the identifier of E2 as a foreign key (Elmasri & Navathe, 2006). The key and foreign key constraints reflect the semantics encoded in the many-to-one relationship.

However, conceptual models and relational schemas evolve over time to accommodate changes in the information they represent. Such evolution may cause existing conceptual-relational mappings to become inconsistent. For example, the database administrator (DBA) in charge of the aforementioned relational table might change the key of the table from the identifier of E1 to the combination of the identifiers of E1 and E2. Consequently, the many-to-one relationship from E1 to E2 in the ER diagram would be semantically inconsistent with the new table. The reason is that some instances of the table might violate the many-to-one relationship. When conceptual models and schemas change, the conceptual-relational mappings between conceptual models and schemas must be updated. This process is called conceptual-relational mapping maintenance under evolution, or mapping maintenance for short.

A typical solution to the mapping maintenance problem is to regenerate the conceptual-relational mapping. However, there are two major problems. First, regenerating the mapping alone sometimes cannot solve the inconsistency problem, because the semantics of the conceptual model and the schema are out of synchronization. Second, the mapping generation process, even with the help of mapping generation tools (An, Borgida, & Mylopoulos, 2005a, 2005b), can be costly in terms of human effort and expertise. Especially, complex CMs and schemas that were developed independently require a great deal of effort for reconciliation. A better solution would be to design algorithms that synchronize CMs and schemas, and reuse the original semantics. The algorithms should be able to incrementally update the mappings into a set of new mappings. The new mappings should be consistent with respect to the new CMs and schemas.

Complete Chapter List

Search this Book: