Re: Relation Schemata vs. Relation Variables
Date: Fri, 25 Aug 2006 01:16:57 GMT
Message-ID: <dcsHg.1202$9u.16618_at_ursa-nb00s0.nbnet.nb.ca>
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.
> 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 - 03:16:57 CEST