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.