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.
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. 10. The method according to claim 1 , wherein the structure dictionary is modifiable and methods of modifying the structure dictionary include at least one of: detecting new structures occurring in data followed by recommendation of the identified structures to a user of the relational database system via an interface, the user deciding whether the identified structures should be added to the structure dictionary, the interface reporting how many values are matched by the recommended new identified structures and how many of those values were not matched by any prior structure; evaluating the candidate structures based on a group of criteria including at least one of minimizing the number of structures in the structure dictionary, minimizing the cost of storing data in a form of the structure sub-collections and minimizing estimated percentage of values not matching any structure; and providing an interface to a user of the relational database system, the interface reporting amounts of values matched by particular structures, sizes of structure sub-collections corresponding to particular structures and amounts of values not matching any structure belonging to the structure dictionary, the user using the interface to remove, add or replace structures belonging to the structure dictionary.