Patent ID: 9002902
Filing Date: 2015-04-07
Classification: G06F

Abstract:
1. A computer-implemented method for constructing a minimum superset of data from a relational database, comprising: receiving an input data set; compiling a listing of tables in a relational database, where each table in the listing of tables stores data from the input data set; creating a bundle table for each of the tables in the listing of tables, where each bundle table is comprised of an identification key from a corresponding table in the listing of tables and includes applicable records from the input data set; creating a registry table for each of the tables in the listing of tables, where each registry table is comprised of an identification key from a corresponding table in the listing of table; a) selecting a given table in the listing of tables; b) identifying other tables in the listing of tables that correspond to the given table; c) merging the other tables with the given table to form a selected table; d) removing the selected table from the listing of tables; e) determining, for the selected table, related tables having either a parent or child relationship with the selected table in the relational database; f) for each of the related tables, determining, whether a corresponding registry table has been created and creating a corresponding registry table in response to the determination that a registry table has not yet been created; g) for each table having a parent relationship with the selected table, creating a parent bundle table, inserting the identification keys from the parent bundle table into the corresponding registry table for the parent table, and adding the parent bundle table to the listing of tables, where parent bundle table includes identification keys from the parent table for which there occurs records in the selected table with a matching foreign key and an identification key in the corresponding bundle table for the selected table but do not occur in a corresponding registry table for the parent table; h) for each table having a child relationship with the selected table, creating a child bundle table, inserting the identification keys from the child bundle table into the corresponding registry table for the child table, and adding the child bundle table to the listing of tables, where the child bundle table includes identification keys from records in the child table having a foreign key that matches a primary key in the selected table and an identification key in the corresponding bundle table for the selected table but do not occur in a corresponding registry table for the child table; and repeating steps a) through h) until the listing of tables is empty, where each of the steps are executed by a computer processor of a computing device.