Join index for relational databases
First Claim
1. A method of optimizing retrieval of data from a computerized database, comprising:
- (a) converting a denormalized base table containing the data into a plurality of normalized tables; and
(b) creating a join index for the normalized tables by combining one or more commonly-used columns of the normalized tables, wherein each row of the join index contains a fixed part and at least one repeated part, and each of the repeated parts contains a fixed part and a repeated part.
2 Assignments
0 Petitions
Accused Products
Abstract
The retrieval of data from a computerized database is optimized through the use of a join index. A denormalized base table is converted into a plurality of normalized tables and the join index for the normalized tables is created by combining one or more commonly-used columns of the normalized tables. Outer joins are used to generate the join index, instead of inner joins, so that the join index satisfies queries with fewer join conditions than the ones used to generate the join index. Each row of the join index comprises a fixed part and a repeated part. The fixed part is stored only once in each row, but the repeated part is comprised of recursive levels within each row, so that each row may contain as many repeated parts as needed. In addition, each of the repeated parts comprises a fixed part and a repeated part.
42 Citations
44 Claims
-
1. A method of optimizing retrieval of data from a computerized database, comprising:
-
(a) converting a denormalized base table containing the data into a plurality of normalized tables; and (b) creating a join index for the normalized tables by combining one or more commonly-used columns of the normalized tables, wherein each row of the join index contains a fixed part and at least one repeated part, and each of the repeated parts contains a fixed part and a repeated part. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus for optimizing retrieval of data from a computerized database, comprising:
-
(a) a computer having one or more electronic storage devices connected thereto, wherein the data is stored on one or more of the electronic storage devices; (b) means, performed by the computer, for converting a denormalized base table containing the data into a plurality of normalized tables; and (c) means, performed by the computer, for creating a join index for the normalized tables by combining one or more commonly-used columns of the normalized tables, wherein each row of the join index contains a fixed part and at least one repeated part, and each of the repeated parts contains a fixed part and a repeated part. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
- 29. A data structure stored in a memory for use by a computer program executed by a computer, the data structure comprising a join index for a plurality of normalized tables, wherein each row of the join index comprises a fixed part and a repeated part.
-
31. A program storage device, readable by a computer, tangibly embodying one or more instructions executable by the computer to perform method steps for optimizing retrieval of data from a computerized database, the method comprising:
-
(a) converting a denormalized base table containing the data into a plurality of normalized tables; and (b) creating a join index for the normalized tables by combining one or more commonly-used columns of the normalized tables, wherein each row of the join index contains a fixed part and at least one repeated part, and each of the repeated parts contains a fixed part and a repeated part. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification