Wrapping databases allows them to be reused in formerly unplanned contexts, such as web-based applications or federated systems. Indeed, a wrapper can provide external clients of an existing (legacy) database with a neutral interface and augmented capabilities. However, except in simplistic cases where the wrapper and the database schemas are similar, the wrapper must implement complex mappings: it must translate queries from the wrapper data manipulation language to the database primitives, and, conversely, translate extracted data into the external wrapper format. We have developed a generic schema mapping framework in which wrappers can be specified formally and generated automatically. This framework comprises a high-level generic data model and a set of schema transformations defined for this model. This reference model makes it possible to specify different data models in a uniform formalism. Mappings between schemas are expressed as sequences of reversible schema transformations. We show how these transformations can be used to translate data and queries between two schemas and hence to generate as much as possible of the code of the wrappers. The generation is supported by DB-MAIN, a wide-spectrum CASE tool.
['Pap Philippe Thiran', 'Jean-Luc Hainaut', 'Gjpm Geert-Jan Houben']
Database wrappers development: towards automatic generation