Jon Heggland wrote:
> J M Davitt wrote:
>
>>Jon Heggland wrote:
>>
>>>There is some confusion here on both parts, I think. Any relvar can
>>>have an empty key, regardless of the number of attributes in the
>>>relvar. It follows that such a relvar can have no other keys. A
>>>relvar has a set of (candidate, if you will, but I consider that
>>>term meaningless) keys, in general, but this set cannot be empty
>>>---there is always at least one key.
>>
>>I understand your point about candidate keys; I believe the term
>>is used to distinguish the irreducible set of attributes that hold
>>unique values from the sets of values that comprise superkeys.
>
> In my experience, it is used to distinguish "primary" keys from the
> rest. No matter.
>
>
>>The rest of your post confuses me. I understand that the last
>>sentence refers to a set of keys, but I'm not sure how it is that
>>there is only one key in that set of keys if that key's set of
>>attributes is empty. It seems to me that every attribute would be
>>a key and every combination of attributes would be a superkey. I
>>don't see how an empty attribute key precludes other keys.
>
> "Every attribute" would also be a superkey (speaking loosely). The empty
> set is a subset of every set.
I respectfully suggest the confusion caused by your use of key without
the 'candidate' qualification demonstrates exactly why we have the term.
I suppose irreducible key would do just as well, but for historical
reasons, candidate key already means an irreducible key.
Received on Fri Jun 30 2006 - 17:50:27 CDT