Claims
- 1. A method for performing an operation based on multidimensional data managed by a relational database management system, wherein the multidimensional data that is stored in the relational database includes a plurality of dimensions and at least one dimension of the plurality of dimensions includes a hierarchy having two or more levels of granularity, the method comprising the computer-implemented steps of:
registering, with said relational database management system, metadata that defines a cube, wherein said metadata includes
data that identifies that said cube is a solved cube; and data that indicates how to handle requests that involve said solved cube; receiving a request for an operation on said solved cube; and in response to said request, performing the steps of
determining, based on said metadata, one or more operations to perform to fulfill said request, and performing said one or more operations.
- 2. The method of claim 1, wherein said metadata includes:
data that identifies one or more mechanisms for obtaining all data associated with said solved cube.
- 3. The method of claim 1,
wherein said database contains data that is pre-computed across at least two of said two or more levels of said at least one dimension; and wherein said metadata identifies where, in said database, to locate particular data of said pre-computed data.
- 4. The method of claim 1,
wherein said metadata identifies one or more procedures for obtaining data associated with said solved cube; and wherein said step of performing one or more operations includes executing at least one of said one or more procedures.
- 5. The method of claim 1, wherein said metadata identifies columns maintained for each dimension of said plurality of dimensions.
- 6. The method of claim 1, wherein said metadata describes a view.
- 7. The method of claim 6, wherein said view is defined in one or more SQL statements.
- 8. The method of claim 6, wherein said view calls an executable procedure.
- 9. The method of claim 6, wherein said view uses a table function.
- 10. The method of claim 1, wherein said metadata identifies a form associated with said solved cube.
- 11. The method of claim 10, wherein said solved cube references a column that is associated with a measure, for storing values of the measure that are grouped at levels of said plurality of dimensions.
- 12. The method of claim 10,
wherein said form of said solved cube is a rollup form; and wherein said solved cube references columns that are associated with each level of each dimension of said plurality of dimensions, for storing values that are associated with a respective level.
- 13. The method of claim 10,
wherein said form of said solved cube is a rollup form; wherein said solved cube references a table that includes columns that are associated with each level of each dimension of said plurality of dimensions for storing values that are associated with each level of each dimension, and columns for storing grouping identifiers that are associated with each dimension; and wherein said grouping identifiers identify a level of a dimension at which precomputed data in said table is grouped.
- 14. The method of claim 10,
wherein said form of said solved cube is a grouping set form; wherein one or more levels of said plurality of dimensions are not specified as part of a grouping set associated with the solved cube; and wherein said solved cube references columns that are associated with each level of each dimension of said plurality of dimensions, for storing values that are associated with a respective level.
- 15. The method of claim 14, wherein the particular value that is associated with columns that are associated with said one or more levels that are not specified as part of said grouping set is a null value.
- 16. The method of claim 10,
wherein said form of said solved cube is a grouping set form; wherein one or more levels of said plurality of dimensions are not specified as part of a grouping set corresponding to said solved cube; wherein said solved cube references a table that includes columns that are associated with each level of each dimension of said plurality of dimensions for storing values that are associated with each level of each dimension, and columns for storing grouping identifiers that are associated with each dimension; and wherein said grouping identifiers identify a level of a dimension at which precomputed data in said table is grouped.
- 17. The method of claim 10,
wherein said form of said solved cube is an embedded total form; and wherein said solved cube references columns that are associated with each dimension of said plurality of dimensions, for storing values that are associated with a respective level of a respective dimension.
- 18. The method of claim 10,
wherein said form of said solved cube is an embedded total form; wherein said solved cube references a table that includes columns that are associated with each dimension of said plurality of dimensions for storing values that are associated with a respective level of a respective dimension, and columns for storing grouping identifiers that are associated with each dimension; and wherein said grouping identifiers identify a level of a dimension at which precomputed data in said table is grouped.
- 19. 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.
- 20. 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.
- 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 3.
- 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 4.
- 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 5.
- 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 6.
- 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 7.
- 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 8.
- 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 9.
- 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 10.
- 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 11.
- 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 12.
- 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 13.
- 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 14.
- 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 15.
- 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 16.
- 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 17.
- 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 18.
- 37. An apparatus for performing an operation based on multidimensional data managed by a relational database management system, wherein the multidimensional data that is stored in the relational database includes a plurality of dimensions and at least one dimension of the plurality of dimensions includes a hierarchy having two or more levels of granularity, the apparatus comprising:
means for registering, with said relational database management system, metadata that defines a cube, wherein said metadata includes
data that identifies that said cube is a solved cube; and data that indicates how to handle requests that involve said solved cube; means for receiving a request for an operation on said solved cube; and means for determining, based on said metadata, one or more operations to perform to fulfill said request, and means for performing said one or more operations.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part application of and claims the benefit of domestic priority under 35 U.S.C. §120 from U.S. patent application Ser. No. 10/424,003 entitled “Methods Of Navigating A Cube That Is Implemented As A Relational Object” filed on Apr. 25, 2003, which claims the benefit of priority from U.S. Provisional Application Ser. No. 60/375,726 entitled “Integrating Online Analytical Processing (OLAP) Functionality into a Relational Database Management System (RDBMS)”, filed Apr. 26, 2002 and from U.S. Provisional Application Ser. No. 60/379,870 entitled “Online Analytical Processing (OLAP) Operations and Access Structures for Data Stored in a Relational Database”, filed May 10, 2002; all of which are incorporated by reference in their entirety for all purposes as if fully set forth herein.
[0002] This application is a continuation-in-part application of and claims the benefit of domestic priority under 35 U.S.C. §120 from U.S. patent application Ser. No. 10/423,356 entitled “Using Relational Structures To Create And Support A Cube Within A Relational Database System” filed on Apr. 25, 2003, which claims the benefit of priority from U.S. Provisional Application Ser. No. 60/375,726 entitled “Integrating Online Analytical Processing (OLAP) Functionality into a Relational Database Management System (RDBMS)”, filed Apr. 26, 2002 and from U.S. Provisional Application Ser. No. 60/379,870 entitled “Online Analytical Processing (OLAP) Operations and Access Structures for Data Stored in a Relational Database”, filed May 10, 2002; all of which are incorporated by reference in their entirety for all purposes as if fully set forth herein.
[0003] This application claims the benefit of domestic priority under 35 U.S.C. §119(e) from U.S. Provisional Application Ser. No. {Ser. No.} (Attorney. Docket No. 50277-2244) entitled “Techniques for Managing Multidimensional Data in a Relational Database Management System”, filed May 7, 2003; which is incorporated by reference in its entirety for all purposes as if fully set forth herein.
Provisional Applications (5)
|
Number |
Date |
Country |
|
60375726 |
Apr 2002 |
US |
|
60379870 |
May 2002 |
US |
|
60375726 |
Apr 2002 |
US |
|
60379870 |
May 2002 |
US |
|
60469032 |
May 2003 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
10424003 |
Apr 2003 |
US |
Child |
10445113 |
May 2003 |
US |
Parent |
10423356 |
Apr 2003 |
US |
Child |
10445113 |
May 2003 |
US |