1. A method, comprising the steps of: storing on one or more computer readable media a database comprising initial data and an initial data structure; receiving at one or more processors operatively connected to one or more computer readable media new data as the new data is entered into an electronic document, the new data comprising at least one data value and one or more data descriptors corresponding to the at least one data value; automatically assigning using the one or more processors one of the one or more data descriptors as a data item, the data item defining a variable the value of which varies based on the data value; automatically determining, using the one or more processors and information from one or more repositories external to the initial data structure, one or more dimensions of the data value based on at least one of the one or more data descriptors; automatically determining, using the one or more processors, whether the initial data structure requires modification in order to accommodate storage and retrieval of the new data; upon a condition that a determination is made that the initial data structure requires modification, dynamically reorganizing without user input using the one or more processors the initial data structure into a modified data structure based on the at least one or more dimensions and the data item, so that the new data is stored in the modified data structure in a manner that allows the initial data and the new data to be later retrieved from the modified data structure; upon a condition that a determination is made that the initial data structure does not require modification, foregoing the step of dynamically reorganizing; and storing the initial data structure on the one or more computer readable media to include the new data in the modified data structure.