The data heterogeneity problem is well known, and is illustrated in Figure 1. There are five different data schemas, all representing the same information about aircraft maintenance schedules. Systems A and B are different only in the names of the data elements. Systems B, C, and D have a different structure: the type of aircraft is represented as a value in system B, an attribute name in system C, and a table name in system D. Finally, systems A and E are structurally equivalent, but differ in their representation for ACTYPE and the scheduled completion time. In order for any of these systems to exchange information, the data must be converted from the source schema to the receiver schema.