Patent Document ID: 8943100
Application ID: 13800568

Base Claim:
1. A method for storing data in a relational database system using a processor, the method comprising: assigning a collection of values to a structure dictionary, wherein each of the values represents the value of a row for an attribute and has a unique ordinal number within the collection, and wherein the structure dictionary contains structures defined based on at least one of interaction with a user of the system via an interface, automatic detection of structures occurring in data, automatic detection of frequencies of values occurring in data, analysis of a history of queries, and predetermined information about structures relevant to data content that is stored in the system; for each structure in the structure dictionary, forming a structure match list from ordinal numbers of values matching the structure, and a structure sub-collection from values matching the structure, using the processor; forming an outlier match list from ordinal numbers of values that are not null and do not match any structure in the structure dictionary, and an outlier sub-collection from values that are not null and do not match any structure in the structure dictionary, using the processor; and storing the collection of values in the relational database in a form of structure match lists, structure sub-collections, outlier match list and outlier sub-collection.

---

Claim 7:
7. The method according to claim 1 , wherein at least one value can be matched by at least two structures, and the choice of a unique structure to which the value will be assigned out of a plurality of possible structures is based on at least one of an order of structures in the structure dictionary, interaction with a user, heuristic estimation of the size of data on disk obtained as a result of a plurality of possible assignments, and heuristic estimation of query speed obtained as a result of the plurality of possible assignments.