×

IMPROVED METHOD AND DEVICE FOR CORRELATING MULTIPLE TABLES IN A DATABASE ENVIRONMENT

  • US 20190324955A1
  • Filed: 04/22/2019
  • Published: 10/24/2019
  • Est. Priority Date: 04/24/2018
  • Status: Active Grant
First Claim
Patent Images

1. A method for correlating multiple tables in a database environment comprising the steps of:

  • a) Initiating a computer software application comprising a database management system application capable of creating at least six tables including at least three data tables, at least one index table, at least one stitch object table, and at least one stitch map object table, the at least six tables each having a unique corresponding table identifier and the at least six tables including;

    i. a first data table comprising a plurality of first data table records, the plurality of first data table records comprising a plurality of first data table fields, the plurality of first data table fields having a plurality of associated first data table field names and the plurality of first data table fields storing a plurality of first data table field values;

    ii. a second data table comprising a plurality of second data table records, the plurality of second data table records comprising a plurality of second data table fields, the plurality of second data table fields having a plurality of associated second data table field names and the plurality of second data table fields storing a plurality of second data table field values;

    iii. a third data table comprising a plurality of third data table records, the plurality of third data table records comprising a plurality of third data table fields, the plurality of third data table fields having a plurality of associated third data table field names and the plurality of third data table fields storing a plurality of third data table field values;

    iv. an index table, the index table comprising a plurality of index table records, each index table record comprising an index data value field and an index data table name field;

    v. a stitch object table, the stitch object table comprising a plurality of stitch object key-object pairs, each stitch object key-object pair comprising a stitch object key value and a corresponding stitch object data object, the stitch object data object comprising a table of unique table identifiers and corresponding unique column identifiers associated with the stitch object key value; and

    ,vi. a stitch map object table, the stitch map object table comprising a plurality of stitch map object key-object pairs, each stitch map object key-object pair comprising a stitch map object key value and a corresponding stitch map object data object, the stitch map object data object comprising a table of unique table identifiers and corresponding unique row identifiers associated with the stitch map object key value;

    b) initiating the computer software application comprising running the computer software application on a computer;

    c) Creating a first index table in the database management system comprising a plurality of first index table records;

    d) Designating the first data table as the current data table;

    e) Designating a first data table field record as the current data record;

    f) Designating a current value as the first data table field value of the first data table record of the first data table;

    g) Searching the first index table to determine whether the current value is present in the first index value field of any of the plurality of first index table records;

    h) Adding a new first index table record to the first index table, storing the current value in the first index value field of the new first index table record, and storing the unique corresponding table identifier of the current data table in the first index table name field of the new first index table record if the current value is not present in the first index value field of any of the plurality of first index table records;

    i) Appending the unique corresponding table identifier of the current data table to the first table association field of the first index table record containing the current value if the current value is present in the first index value field of any of the plurality of first index table records;

    j) Determining whether the current data record contains any values which have not been evaluated as in steps (g) through (i) and if so, selecting a next value from the current data record which has not been evaluated as the current value and returning to step (g), otherwise moving to the next step;

    k) Determining whether the current data table contains any records containing any values which have not been evaluated as in steps (g) through (i) and if so, designating a next current data record from the current data table containing at least one unevaluated value and designating an unevaluated data value in the next current data record as the current value and returning to step (g), otherwise moving to the next step;

    l) Determining whether any of the plurality of data tables contain any records containing any values which have not been evaluated as in steps (g) through (i), and if so designating a next data table containing at least one unevaluated value as the current data table, designating a next current data record from the current data table containing at least one unevaluated value and designating an unevaluated data value in the next current data record as the current value and returning to step (g), otherwise moving to the next step;

    m) Creating a first stitch object table in the database management system comprising a plurality of first stitch object table key-object pairs, each of the first stitch object table key-object pairs containing a first stitch object key value and a first stitch object data object;

    n) Designating the first data table as the current data table;

    o) Designating a first data table field record as the current data record;

    p) Designating a current value as the first data table field value of the first data table record of the first data table;

    q) Searching the first stitch object table to determine whether the current value is present in the first stitch object key value field of any of the plurality of first stitch object key-object pairs;

    r) Adding a new first stitch object table key-object pair to the first stitch object table, storing the current value in the first stitch object key value field of the new first stitch object table key-object pair, and storing the unique corresponding table identifier of the current data table and the data table field name of the data table field corresponding to the current value in the first stitch object table data object of the new first stitch object table key-object pair if the current value is not present in the first stitch object key value field of any of the plurality of first stitch object table key-object pairs;

    s) Adding the unique corresponding table identifier of the current data table and the data table field name of the data table field corresponding to the current value in the first stitch object table data object of an existing first stitch object table key-object pair if the current value is present in the first stitch object key value field of any of the plurality of first stitch object table key-object pairs but the unique corresponding table identifier of the current data table and the data table field name of the data table field corresponding to the current value are not present in that first stitch object table key-object pair;

    t) Determining whether the current data record contains any values which have not been evaluated as in steps (q) through (t) and if so, selecting a next value from the current data record which has not been evaluated as the current value and returning to step (q), otherwise moving to the next step;

    u) Determining whether the current data table contains any records containing any values which have not been evaluated as in steps (q) through (t) and if so, designating a next current data record from the current data table containing at least one unevaluated value and designating an unevaluated data value in the next current data record as the current value and returning to step (q), otherwise moving to the next step;

    v) Determining whether any of the plurality of data tables contain any records containing any values which have not been evaluated as in steps (q) through (t), and if so designating a next data table containing at least one unevaluated value as the current data table, designating a next current data record from the current data table containing at least one unevaluated value and designating an unevaluated data value in the next current data record as the current value and returning to step (q), otherwise moving to the next step;

    w) Creating a first stitch map object table in the database management system comprising a plurality of first stitch object table key-object pairs;

    x) Designating the first data table as the current data table;

    y) Designating a first data table field record as the current data record;

    z) Designating a current value as the first data table field value of the first data table record of the first data table;

    aa) Searching the first stitch map object table to determine whether the current value is present in the first stitch map object key value field of any of the plurality of first stitch map object table key-object pairs;

    bb) Adding a new first stitch map object table key-object pair to the first stitch map object table, storing the current value in the first stitch map object key value field of the new first stitch map object table key-object pair, and storing the unique corresponding table identifier of the current data table and a corresponding current data table row number corresponding to the current value in the first stitch map object table data object of the new first stitch map object table key-object pair if the current value is not present in the first stitch map object key value field of any of the plurality of first stitch map object table key-object pairs;

    cc) Adding the unique corresponding table identifier of the current data table and the corresponding current data table row number corresponding to the current value in the first stitch map object table data object of an existing first stitch map object table key-object pair if the current value is present in the first stitch map object key value field of any of the plurality of first stitch map object table key-object pairs but the unique corresponding table identifier of the current data table and the data table field name of the data table field corresponding to the current value are not present in that first stitch map object table key-object pair;

    dd) Determining whether the current data record contains any values which have not been evaluated as in steps (aa) through (cc) and if so, selecting a next value from the current data record which has not been evaluated as the current value and returning to step (aa), otherwise moving to the next step;

    ee) Determining whether the current data table contains any records containing any values which have not been evaluated as in steps (aa) through (cc) and if so, designating a next current data record from the current data table containing at least one unevaluated value and designating an unevaluated data value in the next current data record as the current value and returning to step (aa), otherwise moving to the next step;

    ff) Determining whether any of the plurality of data tables contain any records containing any values which have not been evaluated as in steps (aa) through (cc), and if so designating a next data table containing at least one unevaluated value as the current data table, designating a next current data record from the current data table containing at least one unevaluated value and designating an unevaluated data value in the next current data record as the current value and returning to step (aa), otherwise ending the method.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×