LWN.net Logo

Re: PostgreSQL and relational.

From:  <lgcdutra@terra.com.br>
To:  Lamar Owen <lamar.owen@wgcr.org>
Subject:  Re: PostgreSQL and relational.
Date:  Wed, 19 Jun 2002 19:58:31 +0200
Cc::  LWN Editor <letters@lwn.net>, Bryan Henderson <bryanh@giraffe-data.com>, DBDebunk Editorl <editor@dbdebunk.com>

Lamar Owen escreveu:
 
 > In reference to your e-mail on the subject of PostgreSQL not being
 > relational, would you mind specifying exactly which of E F Codd's 12
 > rules of the relational model PostgreSQL breaks?
 
        EF Codd's 12 rules aren't all that is to the relational
model. In fact, he expanded these 12 to 40 rules in his 1.990 book
_The_Relational_Model_for_Database_Management.
 
        But furthermore, if you care to read Christopher J Date's
1.999 _An_Introduction_to_Database_Systems_ you will see that the
relational model comprises some basic elements and some principles.
 
        The basic element is the domain, or data type. PostgreSQL
does not really enforces domains because it accepts NULL, which by
definition is not part of any domain. Thus the triplet domain, name
and value called attribute breaks down, and so the tuple -- because it
represents a proposition, and a proposition with missing information
is another proposition, not the one declared in the relation's header
--, and so also the relation breaks down.
 
        Furthermore, the relation is a set, not a bag. A bag
accepts duplicates, but not a relation. So because PostgreSQL does
not enforce the necessity of declaring a candidate key for each and
every table, its tables are not necessarily relations, but quite
possibly and commonly bags of not tuples as shown above, but simply
rows.
 
        Also, the first principle is The Information Principle, where
all the database must be represented by data. Object IDs violate
this, with serious consequences about data independence, which by the
way is necessary to another relational model sine qua non, namely the
separation between user, logical and physical schemas. Also not
properly supported by PostgreSQL.
 
 
 > Using SQL as the language to access a RDBMS does not invalid the
 > relational model used by that RDBMS. Show me the rule(s) broken
 > specifically by PostgreSQL itself, not by SQL in general.
 
        I am not so familiar with the PostgreSQL dialect, but for what
I've seen it does little to nothing to address SQL shortcomings that
disqualify it as an implementation of the relational model.
 
 
 > PostgreSQL meets the qualifications for a relational system as
 > defined by E F Codd and C J Date. Having read Date's work, I find
 > it amusing that you would quote from a site which prominently
 > features C J Date as a contributor.
 
        Perhaps you should read Date more carefully. When he writes
about SQL, he can barely disguise the sarcasm.
 
 
 > You need to take MySQL to task for truly not being relational
according to
 > Codd's 12 rules. :-)
 
        Believe me, I do take MySQL to task, it isn't even up to SQL
level.
 
        But I do think SQL itself is to blame, so until
someone creates a D interface as defined by Date and Darwen to
PostgreSQL or some other DBMS, we're stuck hopelessly behind the
times, more precisely 30 years late as measured by Codd's work
publications.
 
        To be precise, there is an implementation of a valid D, but
it's unfortunately proprietary & expensive:
http://www.alphora.com/tiern.asp?ID=DATAPHOR.
 
 
--
  _
/ \ Leandro Guimarães Faria Corsetti Dutra +41 (21) 216 15 93
\ / http://homepage.mac.com./leandrod/ fax +41 (21) 216 19 04
  X http://tutoriald.sf.net./ Orange Communications CH
/ \ ASCII Ribbon Campaign against HTML email +41 (21) 216 15 93


(Log in to post comments)

Bug in LWN's letter handling code

Posted Jun 20, 2002 9:55 UTC (Thu) by sam (guest, #1329) [Link]

This person has UTF-8 in his signature; however the LWN code explicitly stated that his email was in 8859-1 instead of UTF-8 format.

I would like to see better UTF-8 support; the only other reasonable option is for people to use HTML email.

- Sam

Copyright © 2002, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds