Path generation and selection tool for database objects

US11449529B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11449529-B2
Application numberUS-202016926097-A
CountryUS
Kind codeB2
Filing dateJul 10, 2020
Priority dateJul 3, 2018
Publication dateSep 20, 2022
Grant dateSep 20, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques and solutions are described for determining, evaluating, and selecting data retrieval pathways. A plurality of database objects, such as tables, can be retrieved, and relationships between them determined. The relationships are between various attributes of the database objects. A plurality of pathways are determined between at least two target database objects, where the path determination does not consider attribute-level relationship information. After a path is determined, the relationship-level information can be added. A summary of the path, and relationship information, can be displayed to a user. A user can select paths to remove from the display, and can indicate one or more database objects that are required for a valid path, one or more database objects that are prohibited from valid paths, or combinations thereof. A user can select a path, and a query language statement to implement the path can be generated and displayed to the user.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing system comprising: at least one memory; one or more hardware processing units coupled to the at least one memory; and one or more computer readable storage media storing instructions that, when executed, cause the computing system to perform processing comprising: determining identifiers for a plurality of database objects; determining a plurality of relationship identifiers for the plurality of database objects, wherein a relationship identifier specifies an access pathway for a database object of the plurality of database objects, or a process that accesses such database object, to retrieve data from another database object of the plurality of database objects, wherein each database object of the plurality of database objects is connected to at least one other database object of the plurality of database objects through a relationship identifier of the plurality of relationship identifiers; receiving an identifier for a first target database object of the plurality of database objects and at least a second target database object of the plurality of database objects, wherein paths are to be determined between the first database object and the at least a second database object; receiving an identifier for at least a third database object of the plurality of database objects and a status identifier indicating whether the third database object must be included in paths between the first database object and the at least a second database object or whether the third database object must not be included in paths between the first database object and the at least a second database object; determining a plurality of paths between the first database object and the at least a second database object that satisfy the status identifier; selecting at least a first path of the plurality of paths that satisfies the status identifier; calculating operations to implement the first path; and outputting the operations. 2. The computing system of claim 1 , wherein calculating operations to implement the first path comprises determining query language operations to implement the first path. 3. The computing system of claim 1 , where calculating operations comprises generating SQL code to implement the operations. 4. The computing system of claim 1 , the processing further comprising: calculating respective path costs for at least multiple paths of the plurality of paths; comparing at least a portion of the path costs with path selection criteria; and selecting the first path based at least in part on the comparing. 5. The computing system of claim 4 , wherein the path selection criteria comprises one or more indicators of query complexity or one or more indicators of computing resource use for a database process that uses a given path of the plurality of paths. 6. The computing system of claim 5 , wherein the path selection criteria comprises one or more criteria selected from the group consisting of a lowest number of tuples processed, a fewest number of joins, a fewest number of multi-table select statements, and a fastest execution time. 7. The computing system of claim 5 , wherein the path selection criteria comprises one or more criteria selected from the group consisting of network use, memory use, and processor use. 8. The computing system of claim 4 , wherein the first path is not selected based on user input selecting the first path. 9. The computing system of claim 4 , wherein the first path is automatically selected based on the comparing. 10. The computing system of claim 1 , wherein determining a plurality of paths comprises representing at least a portion of the plurality of database objects as nodes in a graph, where edges connecting the nodes represent relationships between the nodes specified by the relationship identifiers. 11. The computing system of claim 10 , the processing further comprising: assigning a weight to at least a portion of the edges, wherein the weight represents a query complexity or computing resource use cost for including the edge in a path of the plurality of paths. 12. The computing system of claim 1 , the processing further comprising: receiving user input from a user that causes the plurality of paths to be generated; determining that the user does not have access to the third database object; based on determining that the user does not have access to the third database object, setting the status indicator to indicate that the third database object must not be included in paths of the plurality of paths. 13. The computing system of claim 1 , the processing further comprising: determining that the third database object comprises restricted information; and based on the determining that the third database object comprises restricted information, setting the status indicator to indicate that the third database object must not be included in paths of the plurality of paths. 14. The computing system of claim 1 , the processing further comprising: receiving a query, wherein the query specifies the first database object and the at least a second database object, and wherein the determining a plurality of paths is performed based on the receiving the query. 15. The computing system of claim 1 , wherein determining a plurality of paths comprises: determining connections between at least a portion of the plurality of database objects using the relationship identifiers, but wherein individual relationship identifiers are not used in determining the plurality of paths; and after determining the plurality of paths, determining relationship identifiers connecting database objects in the plurality of paths. 16. The computing system of claim 1 , wherein at least a portion of the plurality of database objects are tables, each table comprising a plurality of attributes, at least one pair of tables of the tables comprises multiple sets of one or more attributes of a first table of the pair that associates the first table with one or more sets of one or more attributes of the second table. 17. The computing system of claim 1 , the processing further comprising: rendering for display identifiers for database objects of the plurality of database objects in the plurality of paths and linkages between the database objects corresponding to relationship identifiers of the plurality of relationship identifiers, wherein the rendering produces a user interface display; receiving through a user interface comprising the user interface display first user input selecting at least a first identifier, for a first database object of the database objects, of the identifiers for database objects in the plurality of paths, wherein the first user input indicates that the first database object must not be included in the plurality of paths; and in response to the first user input, updating the user interface display to remove paths of the plurality of paths that include the first database object. 18. The computing system of claim 17 , the processing further comprising: receiving through the user interface comprising the user interface display second user input selecting at least a second identifier, for a second database object of the database objects, of the identifiers for database objects in the plurality of paths, wherein the second user input indicates that the second database object must be included in the plurality of paths and the second identifier is different than the first identifier; and in response to the second user input, updating the user interface display to remove paths of the plurality o

Assignees

Inventors

Classifications

  • Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence) · CPC title

  • G06F16/288Primary

    Entity relationship models · CPC title

  • G06F16/212Primary

    with details for data modelling support · CPC title

  • Visual data mining; Browsing structured data · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11449529B2 cover?
Techniques and solutions are described for determining, evaluating, and selecting data retrieval pathways. A plurality of database objects, such as tables, can be retrieved, and relationships between them determined. The relationships are between various attributes of the database objects. A plurality of pathways are determined between at least two target database objects, where the path determ…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/288. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 20 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).