Re: does a table always need a PK?
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!
>
> ...
> > 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