IP Library Granted Patent US 7,409,401
Granted Patent B2
US 7,409,401 · App. 11/064,737 · Granted Aug 5, 2008

Method and system for supporting multivalue attributes in a database system

Assignee: International Business Machines Corporation
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,409,401
App. No.
11/064,737
Granted
Aug 5, 2008
Kind
B2
Abstract

A method and system for supporting multivalue attributes in a database system is disclosed. The method and system includes defining an index class by designating a plurality of attributes associated with the index class, wherein the plurality of attributes includes single value attributes and at least one multivalue attribute, generating an attribute value table for the index class for storing attribute values for the single value attributes, and generating a multiple value table for each of the at least one multivalue attributes for storing attribute values for the at least one multivalue attributes. By generating the multiple value table for the multivalue attribute, each row in the multiple value table corresponds to a single value of the multivalue attribute of the index class. Accordingly, an index scan can be performed to retrieve or update data corresponding to the associated multivalue attribute. Thus, data management becomes more efficient and less costly.

Claims (42)

1. A method for managing data related to an index class in response to a query, the index class including at least one multivalue attribute, the method comprising the steps of:

a) processing the query to determine a plurality of raw table rows, the plurality of raw table rows containing data satisfying the query;

b) generating at least one result tree from the raw table rows, each result tree representing data in the raw table rows associated with a particular item in the index class, wherein each item in the index class is identified by an item identification serial number, and each row of the raw table rows is associated with an item in the index class identified by the item identification serial number, wherein the result tree generating step further comprises the steps of:

b1) grouping the raw table rows by item identification serial number;

b2) comparing values in the raw table rows for each group of raw table rows;

b3) identifying non-redundant values for each group based on the comparing step (b2); and

b4) populating the result tree for the item with the non-redundant values; and

c) generating a unified row corresponding to each result tree, the unified row comprising a string of attribute values separated by an internally defined separator.

2. A computer readable medium containing program instructions for managing data related to an index class in response to a query, the index class including at least one multivalue attribute, the program instructions for:

a) processing the query to determine a plurality of raw table rows, the plurality of raw table rows containing data satisfying the query;

b) generating at least one result tree from the raw table rows, each result tree representing data in the raw table rows associated with a particular item in the index class, wherein each item in the index class is identified by an item identification serial number, and each row of the raw table rows is associated with an item in the index class identified by the item identification serial number, wherein the result tree generating step further comprises the steps of:

b1) grouping the raw table rows by item identification serial number;

b2) comparing values in the raw table rows for each group of raw table rows;

b3) identifying non-redundant values for each group based on the comparing step (b2); and

b4) populating the result tree for the item with the non-redundant values; and

c) generating a unified row corresponding to each result tree, the unified row comprising a string of attribute values separated by an internally defined separator.

3. The method of claim 1 , wherein values for the at least one multivalue attribute are stored in a corresponding multiple value table (MVT) and values for all other attributes for the index class are stored in an attribute value table (AVT), and the determining step (a) further comprising the steps of:

a1) joining the MVT for at least on multivalue attribute with the AVT; and

a2) processing the query on the joined tables.

4. The method of claim 1 , wherein the unified row generating step (c) comprises the steps of:

c1) grouping non-redundant values associated with at least one multivalue attribute to form a cluster for each result tree;

c2) stringing together the item identification serial number, the cluster, and the remaining non-redundant values; and

c3) inserting the internally defined separator between non-redundant values.

5. The method of claim 1 further comprising the step of:

d) retuning the unified row to the client.

6. The computer readable medium of claim 2 , wherein values for the at least one multivalue attribute are stored in a corresponding multiple value table (MVT) and values for all other attributes for the index class are stored in an attribute value table (AVT), and the determining step (a) further comprising the instructions for:

a1) joining the MVT for at least on multivalue attribute with the AVT; and

a2) processing the query on the joined tables.

7. The method of claim 2 , wherein the unified row generating step (C) comprises the instructions for:

c1) grouping non-redundant values associated with at least one multivalue attribute to form a cluster for each result tree;

c2) stringing together the item identification serial number, the cluster, and the remaining non-redundant values; and

c3) inserting the internally defined separator between non-redundant values.

8. The computer readable medium of claim 2 further comprising the instruction for:

d) retuning the unified row to the client.

9. The method of claim 4 , wherein the unified row generating step (c) further comprises the step of:

c4) creating a header to accompany the unified row.

10. The method of claim 4 , wherein the cluster of non-redundant values associated with the at least one multivalue attribute is enclosed by parentheses.

11. The method of claim 4 , wherein the internally defined separator is a hexadecimal number 0×01.

12. The computer readable medium of claim 7 , wherein the unified row generating instruction (c) further comprises instructions for:

c4) creating a header to accompany the unified row.

13. The computer readable medium of claim 7 , wherein the cluster of non-redundant values associated with the at least one multivalue attribute is enclosed by parentheses.

14. The computer readable medium of claim 7 , wherein the internally defined separator is a hexadecimal number 0×01.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2007
From: HANSEN, LYNDA A.; LEE, THOMAS S.; SHAH, MAYANK V.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019196/0320 →
Continuity (2)
Division 0995430600 · Sep 12, 2001
Related Publication 20050154745A1 · Jul 14, 2005