1. A computer-implemented method of representing data on a computer as a collection of finite sheaves for facilitating information retrieval in response to a query, comprising the steps of: selecting one or more entity sets within an application, each entity set being a collection of entities of a single entity type; constructing a distinct table to represent each entity set selected in said selecting step, such that there is a one-to-one correspondence between respective tables and entity sets; for each table executing steps of selecting another table and a member in a finite distributive lattice, FDL, defined by said table, hereafter referred to as a schema table and a schema member, respectively, of a current table, constructing a column in the current table for each row in a down set of the respective schema member, such that there is a one-to-one correspondence between columns in the current table and rows in the down set of the schema member, interpreting each column of the table as an attribute of the associated entity type, interpreting a row graph of the down set of the schema member as a column graph of the current table, said column graph representing an ordering relationship between the columns of the current table, constructing a row in the current table for each entity of the associated entity set, such that there is a one-to-one correspondence between rows and entities, entering attribute data into rows of the current table, imposing an externally specified ordering relationship between the rows of the current table, hereafter referred to as the row graph, defining the FDL from the row graph to have a member for each row and each distinct combination of the rows of the current table, wherein two combinations of rows are distinct if they do not represent a same ordering relationship, and defining a finite sheaf from the table, row graph and column graph.