Patent ID: 8190597

Claim:
In a computing environment, a method of flattening at least a portion of a relational database into one or more hierarchical record documents, the method comprising: one or more computer processors accessing a first database table; one or more computer processors identifying a first entry value in a first entry from the first database table, wherein the first entry value represents a plurality of entry values of corresponding entries in a second database table; one or more computer processors creating an array, wherein the array includes one or more representations of the plurality of entry values, wherein the one or more representations of the plurality of entry values are index entities used to index the plurality of entry values such that a hierarchical record document comprises an internal index of the second database table for the plurality of entry values, wherein the index entities comprise hash index representations, where the plurality of entry values are represented by corresponding hash values of the plurality of entry values and wherein the array is pointed to by a pointer; one or more computer processors converting at least a portion of the first database table to one or more hierarchical record documents, with columns of the first database table represented at a first hierarchical level and values in entries in the columns represented at a second hierarchical level below the first hierarchical level for a corresponding column, wherein the first database table comprises a plurality of entries having the first entry value, and wherein converting the first database table to one or more hierarchical record documents comprises substituting the array in a hierarchical record document for each entry in the plurality of entries having the first entry value, and wherein substituting the array in a hierarchical record document for each entry in the plurality of entries having the first entry value comprise following the pointer to obtain the array.