Tables can be extracted in their entirety through the use of All Rows rules. Setting up All Rows rules requires a bit of care because if the table is a source in a Table-To-Table rule, then extracting all rows for it can often cause the extract of all rows in the target. This may not be desirable and can lead to what is known as an extraction set explosion. What is needed is a tool which indicates which tables are safe for All Rows rules and which are not - and that is exactly what the Safe All Rows Rule Generator tool does.
Note: The usage of the word "Safe" in the context of All Rows rules simply means that if all of the rows are extracted from the table there will be no unknown follow on effects regarding the number of rows extracted for other tables. In other words, a table is safe to extract in full if doing so will not cause rows from other tables to also be extracted.
The Safe All Rows Rule Generator tool enables the creation of All Rows rules on tables that are "Safe" The tool will filter out all tables which are sources of rules and present only those which can be extracted in their entirety with no complications. The Safe All Rows Rule Generator tool can create multiple All Rows rules at the single push of a button.
The Safe All Rows Rule Generator determines which tables are safe to have All Rows rules applied to them by examining the dependent extraction rules of that table. If a table is not the source in any Table-To-Table rules then it is inherently safe to extract all rows for it. However, if a table is the source in Table-To-Table rules it may still be safe to extract all rows for it. For example, if all of the target tables involved in the Table-To-Table rules already have All Rows rules applied to them then it is also safe to extract all rows for the source table. This means the safe tables listed on the display can change depending on the All Rows rules previously implemented. As more All Rows rules are added, then more (and different) tables might appear in the display since they have now become safe for apply All Rows rules.
The Safe All Rows Rule Generator tool is started from the Rule Tools tab of the Set Designer application.
The DataBee Safe All Rows Rule Generator Tool Form
On startup, the panel on the left hand side of the form will contain a list of all available tables. These tables will be the ones which are not involved in Table-To-Table rules as sources in any relationship. At the lower right the ...restricted by... panel provides methods of removing large numbers of tables from consideration through the use of exclusion criteria. Any combination of the available exclusion criteria can be selected. Changing any of the options in the restriction panel will regenerate the table list panel according to the exclusion criteria.
Pressing the Generate Rules button will generate All Rows rules from the tables selected with a check mark. As discussed above, once a table is extracted in full with an All Rows rule it may well permit tables previously considered "unsafe" for All Rows rules to now be "safe". Pressing the Generate Rules button can often make new tables appear when the display auto-refreshes. The new tables are present because they have outgoing extraction rules referencing dependent tables - but because those dependent tables are now all extracted in full and it is safe to extract the source table in full.
The Options button can add columns to the display which list the source row count, extracted row count and also a column indicating how well that table matches the extraction set plan.