A data translation method for heterogeneous database systems

The general problem of translating data between heterogeneous systems is considered in the context of transferring relations between heterogeneous Relational Database Management Systems (RDBMSs). We discuss formal models for the translation process and develop a model for a Generalized Relation Translator (GRT), capable of transferring relations between arbitrary RDBMSs. The GRT model is based on a novel type of grammar, the Control Grammar (CG). CGs are similar to the two-level grammars of van Wijngaarden, but include a set of control rules which define allowable values for control variables. During parsing, the current set of control variable values defines a current environment which can be used to condition the invocation of control actions. Control actions can be used to modify the environment, thus providing a mechanism for the efficient implementation of parsers, both in terms of time and space. We formally define CGs, discuss their properties, and present their use in the design of the GRT. In the GRT, specific RDBMS details are described by a set of rules, and the CG permits the restriction of sentences recognized by the parser to those associated with the current source RDBMS. Differences among RDBMS forms are isolated in the CG rules, making extension of the GRT to include new systems straightforward. A working implementation of the GRT is described, including an Extender which provides for the addition of new RDBMSs to the translator repertoire.