IP Library Granted Patent US 7,747,608
Granted Patent B1
US 7,747,608 · App. 11/657,821 · Granted Jun 29, 2010

Systems and methods for structuring database queries

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 7,747,608
App. No.
11/657,821
Granted
Jun 29, 2010
Kind
B1
Abstract

Systems and methods are provided for structuring database queries. In some embodiment, a method for querying a database to obtain desired information is provided, including forming at least one query of a first query language selected from a set of query languages and based at least in part on a set of constraints of the first query language to obtain at least part of the desired information; and forming at least one query of at least one additional query language from the set of query languages and based at least in part on a set of constraints of the at least one additional query language to obtain at least part of the desired information; wherein the at least one query of the first query language and the at least one query of the at least one additional language obtain at least all of the desired information.

Claims (64)

1. A method for querying a database to obtain desired information, comprising:

forming, using a processor of a system, at least one query of a first query language selected from a set of query languages and based at least in part on a set of constraints of the first query language to obtain at least part of the desired information;

forming, using the processor, at least one query of at least one additional query language from the set of query languages and based at least in part on a set of constraints of the at least one additional query language to obtain at least part of the desired information; and

separating, using the processor, input members from calculated members, wherein the input members are queried with the least one query in the first query language and the calculated members are queried with the at least one query in the at least one additional query language;

wherein the at least one query of the first query language and the at least one query of the at least one additional language obtain at least all of the desired information.

2. The method of claim 1 , further comprising

determining, using the processor, whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages; and

determining, using the processor, whether less than a specified number of queries are needed to obtain the desired information, wherein at least one of the selection of query languages and the number of queries formed is based at least in part on at least one of the specified percentage and the specified number.

3. The method of claim 2 , wherein at least one of the specified percentage and specified number are variables.

4. The method of claim 2 , wherein the determining whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages is based on whether the cells are input cells.

5. The method of claim 1 , wherein the first query language is SQL.

6. The method of claim 1 , wherein the at least one additional query language is at least one of MDX and DML.

7. The method of claim 1 , wherein the first query language is SQL and the at least one additional query language is MDX.

8. The method of claim 1 , wherein the constraints of the first query language include at least one of the presence of formula members in a page, whether every cell has the same member for a given dimension, and whether the storage model of the database is the same as the queried measure of the desired information.

9. The method of claim 1 , further comprising:

determining, using the processor, whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages.

10. The method of claim 9 , further comprising:

determining, using the processor, whether less than a specified number of queries are needed to obtain the desired information; and

wherein the set of constraints of the first query language comprises:

forming one query of the at least one query of the first query language to obtain at least part of the at least part of the desired information only if:

it is determined that more than the specified percentage of requested cells can be retrieved more efficiently using the first query language; and

it is determined that less than a specified number of queries are needed to obtain the desired information.

11. The method of claim 10 , wherein the first query language is SQL.

12. The method of claim 10 , wherein the at least one additional query language is MDX.

13. The method of claim 10 , wherein the first query language is SQL and the at least one additional query language is MDX.

14. The method of claim 13 , wherein the specified percentage is 20%.

15. The method of claim 13 , wherein the specified number is 3 .

16. The method of claim 13 , wherein the specified percentage is 20% and the specified number is 3 .

17. A database system comprising:

a database in communication with a network;

an interface in communication with the network;

a memory; and

a processor in communication with the memory, the interface, and the database; wherein the processor:

forms at least one query of a first query language selected from a set of query languages and based at least in part on a set of constraints of the first query language to obtain at least part of desired information;

forms at least one query of at least one additional query language from the set of query languages and based at least in part on a set of constraints of the at least one additional query language to obtain at least part of the desired information; and

separates input members from calculated members, wherein the input members are queried with the least one query in the first query language and the calculated members are queried with the at least one query in the at least one additional query language;

wherein the at least one query of the first query language and the at least one query of the at least one additional language obtain at least all of the desired information.

18. The database system of claim 17 , where the processor further

determines whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages; and

determines whether less than a specified number of queries are needed to obtain the desired information, wherein at least one of the selection of query languages and the number of queries formed is based at least in part on at least one of the specified percentage and the specified number.

19. The database system of claim 18 , wherein at least one of the specified percentage and specified number are variables.

20. The database system of claim 18 , wherein the determining whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages is based on whether the cells are input cells.

21. The database system of claim 17 , wherein the first query language is SQL.

22. The database system of claim 17 , wherein the at least one additional query language is at least one of MDX and DML.

23. The database system of claim 17 , wherein the first query language is SQL and the at least one additional query language is MDX.

24. The database system of claim 17 , wherein the constraints of the first query language include at least one of the presence of formula members in a page, whether every cell has the same member for a given dimension, and whether the storage model of the database is the same as the queried measure of the desired information.

25. The database system of claim 17 , where the processor further

determines whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages.

26. A database system comprising:

means for forming at least one query of a first query language selected from a set of query languages and based at least in part on a set of constraints of the first query language to obtain at least part of desired information;

means for forming at least one query of at least one additional query language from the set of query languages and based at least in part on a set of constraints of the at least one additional query language to obtain at least part of the desired information; and

means for separating input members from calculated members, wherein the input members are queried with the least one query in the first query language and the calculated members are queried with the at least one query in the at least one additional query language;

wherein the at least one query of the first query language and the at least one query of the at least one additional language obtain at least all of the desired information.

27. The database system of claim 26 , further comprising:

means for determining whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages; and

means for determining whether less than a specified number of queries are needed to obtain the desired information, wherein at least one of the selection of query languages and the number of queries formed is based at least in part on at least one of the specified percentage and the specified number.

28. The database system of claim 27 , wherein at least one of the specified percentage and specified number are variables.

29. The database system of claim 27 , wherein the means for determining whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages is based on whether the cells are input cells.

30. The database system of claim 26 , wherein the first query language is SQL.

31. The database system of claim 26 , wherein the at least one additional query language is at least one of MDX and DML.

32. The database system of claim 26 , wherein the first query language is SQL and the at least one additional query language is MDX.

33. The database system of claim 26 , wherein the constraints of the first query language include at least one of the presence of formula members in a page, whether every cell has the same member for a given dimension, and whether the storage model of the database is the same as the queried measure of the desired information.

34. The database system of claim 26 , further comprising:

means for determining whether more than a specified percentage of requested cells can be retrieved more efficiently using a specific query language selected from the set of query languages.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2007
From: GHEORGHE, CHRISTIAN; FERRERI, PIERO
To: OUTLOOKSOFT CORPORATION
Reel/Frame 019564/0987 →