IP Library Granted Patent US 10,452,639
Granted Patent B2
US 10,452,639 · App. 15/385,597 · Granted Oct 22, 2019

Processing joins in a database system using zero data records

Inventors: Brendon Atkins (Brisbane, AU); William Myers (Brisbane, AU)
Assignee: SAP SE
G06F16/235G06F16/2237G06F16/2264G06F16/2282G06F16/2358G06F16/2386G06F16/2455G06F16/2456G06F16/24537G06F16/254
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,452,639
App. No.
15/385,597
Granted
Oct 22, 2019
Kind
B2
Abstract

In one embodiment, a method stores a mapping table that includes a zero data identifier corresponding to a zero data record in the second database table. The method receives a query for data in a cube data structure. A first join between the first database table and the mapping table and a second join between the second database table and the mapping table are performed to generate a combined table for the cube data structure. The combined table includes a combined record that includes information from a first record from the first database table and includes the zero data identifier with information from the zero data record in the second database table when the first record for an entity in the first database table does not include a corresponding second record for the entity in the second database table.

Claims (39)

1. A method comprising:

storing, by a computing device, a first database table, a second database table, and a mapping table, wherein the mapping table includes a zero data identifier corresponding to a zero data record in the second database table when a first record for an entity in the first database table does not include a corresponding second record for the entity in the second database table;

receiving, by the computing device, a query for data in a cube data structure, the cube data structure including logic defining a join of the first database table and the second database table;

performing, by the computing device, a first join between the first database table and the mapping table and a second join between the second database table and the mapping table to generate a combined table for the cube data structure, wherein the combined table includes a combined record that includes information from the first record from the first database table and includes the zero data identifier with information from the zero data record in the second database table when the first record for an entity in the first database table does not include a corresponding second record for the entity in the second database table; and

responding, by the computing device, to the query using the combined table.

2. The method of claim 1 , wherein the first join or the second join is defined by the logic of the cube data structure and is an inner join that does not return a record for the combined table when a record in one of the first database table and the second database does not include a corresponding record in the other of the first database table and the second database.

3. The method of claim 1 , further comprising:

linking the first database table and the second database table to generate the mapping table before receiving the query.

4. The method of claim 3 , wherein linking comprises performing an outer join between the first database table and the second database table,

wherein the outer join combines corresponding records from the first database table and the second database table and includes a null value for an identifier when a corresponding record in one of the first database table and the second database table does not exist for a record in the other of the first database table and the second database table.

5. The method of claim 4 , wherein performing the outer join combines records with similar identifiers in the first database table and the second database table.

6. The method of claim 4 , further comprising:

generating the mapping table based on the outer join, the mapping table including identifiers from the first database table and identifiers for the second database table, wherein the zero data identifier is used when the null value is returned for an identifier from the first database table or the second database table.

7. The method of claim 3 , wherein the mapping table includes a first column with identifiers for records in the first database table and a second column for identifiers in the second database table.

8. The method of claim 7 , wherein the zero data identifier is included in the first column or the second column when the null value is returned from the outer join.

9. The method of claim 3 , further comprising:

adding a first zero data record in the first database table and a second zero data record in the second database table that correspond to the zero data identifier.

10. The method of claim 9 , wherein the first zero data record and the second zero data record are associated with one or more null values.

11. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be configured for:

storing, a first database table, a second database table, and a mapping table, wherein the mapping table includes a zero data identifier corresponding to a zero data record in the second database table when a first record for an entity in the first database table does not include a corresponding second record for the entity in the second database table;

receiving a query for data in a cube data structure, the cube data structure including logic defining a join of the first database table and the second database table;

performing a first join between the first database table and the mapping table and a second join between the second database table and the mapping table to generate a combined table for the cube data structure, wherein the combined table includes a combined record that includes information from the first record from the first database table and includes the zero data identifier with information from the zero data record in the second database table when the first record for an entity in the first database table does not include a corresponding second record for the entity in the second database table; and

responding to the query using the combined table.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the first join or the second join is defined by the logic of the cube data structure and is an inner join that does not return a record for the combined table when a record in one of the first database table and the second database does not include a corresponding record in the other of the first database table and the second database.

13. The non-transitory computer-readable storage medium of claim 11 , further configured for:

linking the first database table and the second database table to generate the mapping table before receiving the query.

14. The non-transitory computer-readable storage medium of claim 13 , wherein linking comprises performing an outer join between the first database table and the second database table,

wherein the outer join combines corresponding records from the first database table and the second database table and includes a null value for an identifier when a corresponding record in one of the first database table and the second database table does not exist for a record in the other of the first database table and the second database table.

15. A method comprising:

performing, by a computing device, a first type of join on a first database table and a second database table to combine records with similar identifiers in the first database table and the second database table in a first combined table, wherein the first type of join includes a null value for an identifier in the first combined table when a corresponding record in one of the first database table and the second database table is not found in the other of the first database table and the second database table;

generating, by the computing device, a mapping table based on the combined table, the mapping table including identifiers from the first database table and identifiers for the second database table, wherein a zero data identifier is used when the null value is found for the identifier in the first combined table;

including, by the computing device, a zero data record in the first database table and the second database table for the zero data identifier; and

performing, by the computing device, a second type of join on the first database table and mapping table and performing the second type of join on the second database table and the mapping table to generate a second combined table, wherein the second type of join does not include a record in the second combined table when a corresponding record in one of the first database table and the second database table is not found in the other of the first database table and the second database table, and wherein the second combined table includes a record with the zero data identifier that is determined using the mapping table.

16. The method of claim 15 , wherein the second type of join is performed in response to a query.

17. The method of claim 15 , wherein the second type of join is defined by the logic of the cube data structure.

18. The method of claim 15 , wherein the first type of join is an outer join and the second type of join is an inner join.

19. The method of claim 15 , further comprising:

adding a zero data record in the first database table and the second database table that correspond to the zero data identifier.

20. The method of claim 19 , wherein the zero data record is associated with one or more null values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2016
From: ATKINS, BRENDON; MYERS, WILLIAM
To: SAP SE
Reel/Frame 040697/0089 →
Continuity (2)
Provisional Application 62374708 · Aug 12, 2016
Related Publication 20180046670A1 · Feb 15, 2018