Database Modeling with Microsoft Visio for Enterprise Architects

Ideally, you should always develop a database by forward engineering from ORM to a logical model and then to a physical database schema. This is feasible if you are developing a new database from scratch. In practice, however, you might also need to modify existing databases that might not have been forward engineered from ORM. These databases might also be populated with large volumes of data.
If the database was originally forward engineered from ORM, but changes were later made directly to the physical database, you can reverse engineer those changes to the logical model by refreshing it (see Chapter 16), and then migrate those changes to the ORM source model. If the database was not generated from ORM, you may reverse engineer the database schema directly to a draft ORM schema, and then make any needed changes to clean it up conceptually.
Once you have a correct ORM schema for the existing database, you may add the desired functional modifications, and then forward engineer the changes back to the database by building the logical model and using it to update the database automatically. Details on refreshing, updating, and synchronizing models are provided in Chapter 16. Alternatively, you can forward engineer the ORM model to a logical model and generate a fresh physical database; if the original database was populated with data, you may manually migrate the data to the new database.
The tool can reverse engineer an existing physical database schema to a fresh...