Re: Relation Schemata vs. Relation Variables

From: <brian_at_selzer-software.com>
Date: 24 Aug 2006 20:01:45 -0700
Message-ID: <1156474905.647317.141730_at_i3g2000cwc.googlegroups.com>


Bob Badour wrote:
> paul c wrote:
>
> > paul c wrote:
> >
> >> Bob Badour wrote:
> >>
> >>> paul c wrote:
> >>>
> >>>> Bob Badour wrote:
> >>>>
> >>>>> paul c wrote:
> >>>>>
> >>>>>> paul c wrote:
> >>>>>> ...
> >>>>>>
> >>>>>>> PMFJI, I would say that the VALUE of a candidate key identifies
> >>>>>>> one and only one tuple FOREVER!
> >>>>>>
> >>>>>>
> >>>>>> Stupid me, I have to take part of that back - the value of a
> >>>>>> candidate key obviously could identify several tuples but I still
> >>>>>> think that would hold forever. Might have been better to say the
> >>>>>> value of a candidate key identifies a tuple regardless of time.
> >>>>>
> >>>>>
> >>>>> A candidate key does not identify a tuple. A candidate key is a
> >>>>> constraint on a relvar and not on a tuple.
> >>>>
> >>>>
> >>>> No argument about a candidate key being a constraint. I`m talking
> >>>> about the value of a candidate key. If you can infer the values of
> >>>> the other attributes from that value, I`d say you have achieved
> >>>> identification.
> >>>
> >>>
> >>> And one cannot infer anything from a subset of the attributes when
> >>> one is talking about a tuple. The only thing that identifies a tuple
> >>> is the tuple's value. Just as the only thing that identifies the
> >>> number 5 is the number 5.
> >>
> >>
> >> There must be a subtlety here that eludes me. If a candidate key, k,
> >> of a relation has a value of 1 in some tuple and a tuple in that
> >> relation has a value of {k 1, x 2} then I would say that the value k =
> >> 1 certainly identifies that tuple.
>
> k=1, x=2 identifies that tuple
> k=1, x=3 identifies a different tuple
>
> A candidate key specifies an irreducible subset of attributes which must
> be unique within a relvar. Both tuples {k 1, x 2} and {k 1, x 3} are
> equally valid within the relvar. Just not at the same time.
>

In the interest of precision, Bob, A candidate key specifies an irreducible subset of attributes which must be unique within /any relation/ for a given relvar. There's a huge difference between a relation and a relvar.

>
> > Okay, maybe now I'm seeing the subtlety, if you are talking about the
> > tuple after it's been identified, ie., a tuple in the context of a
> > relation. If I've got that right, I could have been more clear that I
> > was talking about identifying a tuple within a relation.
>
> A relation is a value, which means it is identified by that value. The
> concept of a candidate key is pretty much meaningless with respect to
> relations. What is irreducible for a relvar may very well be reducible
> for the relvar's current value.
>
>
> Your emphasis
> > on language precision, which some people might call pedantry, hurts my
> > head, but I suppose it's necessary and I really shouldn't complain if
> > the theorists are to find any common ground with the hackers (or if the
> > hackers are to get their act together).
>
> I am not even sure what you are saying above. This is a precise field.
> If you do not understand what a tuple is, you will not understand much
> of anything in this field.
Received on Fri Aug 25 2006 - 05:01:45 CEST

Original text of this message