Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database
First Claim
1. A method of executing a command in a computer to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables, the method comprising the steps of:
- (a) receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers; and
(b) accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein one of the dimension tables is an anchor dimension table that does not intersect the fact table with a common column and the remaining dimension tables are non-anchor dimension tables that intersect the fact table with common columns.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus, and article of manufacture for using a relational database management system to support on-line analytical processing (OLAP) systems. A relational database has a fact table and at least one related dimension table. A dimension identifier is received that identifies a data block in a multi-dimensional database. The dimension identifier comprises one or more multi-dimensional member identifiers. Rows are accessed from the fact table through the related dimension tables using the received dimension identifier. Then, the accessed rows are formatted as a data block for the multi-dimensional database.
237 Citations
30 Claims
-
1. A method of executing a command in a computer to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables, the method comprising the steps of:
-
(a) receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers; and (b) accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein one of the dimension tables is an anchor dimension table that does not intersect the fact table with a common column and the remaining dimension tables are non-anchor dimension tables that intersect the fact table with common columns. - View Dependent Claims (2, 3)
-
-
4. A method of executing a command in a computer to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables, the method comprising the steps of:
-
receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block; accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein the accessed rows contain values; determining an offset into the data block using the multi-dimensional member identifiers; and storing the values contained in the accessed rows into the data block at the determined offset.
-
-
5. A method of executing a command in a computer to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables, the method comprising the steps of:
-
receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block, and wherein the data block contains values; accessing rows from the fact table through the related dimension tables using the received dimension identifier; determining an offset into the data block using the multi-dimensional member identifiers; accessing the values contained in the data block at the determined offset; and storing the accessed values in rows of the relational database.
-
-
6. A method of executing a command in a computer to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table and at least one related dimension table, the method comprising the steps of:
-
(a) receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers; (b) accessing rows from the fact table through the related dimension tables using the received dimension identifier; and (c) formatting the accessed rows as a data block for the multi-dimensional database. - View Dependent Claims (7, 8)
-
-
9. A method of executing a command in a computer to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table and at least one related dimension table, the method comprising the steps of:
-
receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block; accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein the accessed rows contain values; formatting the accessed rows as a data block for the multi-dimensional database; determining an offset into the data block using the multi-dimensional member identifiers; and storing the values contained in the accessed rows into the data block at the determined offset.
-
-
10. A method of executing a command in a computer to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table and at least one related dimension table, the method comprising the steps of:
-
receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers wherein the multi-dimensional member identifiers identify an offset into the data block, and wherein the data block contains values; accessing rows from the fact table through the related dimension tables using the received dimension identifier; and formatting the accessed rows as a data block for the multi-dimensional database; determining an offset into the data block using the multi-dimensional member identifiers; accessing the values contained in the data block at the determined offset; and storing the accessed values in rows of the relational database.
-
-
11. An apparatus for executing a command to perform a database operation on a relational database, comprising:
-
(a) a computer having a data storage device coupled thereto, wherein the data storage device stores the relational database, and wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables; (b) one or more computer programs, performed by the computer, for receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers and for accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein one of the dimension tables is an anchor dimension table that does not intersect the fact table with a common column and the remaining dimension tables are non-anchor dimension tables that intersect the fact table with common columns. - View Dependent Claims (12, 13)
-
-
14. An apparatus for executing a command to perform a database operation on a relational database, comprising:
-
a computer having a data storage device coupled thereto, wherein the data storage device stores the relational database, and wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables; one or more computer programs, performed by the computer, for receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block, for accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein the accessed rows contain values, for determining an offset into the data block using the multi-dimensional member identifiers, and for storing the values contained in the accessed rows into the data block at the determined offset.
-
-
15. An apparatus for executing a command to perform a database operation on a relational database, comprising:
-
(a) a computer having a data storage device coupled thereto, wherein the data storage device stores the relational database, and wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables; (b) one or more computer programs, performed by the computer, for receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block, and wherein the data block contains values, for accessing rows from the fact table through the related dimension tables using the received dimension identifier, for determining an offset into the data block using the multi-dimensional member identifiers, for accessing the values contained in the data block at the determined offset, and for storing the accessed values in rows of the relational database.
-
-
16. An apparatus for executing a command to perform a database operation on a relational database, comprising:
-
(a) a computer having a data storage device coupled thereto, wherein the data storage device stores the relational database, and wherein the relational database has a fact table and at least one related dimension table; (b) one or more computer programs, performed by the computer, for receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, accessing rows from the fact table through the related dimension tables using the received dimension identifier, and formatting the accessed rows as a data block for the multi-dimensional database. - View Dependent Claims (17, 18)
-
-
19. An apparatus for executing a command to perform a database operation on a relational database, comprising:
-
(a) a computer having a data storage device coupled thereto, wherein the data storage device stores the relational database, and wherein the relational database has a fact table and at least one related dimension table; (b) one or more computer programs, performed by the computer, for receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block, for accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein the accessed rows contain values, for formatting the accessed rows as a data block for the multi-dimensional database, for determining an offset into the data block using the multi-dimensional member identifiers, and for storing the values contained in the accessed rows into the data block at the determined offset.
-
-
20. An apparatus for executing a command to perform a database operation on a relational database, comprising:
-
(a) a computer having a data storage device coupled thereto, wherein the data storage device stores the relational database, and wherein the relational database has a fact table and at least one related dimension table; (b) one or more computer programs, performed by the computer, for receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block, and wherein the data block contains values, for accessing rows from the fact table through the related dimension tables using the received dimension identifier, for formatting the accessed rows as a data block for the multi-dimensional database, for determining an offset into the data block using the multi-dimensional member identifiers, for accessing the values contained in the data block at the determined offset, and for storing the accessed values in rows of the relational database.
-
-
21. An article of manufacture comprising a program storage medium readable by a computer and embodying one or more instructions executable by the computer to perform method steps for executing a command to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables, the method comprising the steps of:
-
(a) receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers; and (b) accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein one of the dimension tables is an anchor dimension table that does not intersect the fact table with a common column and the remaining dimension tables are non-anchor dimension tables that intersect the fact table with common columns. - View Dependent Claims (22, 23)
-
-
24. An article of manufacture comprising a program storage medium readable by a computer and embodying one or more instructions executable by the computer to perform method steps for executing a command to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables, the method comprising the steps of:
-
receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block; accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein the accessed rows contain values; determining an offset into the data block using the multi-dimensional member identifiers; and storing the values contained in the accessed rows into the data block at the determined offset.
-
-
25. An article of manufacture comprising a program storage medium readable by a computer and embodying one or more instructions executable by the computer to perform method steps for executing a command to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table, one or more related dimension tables, and relational member identifiers for accessing data from the fact table through the related dimension tables, the method comprising the steps of:
-
receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block, and wherein the data block contains values; accessing rows from the fact table through the related dimension tables using the received dimension identifier; determining an offset into the data block using the multi-dimensional member identifiers; accessing the values contained in the data block at the determined offset; and storing the accessed values in rows of the relational database.
-
-
26. An article of manufacture comprising a program storage medium readable by a computer and embodying one or more instructions executable by the computer to perform method steps for executing a command to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table and at least one related dimension table, the method comprising the steps of:
-
(a) receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers; (b) accessing rows from the fact table through the related dimension tables using the received dimension identifier; and (c) formatting the accessed rows as a data block for the multi-dimensional database. - View Dependent Claims (27, 28)
-
-
29. An article of manufacture comprising a program storage medium readable by a computer and embodying one or more instructions executable by the computer to perform method steps for executing a command to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table and at least one related dimension table, the method comprising the steps of:
-
receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers, wherein the multi-dimensional member identifiers identify an offset into the data block; accessing rows from the fact table through the related dimension tables using the received dimension identifier, wherein the accessed rows contain values; formatting the accessed rows as a data block for the multi-dimensional database determining an offset into the data block using the multi-dimensional member identifiers; and storing the values contained in the accessed rows into the data block at the determined offset.
-
-
30. An article of manufacture comprising a program storage medium readable by a computer and embodying one or more instructions executable by the computer to perform method steps for executing a command to perform a database operation on a relational database stored on a data storage device, wherein the relational database has a fact table and at least one related dimension table, the method comprising the steps of:
-
receiving a dimension identifier that identifies a data block in a multi-dimensional database, wherein the dimension identifier comprises one or more multi-dimensional member identifiers wherein the multi-dimensional member identifiers identify an offset into the data block, and wherein the data block contains values; accessing rows from the fact table through the related dimension tables using the received dimension identifier; formatting the accessed rows as a data block for the multi-dimensional database; determining an offset into the data block using the multi-dimensional member identifiers; accessing the values contained in the data block at the determined offset; and storing the accessed values in rows of the relational database.
-
Specification