| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Relation Schemata vs. Relation Variables
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 Thu Aug 24 2006 - 20:16:57 CDT
![]() |
![]() |