1. A method of processing a query, comprising: providing a pre-defined logical schema to a user of a database system comprising at least two relational database entities storing data therein; receiving a logical query for data stored in the database system from the user, wherein the logical query is written in an object-oriented query language according to the pre-defined logical schema, and comprises two or more predicates and an operator specifying an action to take with one or more of the predicates; in response to receiving the logical query, interpreting the logical query using the pre-defined logical schema to determine which of the relational database entities is associated with each predicate; requesting each relational database entity to translate each of its associated predicates; receiving a translated predicate query for each predicate from its associated relational database entity, wherein each translated predicate query is a written in a relational query language and is a translation of one of the object-oriented predicates in the logical query; combining each received translated predicate query into a master query using the operator; executing the master query against the database system; in response to executing the master query, receiving a query result set from the database system; and providing the query result set to the user.