Patent ID: 7890532

Claim:
A computer-implemented method for adding complex data to, and modeling complex data in, an existing conceptual table, wherein the existing conceptual table is stored as one or more data tables comprising scalar data, the method comprising: receiving an instruction to add a complex data type to the existing conceptual table, wherein the complex data type comprises one or more nested tables; upon receiving the instruction to add the complex data type, creating one or more data tables for storing scalar values associated with the complex data type; creating one or more links to the existing conceptual table corresponding to the one or more data tables for storing scalar values associated with the complex data type; receiving an instruction to store a first complex data value associated with the existing conceptual table; analyzing a structure of the existing conceptual table to determine structural data of the existing conceptual table; using the structural data to determine a first mapping of the first complex data value to a first location of a first data table of the one or more data tables for storing scalar values associated with the complex data type; using the first mapping to store the first complex data value from the existing conceptual table into the first location in the first data table; receiving an instruction to store a scalar data value that exists only in the existing conceptual table, wherein the scalar data value is not associated with the complex data; storing the scalar data value that exists only in the existing conceptual table in a second data table, wherein the second data table is specifically allocated for one or more non-mapped scalar data values; receiving a query of the existing conceptual table requesting at least the first complex data value; determining whether one or more expansion rules are appropriate to apply to the query and whether the one or more expansion rules call for an expansion, wherein the determining uses the structural data and the first mapping; if the one or more expansion rules are appropriate to apply to the query, applying the one or more expansion rules to expand the query; issuing the query; in response to the expanded query of the existing conceptual table, querying the one or more data tables to obtain at least the first complex data value stored in the first location of the first data table; receiving a selection of a first field in the existing conceptual table, wherein the first field comprises the first data table; referencing the first mapping to the first data table; taking a snapshot of the first data table; and displaying results of the snapshot of the first data table in the existing conceptual table.