# Re: No exceptions?

From: J M Davitt <jdavitt_at_aeneas.net>
Date: Sat, 01 Jul 2006 21:52:29 GMT

Jon Heggland wrote:
> J M Davitt wrote:
>

```>>I think I got it.  Am I correct in understanding that JH said,
>>"If an empty candidate key is declared, any other keys are
>>superkeys?"
```

>
>
> That's what I mean, yes.
>
>
```>>I appreciate JH's preference for the terms key and auperkey and
>>think the idea has some merit - everyone seems to understand the
>>uniqueness of key values and his terminology neatly distinguishes
>>keys which are and are not irreducible.
```

>
>
> I believe this is standard terminology. I may misremember or be
> confused; I'll check when I get back to my books on Monday.
>
>
```>>I'm still pondering...
>>
>>Using JH's definitions: if an empty key is declared, any other keys
>>are superkeys.  This would be the case if one presumes that the "no
>>attribute" is also a component of all those superkeys, right?
```

>
>
> That makes little sense. A key is a set of attributes; "no attribute"
> (whatever kind of thing that may be) is never a member of such a set.
> Think sets and subsets!

Absolutely; I should have said "empty attribute set".

>

```>>And
>>I don't understand why that must be so.  Once a key without
>>attributes is declared, the relation value can hold no more than one
>>tuple - but I don't see why every other attribute cannot also be a
>>key.
```

>
>
> (An attribute is never a key; a key is a set of attributes, even if that
> set has cardinality one.) A set of attributes that satisfies the
> uniqueness property is a superkey; it is also a key if no proper subset
> of it also is a superkey. In a relation where the empty set is key, any
> non-empty set (including singleton sets) cannot be a key, because there
> is always a proper subset of it (namely the empty set) that is also a
> superkey.

Thanks.

And thanks to Marshall, too.

[snip] Received on Sat Jul 01 2006 - 23:52:29 CEST

Original text of this message