Reverse engineering is the process of reconstructing a DFM model from an existing database schema.


With the Reverse engineering wizard, you can create a DFM project from an existing data platform.

To open the Reverse engineering wizard select the "Reverse engineering" menu item under the "Tools" section.



The wizard has the following steps:


Connection string


It is divided in two sections:


  1. To indicate the provider, the connection string and the owner of a database. 
  2. To enable inferences on primary and foreign key constraints, this means that if the primary and foreign key constraints don't exist in the physical schema, but only in the logical schema, the reverse engineering tries to find the logical constraints. Enabling the primary key inference you have to set :
    • A string pattern for primary key name (a pattern like {table}_ids establishes that each primary key name is composed with its table name and the suffix '_ids', for example for table PRODUCT, the primary key name will be PRODUCT_ids )
    • The prefix for fact tables, dimension tables and bridge tables with the following pattern: <fact-table-prefix>,<dimension-table-prefix>,<bridge-table-prefix> 


Fact table selection


It allows to select the fact tables which will become the fact schemas at the end of reverse engineering process.


Logical model


In this step the user can see for each fact table a preview of the logical table schema (on the left) with the corresponding fact schema (on the right) .

Only a logical constraint can be added, removed or changed, while the physical constraints are unchangeable.

Every change in a logical schema is propagated in the other logical schemas if needed (for example if it deletes a relation between two dimension tables) and is also propagated to the corresponding fact schemas


At the end clicking on finish it is possible to save a new DFM project with the same fact schemas included in the logical model.