1. A computer-implemented method of preventing alterations of data in a database when a query is executed against the database, comprising: providing a logical representation of the data defining a plurality of logical fields abstractly describing a manner of accessing and exposing, via a user interface, associated physical entities of the data, wherein each of the plurality of logical fields include a reference to an access method selected from at least two different access method types; wherein the at least two different access method types are selected from the group comprising: (i) a simple access method which maps a respective one of the plurality of logical fields directly to a physical entity, (ii) a filtered access method which identifies a physical entity and provides rules used to define a subset of items within the physical entities, and (iii) a composed access method which computes a value for a respective one of the plurality of logical fields from one or more physical entities using an expression supplied as part of a composed access method definition; wherein each of the different access methods types defines a different manner of exposing the respective physical entities of the data; and wherein at least a portion of the plurality of logical fields include lock attributes referenced in order to lock the respective logical field; receiving an abstract query comprising at least one logical field of the portion of logical fields; in response to receiving the abstract query, locking, on the basis of the respective lock attributes, the at least one logical field before executing the abstract query; and unlocking at least one logical field after executing the abstract query.