Re: We aren't a relational database ... ?

From: David Fetter <david(at)fetter(dot)org>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: "Marc G(dot) Fournier" <scrappy(at)postgresql(dot)org>, pgsql-advocacy(at)postgresql(dot)org
Subject: Re: We aren't a relational database ... ?
Date: 2007-10-08 14:55:27
Message-ID: 20071008145527.GA3389@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-advocacy

On Sun, Oct 07, 2007 at 07:53:14PM -0700, Jeff Davis wrote:
> On Sun, 2007-10-07 at 22:58 -0300, Marc G. Fournier wrote:
> > "How many open source relational databases can you name? My friend
> > Gabrielle recently sent me the links to two of them. However, if
> > you?re like most technical people, you probably don?t know any ?
> > just as I didn?t until recently. I can already imagine many of you
> > saying ?bulls**t?, what about MySQL and PostgreSQL?? (to name just
> > two), but those are just databases, not relational databases."
>
> SQL does have some glaring violations of the relational model,

Nope. SQL doesn't conform with *a* relational model espoused by
Darwen, Date and Pascal, hereinafter DDP, who are about as connected
to database management as Christian Identity is to Christianity. It
conforms pretty well to Codd's relational model, and he's the guy who
invented the thing.

> the duplicate rows are just one example. You can't even compare two
> relation values in SQL; I'm not sure whether that's required by the
> relational model or not, but it certainly seems to show that
> relations were not the real design focus of the language.
>
> I think PostgreSQL is a good representative of the spirit of the
> relational model in other ways though. It's easy to define your own
> types that are every bit as powerful as built-in types. And the rule
> system is specifically designed to help separate the logical design
> from the physical storage (although the rule system could probably
> be better at this), which is an important benefit of relational
> theory. And we shouldn't forget that SQL is a lot closer to a
> relational language than any other practical alternative, which may
> be why it's so successful.
>
> That being said, I'd like to see some group really make an effort to
> build a truly relational database. If they are able to achieve the
> theoretical benefits of the relational model, that would be very
> worthwhile.

It is instructive to note that no one in academia, industry,
government or open source, has managed so much as a crude prototype of
DDP's fantasy model despite huge available resources and several
decades over which to apply them. However, even if someone were to
manage such a thing tomorrow, there would be quite large practical
problems such as the myriad of byzantine nonsense DDP proposes rather
than allow NULLs anywhere.

> And the benefits aren't too far-fetched.

Yes, they are.

> It's much easier for the optimizer to transform relational
> expressions than SQL expressions. And if you write declarative
> constraints as relational expressions (rather than triggers), the
> optimizer is able to use those constraints as part of the
> optimization process. PostgreSQL is able to do that for simple
> things like unique attributes or constraint exclusion, but for more
> complex constraints you need to use triggers, which the optimizer
> can't see.

DDP's is a fascinating, elegant theory, as is Phlogiston theory, but
there is one little problem: no evidence thus far for either of them
and much against.

Cheers,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
phone: +1 415 235 3778 AIM: dfetter666
Skype: davidfetter

Remember to vote!
Consider donating to PostgreSQL: http://www.postgresql.org/about/donate

In response to

Responses

Browse pgsql-advocacy by date

  From Date Subject
Next Message Joshua D. Drake 2007-10-08 16:12:29 Re: We aren't a relational database ... ?
Previous Message Brenda Wallace 2007-10-08 05:14:09 New Zealand PostgreSQL Users' Group