Thou shalt have a simple way of querying data
The main problem here is to provide the functionality of an ad hoc query language. We do not require that it be done in the
form of a query language but just that the service be
provided. For instance, a graphical browser could be
sufficient to fulfill this functionality. The service consists of
allowing the user to ask simple
queries to the database simply. The obvious
yardstick is of course relational systems, thus the test is to
take a number of representative relational queries and to check
whether they can be stated with the same amount of work.
Note that this facility could be supported by the data
manipulation language or a subset of it.
We believe that a query facility should satisfy the following three criteria: (i) It should be high level, i.e., one should be able to express (in a few words or in a few mouse clicks) non-trivial queries concisely. This implies that it should be reasonably declarative, i.e., it should emphasize the what and not the how. (ii) It should be efficient. That is, the formulation of the queries should lend itself to some form of query optimization. (iii) It should be application independent, i.e., it should work on any possible database. This last requirements eliminates specific querying facilities which are application dependent, or require writing additional operations on each user-defined type.