Technical Report MS-CIS-96-05, University of Pennsylvania.
Database transformations are a frequent problem for data managers supporting scientific databases, particularly those connected with the Human Genome Project. Such transformations arise from various practical concerns, including sharing data between multiple, heterogeneous database and software systems, querying multiple, heterogeneous databases, supporting database evolution, and implementing data input utilities and user views. The databases involved frequently contain complex data-structures not typically found in conventional databases, such as arbitrarily nested records, sets, variants and optional fields, as well as object identities and recursive data-structures. Furthermore, programs implementing the transformations must be frequently modified since the databases involved evolve rapidly, as often as 3 to 4 times a year. We present in this paper a language (WOL) for specifying transformations between such databases and describe its implementation in a system called Morphase. WOL is a declarative, Horn-clause language which expresses constraints as well as transformations, and has the advantage of being easy to modify as the underlying schemas evolve. Morphase automates the implementation of non-recursive WOL transformation programs by translation to a database programming language which runs against multiple database server types. Optimizations are performed at all stages, with significant impact on the compilation and execution time of sample transformations.
See here for the paper.