On Apr 22, 2016, at 10:45 , Raymond Brinzer <ray.brinzer@xxxxxxxxx> wrote: > > Are there relational algebra expressions, or other operations > necessary to a truly relational database, which cannot be translated > into SQL? I'm not aware that there are, but I'd be interested to hear > of it. If there were, there's a good chance you wouldn't be able to > translate them into the parse tree, either. The fundamental storage model needs to at least be a bit different. In particular, relations can't allow duplicates. You could have nulls (Codd proposed two different forms of null IIRC: a single null value and two different null values), although they should be more principled than the mess they are in SQL. I am no expert on database optimization, but I understand that it is significantly easier to do query optimization in a properly relational database, as it forms a reasonably simple algebra, which can be optimized much as you would optimize evaluation of a numeric expression. Major gains from a proper relational store would be: - a better language, easier to parse, read and generate. Perhaps multiple equivalent query languages; - other storage models (distributed and eventually consistent, say); - simpler (in implementation and use); We may also get some degree of faster and other good things. It also might be implemented in such a way that it can run as a server or more like SQLite. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general