1. A method of providing access to data in a database, comprising: receiving, from a requesting entity, a search request for data available through a database abstraction model, wherein the database abstraction model provides: (i) a plurality of logical fields each specifying an access method for accessing data in the database; and (ii) at least one model entity that specifies an identifier in the database used to identify instances of the model entity and further specifies a set of the logical fields used to access data related to the model entity, wherein the identifier comprises a primary key of a table in the database, and wherein the search request specifies the model entity to be searched and at least one search term; identifying, of the set of logical fields related to the model entity, logical fields that are candidates for containing data matching the at least one search term; accessing, for each instance of the model entity in the database, data for each of the identified logical fields using the access method specified for the respective identified logical field; identifying, for each instance, whether the accessed data contains the at least one search term, and if so, adding the identifier for the specific instance of the model entity to a set of search results; and returning the search results to the requesting entity.