The DataBee Who-Loads-What Tool Form
The Who-Loads-What tool is used to determine how a specific table is related by rules to other tables in the extraction set. That is, given a specific table, the Who-Loads-What tool identifies the source and target tables for that table according to the relationships defined in the extraction rules. In essence, the Who-Loads-What tool displays which tables require rows to be extracted for a specified table and also which tables the specified table requires rows to be extracted for.
The Who-Loads-What tool is very useful for exploring the relationships between the tables in an extraction set. The button to launch the Who-Loads-What tool can be found on the Rule Tools tab of the Set Designer application. The Chain Finder is a similar tool which presents an alternative perspective on the table relationships inherent in the extraction set rules.
The panel in the center of the form lists all of the tables in those schemas that the Set Designer application currently knows about. It is in this area that the table of interest is selected. The choice of available tables is entirely determined by the Rule Controllers in the extraction set. Only tables from within the schemas for which the Rule Controllers are configured will be visible. If the required tables are not visible, the schema structure can be refreshed using the Refresh Schema and Indexes button on Options tab of the appropriate edit Rule Controller form.
The Tables Loading the Selected Table panel on the left contains a list of all source tables for the specified table and the Tables Loaded by the Selected Table panel on the right contains a list of all target tables. The Source and Target list boxes are populated automatically when the source Table is selected in the central panel.
Selecting either a source or target table will cause the number of the relevant rule to appear in the box below the panel. In the example screen shot above it can be seen that the DTB_INVOICE table is populated by (is a target of) two rules. One of the rules is a Table-To-Table rule using the DTB_INVOICE_LINE table as the source table and the other is a Where Clause rule providing the initial driver rows for the extraction set. Since the Where Clause rule is selected, we can see by looking at the details below the left hand panel that it is actually rule 01-0020.
In the right hand panel, three tables are listed. This means that every row extracted for the DTB_INVOICE will require supporting rows to be present in the DTB_DISCOUNT, DTB_INVOICE_LINE and DTB_INVOICE_STATUS tables. The DTB_INVOICE_LINE table name is selected and the rule number in listed at the bottom is tt-0021. The tt in the rule block section tells us that this rule was implemented manually. If the selected relationship enforced a foreign key, the rule block section of the rule number would contain the fk characters.
The <<< and >>> buttons can be used to move the selected source or target table into the center in order to follow a relationship chain. Pressing the Undo Move button will undo the previous move. Also shown in the table name panels are columns which list the source and extracted row counts. These columns can be added or removed from the display using the Options button located below each panel.
The View Rule button below the Source and Target table panels will launch a form which displays the contents of the relationship. A new rule, the opposite of the existing relationship, can be created by pressing the Clone and Reverse Rule button. This is an extremely useful way of building new Table-To-Table rules which enforce logical relationships.