Search Postgresql Archives

Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In the last exciting episode, dananrg@xxxxxxxxx wrote:
> I'm reading, and enjoying immensely, Fabial Pascal's book "Practical
> Issues in Database Management."
>
> Though I've just gotten started with the book, he seems to be saying
> that modern RDBMSs aren't as faithful to relational theory as they
> ought to be, and that this has many *practical* consequences, e.g. lack
> of functionality.
>
> Given that PostgreSQL is open source, it seems a more likely candidate
> for addressing Pascal's concerns. At least the potential is there.
>
> Some questions:
>
> 1) Is PostgreSQL more faithful to relational theory? If so, do you find
> yourself using the additional functionality afforded by this? e.g. does
> it really matter to what you do in your daily work.

PostgreSQL's fidelity is more to the SQL standards than to relational
theory, per se, but there are places where it does "play better" than
some of its competitors with regard to relational behaviour.

Oracle, for instance, has the trouble that it does not generally
perceive NULL as being distinct from empty strings.

> 2) If PostgreSQL is *not* significantly more faithful to relational
> theory than commercial RDBMSs, is it at least on the road to
> becoming more faithful?

It's probably fairer to say that it isn't on any road to become "less
faithful."

The tendancy for products like Oracle and DB2 has been to hearken down
roads with XML on the signs, and to lose rational behaviour on that
basis.

> 3) If PostgreSQL is not on the road to becoming more faithful to
> relational theory and purity, why not? Is it due to the fact that
> various SQL standards are themselves not fully faithful to relational
> theory, and most RDBMSs have as a primary design goal to be faithful to
> standards (which Pascal implies *are* relationally deficient)?

There are two big bits of trouble to SQL:

1.  NULL is a problem (where there isn't any choice of implementation
strategies that *won't* lead to considerable pain), which is why the
would-be relational successor, Tutorial D, rejects having NULL
altogether.

2.  Features get added to SQL standards without much regard to
fidelity to a relational model.  Often, features get added because
they seem cool, and because Microsoft or IBM figure the features can
get them some sales.  That doesn't guarantee fidelity to much of
anything :-(.

> 4) Which database, commercial or non-commercial, is most faithful to
> relational theory itself, or is headed in that direction the
> quickest?

The product that appears to have greatest fidelity to SQL standards is
Mimer SQL.  That's not quite the same thing as fidelity to relational
theory, of course.

One of the interesting edges, with PostgreSQL, is the whole
"object/relational" side of it.  Darwen and Date were highly critical
of O/R; they felt that "doing relational right" was generally a better
thing.

I'd argue that with the extensible type system, PostgreSQL does parts
of this quite right.  

The place where there is controversy is in how PostgreSQL should deal
with things like inheritance, when inheriting attributes from a table,
and the lack of agreement seems to me to demonstrate that there's not
any particular will to continue down the "O/R dogma" road...
-- 
let name="cbbrowne" and tld="gmail.com" in name ^ "@" ^ tld;;
http://linuxdatabases.info/info/nonrdbms.html
"I will not send lard through the mail" ^ 100 -- Bart Simpson


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux