Almost relational PostgreSQL (was: one-to-one)

From: Michael Glaesmann <grzm(at)myrealbox(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Almost relational PostgreSQL (was: one-to-one)
Date: 2003-10-21 19:16:16
Message-ID: 0B2ACB07-03FB-11D8-B460-0005029FC1A7@myrealbox.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Josh,

Even though I'm very much a novice at PostgreSQL, SQL in general, and
the full ramifications of the relational model, I've read as much as I
can of the writings of Pascal, Date, and Darwen (short of buying some
of their books, which I'm hoping to do when I get back to the States
during the winter holidays). So my curiosity was piqued when I read
these comments of yours:

On Friday, Aug 22, 2003, at 10:40 Asia/Tokyo, Josh Berkus wrote:

> Well, SQL is a very imperfect implementation of relational theory.
> SQL fails
> to implement a lot of Codd's relational calculus, such as distributed
> keys
> and database constraints, as well as making some set operations (such
> as "is
> not a member of" and "is the greatest(col) record of") far more
> difficult and
> inefficient than they need to be.

From what I've read of PostgreSQL, it's a bit closer to true relational
than SQL, or at least you can limit yourself from using some of the
non-relational bits of SQL, such as always using NOT NULL in column
definitions, and using DISTINCT to eliminate duplicates in results
relations. I was wondering if you would share some of techniques you
would recommend using in PostgreSQL to make a database 'more
relational', or know of any sources on the web that I might find more
about this specifically.

Also, I often read about denormalization a database for performance
reasons. My understanding of this is not that normalization is a
problem in and of itself, but that the DBMS hasn't been properly
designed to handle highly normalized databases, which I gather has to
do with the fact the number of joins tends to increase with
normalization. However, I haven't seen much about this with respect to
PostgreSQL, or any particular DBMS, for that matter. Discussion seems
to always be on the theoretical level, though there should be
differences in performance as the engines underlying the different
DBMSs are different. I'd be interested in hearing your views on
practical normalization of PostgreSQL databases, or alternatively know
of places where I might find such discussion.

These are probably pretty big questions. I'm interested in anyone's
views on this, actually. I've addressed it specifically to Josh only
because it was his post that prompted me to ask.

Regards,

Michael

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Josh Berkus 2003-10-21 20:10:20 Re: Almost relational PostgreSQL (was: one-to-one)
Previous Message Tom Lane 2003-10-21 17:27:34 Re: Many joins: monthly summaries S-L--O--W