Also called “data reengineering.” Allows the user to capture physical models of legacy and production systems and relate each attribute in the data model to the database(s), table(s), and column(s) from which it is derived. Data reengineering is suitable for organizations that need to augment an existing system, particularly if the system requires new database designs, new screen designs, or new programs. It is particularly useful for designing a data warehouse and an excellent tool for a database manager who has inherited a system that is partially or totally undocumented.