1. A 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 associated physical entities of the data; receiving an abstract query comprising at least one logical field of the plurality of logical fields; and locking the at least one logical field before executing the abstract query.