Method and system for database join disambiguation
First Claim
1. A computer-implemented method of accessing information in a database, the database having a plurality of query subjects and a plurality of relationship paths between the plurality of query subjects, and creating a report comprising:
- organizing the plurality of query subjects and the plurality of relationship paths between the plurality of query subjects into one or more subject area groupings, the one or more subject area groupings being arranged in a hierarchical tree structure;
accepting from a user an indication of elements required in the report to be retrieved from one or more of the plurality of query subjects in the database;
creating a high level query specifying query elements needed to retrieve the elements required in the report;
determining that the high level query includes a plurality of join relationship paths between two query subjects that makes the high level query ambiguous;
identifying a sub-tree of the hierarchical tree structure, the identified sub-tree having a root node comprising a subject area grouping, the subject area grouping including a relationship path joining the two query subjects that are making the high level query ambiguous;
selecting the relationship path of the subject area grouping in the root node of the identified sub-tree;
disambiguating the high level query to create an unambiguous database query joining the two query subjects using the selected relationship path of the subject area grouping in the root node of the identified sub-tree;
querying, using a computer, the database with the unambiguous database query; and
creating the report based on a result of the querying the database with the unambiguous database query.
4 Assignments
0 Petitions
Accused Products
Abstract
In cases where two or more database tables can be joined by more than one relationship or criterion on the row values of selected columns, to produce what is effectively a wider table, there may result an ambiguity of which join should be used. The invention provides a means of join disambiguation that is rule-driven. The user is relieved of understanding the details of how the disambiguation is being done. The system described in this invention makes the choice of which join to use based on clear transformation rules which relate to folders of the tables and their relationships.
25 Citations
7 Claims
-
1. A computer-implemented method of accessing information in a database, the database having a plurality of query subjects and a plurality of relationship paths between the plurality of query subjects, and creating a report comprising:
-
organizing the plurality of query subjects and the plurality of relationship paths between the plurality of query subjects into one or more subject area groupings, the one or more subject area groupings being arranged in a hierarchical tree structure; accepting from a user an indication of elements required in the report to be retrieved from one or more of the plurality of query subjects in the database; creating a high level query specifying query elements needed to retrieve the elements required in the report; determining that the high level query includes a plurality of join relationship paths between two query subjects that makes the high level query ambiguous; identifying a sub-tree of the hierarchical tree structure, the identified sub-tree having a root node comprising a subject area grouping, the subject area grouping including a relationship path joining the two query subjects that are making the high level query ambiguous; selecting the relationship path of the subject area grouping in the root node of the identified sub-tree; disambiguating the high level query to create an unambiguous database query joining the two query subjects using the selected relationship path of the subject area grouping in the root node of the identified sub-tree; querying, using a computer, the database with the unambiguous database query; and creating the report based on a result of the querying the database with the unambiguous database query. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification