From: | Guyren Howe <guyren(at)gmail(dot)com> |
---|---|
To: | Raymond Brinzer <ray(dot)brinzer(at)gmail(dot)com> |
Subject: | Re: Proper relational database? |
Date: | 2016-04-22 18:04:06 |
Message-ID: | 1ABF001D-62FD-4543-81DC-6AF568C5F251@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Apr 22, 2016, at 10:45 , Raymond Brinzer <ray(dot)brinzer(at)gmail(dot)com> 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.
From | Date | Subject | |
---|---|---|---|
Next Message | Pierre Chevalier Géologue | 2016-04-22 18:16:48 | Re: Enhancement request for pg_dump |
Previous Message | Melvin Davidson | 2016-04-22 17:46:02 | Re: Add relcreated (timestamp) column to pg_class catalog to record the time an object was created |