Re: does a table always need a PK?

From: Paul G. Brown <paul_geoffrey_brown_at_yahoo.com>
Date: 31 Aug 2003 01:53:28 -0700
Message-ID: <57da7b56.0308310053.73e1085d_at_posting.google.com>


"Heikki Tuuri" <Heikki.Tuuri_at_innodb.com> wrote in message news:<Ovg4b.8$TR6.1_at_read3.inet.fi>...
> Paul,
>
> "Paul G. Brown" <paul_geoffrey_brown_at_yahoo.com> kirjoitti viestissä
> news:57da7b56.0308301443.21c98c43_at_posting.google.com...
> > "Heikki Tuuri" <Heikki.Tuuri_at_innodb.com> wrote in message
> news:<q593b.818$n62.433_at_read3.inet.fi>...
> > > I have said that the concept of an 'RDBMS' is vague. Lee Fesperman and
> Bob
> > > Badour say it is not vague.

> > This all boils down to the fact that what it is you mean by the term
> > 'RDBMS' is not what Lee & Bob (et al) mean by 'RDBMS'. In common with a
> lot
> > of folk, you are using the term 'RDBMS' to refer to a class of server
> > software which employs some variant of SQL and is used to manage data
> > shared by application users. Bob, Lee and others use the term 'RDBMS'
> to
> > refer to an idealized product built in accordance to the principles
> > of the 'relational model'.
>
> surely you know that Codd's relational model is different from Date's
> relational model. Thus you should not talk about 'the relational model'.

   Which is exactly why I put it in quotes, and referred later in the    post to 'flavors' of the model. It was a mistake not to capitalize    'relational model' here.

 [ snip ]

> > Now, although the relational model is not 'unambiguously' defined
> > we can reason about each of its various flavors. Whether or not a
> specific
> > view is updateable, for example, is a question that can be decided
> within
> > any of the various relational models.
>
> Well, I guess that in many models it is undecidable. That means there is no
> mechanical algorithm to decide if a view is theoretically updateable or not.

    In the first place, there aren't that many complete conceptualizations of    the Relational Model (note the caps) out there, so it isn't really fair    to say that there are 'many models'. In general you need to say things    about the way domain operators behave, as is being explored on another    thread. Besides - if your model is insufficient to let you safely    establish that a view is updateable, then in theory the view is not    updateable (this is perfectly decidable) and viola! by not letting it    be updateable are compliant with Rule # 6!

   If the formal system provides all the necessary mechanics then it    ought to be decidable. But in practice getting all of the mechanics    down is very hard.     

>
> ...
> > So: your concept of an 'RDBMS' (and the concept used by Codd when
> > formulating the Twelve Rules) is vague. But Lee & Bob's is not.
>
> Good. Please show us where the concept used by Lee or Bob is formally
> defined. Lee talks about satisfying Codd's 12 rules. Where are the following
> formally defined?

    Codd's Twelve Rules refer to relational implementations, which exist,    and can be judged according to the criteria he sets out. The Relational    Model (note the capitals) does not exist in the same sense: it is nothing    more than a (well, several really) sets of formal definitions. Any decent    text on the topic will describe them (or at least, one author's version    of them.)

     That said, to the extent that a DBMS fails Codd's rules, it falls short    of being 'relational' (note the capitals) in the system sense. This is    different from the way all 'R'DBMS systems fall short (I'm not going to    say SQL-DBMSs here because SQL is not the only query language out there    and Quel tables can also have duplicate rows) of implementing the    Relational Model. At the time Codd wrote down his rules a great crowd of    companies had begun marketing their product as 'relational' (it was a    buzz-word). Codd wanted clarity. So he wrote down his rules.     

  [ snip ]

   KR

    P "reservior sampling's a tricky, 2-AM hackin' thing, man" b Received on Sun Aug 31 2003 - 10:53:28 CEST

Original text of this message