Claims
- 1. A method comprising the computer-implemented steps of:
receiving, at a relational database server, a relational database statement that involves data, from n-dimensional data objects, that is stored according to a multidimensional schema; identifying, by a multidimensional database server and based on information contained in said statement, a data subset of said n-dimensional data objects; and producing, by said relational database server and in response to the relational database statement, a set of zero or more values that is based on values within said subset.
- 2. The method of claim 1, further comprising the computer-implemented steps of:
extracting, by said multidimensional database server, values within said data subset; and presenting said values from said subset in a particular relational form.
- 3. The method of claim 2, further comprising the computer-implemented steps of:
determining, by said multidimensional database server, said particular relational form.
- 4. The method of claim 2, further comprising the computer-implemented steps of:
determining, by said multidimensional database server, said particular relational form based on information contained in said statement.
- 5. The method of claim 2, wherein the step of presenting comprises
presenting said values in a form of a relational database table.
- 6. The method of claim 2, wherein said relational database statement is a SQL statement, and wherein the step of presenting comprises presenting said values in said particular relational form to a SQL processor of said relational database server.
- 7. The method of claim 2, further comprising the computer-implemented step of:
dynamically generating one or more abstract data type definitions that define formats of at least a portion of said values from said subset.
- 8. The method of claim 7, further comprising the computer-implemented step of:
communicating the dynamically generated definitions to the relational database server to enable the relational database server to access the data.
- 9. The method of claim 2, wherein the step of presenting said values in a particular relational form comprises presenting said values in a form of a relational database table in which a particular column is associated with one or more particular measure values, the method further comprising the computer-implemented step of:
dynamically creating an abstract data type definition that defines a format of said values in said column.
- 10. The method of claim 1, wherein the step of identifying said data subset comprises identifying all cells associated with a respective range of keys for each of a plurality of dimensions of said n-dimensional data objects.
- 11. The method of claim 1, wherein a data subset consists of non-contiguous cells, and wherein the step of identifying a data subset comprises identifying only cells associated with one or more user-specified key combinations that each comprises a particular key for each of a plurality of dimensions of said n-dimensional data objects.
- 12. The method of claim 1, further comprising the computer-implemented step of:
generating, by said multidimensional database server, a filtered set of one or more values by comparing values in cells of said data subset to value-filtering criteria specified in said statement.
- 13. The method of claim 12, wherein the step of generating said filtered set of values comprises:
looping through each cell associated with a respective range of keys for each of a plurality of dimensions of said n-dimensional data objects; and comparing a measure value associated with each respective cell to a corresponding measure value specified in a condition in said statement.
- 14. The method of claim 12, wherein the step of generating said filtered set of values comprises:
identifying cells of said data subset that satisfy cell-filtering criteria specified in said statement; comparing values, to said value-filtering criteria, only from cells of said data subset that satisfy said cell-filtering criteria.
- 15. The method of claim 12, wherein the step of generating said filtered set of values comprises:
identifying, based on said statement, all measures that are required by the relational database server to execute said statement; and presenting, as at least a portion of said filtered set of one or more values, measure values for said measures that are required by the relational database server to execute said statement.
- 16. The method of claim 15, wherein the step of presenting comprising presenting only measure values for said measures that are required by the relational database server to execute said statement.
- 17. The method of claim 15, wherein the step of generating said filtered set of values comprises:
comparing, to said value-filtering criteria, only values for said measures that are required by the relational database server to execute said statement.
- 18. The method of claim 12, wherein the step of generating said filtered set of values comprises:
identifying, based on said statement, all dimensions from which associated values are required by the relational database server to execute said statement; and presenting, as at least a portion of said filtered set of one or more values, values associated with said dimensions from which associated values are required by the relational database server to execute said statement.
- 19. The method of claim 18, wherein the step of presenting comprising presenting only values associated with said dimensions from which associated values are required by the relational database server to execute said statement.
- 20. The method of claim 1, wherein the step of receiving the relational database statement comprises receiving a SQL statement.
- 21. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1.
- 22. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2.
- 23. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3.
- 24. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4.
- 25. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5.
- 26. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6.
- 27. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7.
- 28. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8.
- 29. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9.
- 30. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10.
- 31. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 11.
- 32. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12.
- 33. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 13.
- 34. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 14.
- 35. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 15.
- 36. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 16.
- 37. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 17.
- 38. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 18.
- 39. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 19.
- 40. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 20.
- 41. An apparatus comprising:
means for receiving, at a relational database server, a relational database statement that involves data, from n-dimensional data objects, that is stored according to a multidimensional schema; means for identifying, by a multidimensional database server and based on information contained in said statement, a data subset of said n-dimensional data objects; and means for producing, by said relational database server and in response to the relational database statement, a set of one or more values that is based on values within said subset.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority under 35 U.S.C. § 119(e) from U.S. Provisional Application Ser. No. 60/469,032 entitled “Techniques for Managing Multidimensional Data in a Relational Database Management System (RDBMS)”, filed May 7, 2003, the disclosure of which is incorporated by reference in its entirety for all purposes as if fully set forth herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60469032 |
May 2003 |
US |