
On Wed, Sep 15, 2010 at 6:58 PM, Mathias Gaunard <mathias.gaunard@ens-lyon.org> wrote:
On 15/09/2010 16:11, Dave Abrahams wrote:
Here's a thread that might be interesting for anyone thinking of implementing a DSEL for SQL: http://markmail.org/message/rzcdlkquko2htvjp
I notice that most of this thread is going in the direction of trying to replicate SQL syntax instead of doing something closer to normal logic. I'd be much happier to use a syntax that just specifies "what I want" rather than "how to get there." In some cases the library could be responsible for conjuring up JOINs, for example, when that's the most efficient approach.
Relational algebra is the way databases work, and SQL is the standard language to express relational operations.
Relational algebra is just one part of the relational model. The other is the Relational Calculus (http://en.wikipedia.org/wiki/Relational_calculus), which might be closer to what David is asking. SQL has aspects of both relational algebra and relational calculus of tuples. Both models are equivalents, but some queries might be easier to express in a model or the other. -- gpd