# Re: Normalisation

From: Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be>
Date: Fri, 08 Jul 2005 21:55:15 GMT
Message-ID: <7DCze.140558\$Jn.7313539_at_phobos.telenet-ops.be>

Jon Heggland wrote:
> In article <Ezeze.139544\$p21.7384199_at_phobos.telenet-ops.be>,
> jan.hidders_at_REMOVETHIS.pandora.be says...
>

```>>>>Ah, but now you are using the domain or relations, right? There is a
>>>>problem with that domain. It doesn't exist. The collection of all
>>>>relations is a proper class, and not a set, but domains have to be sets.
>>>
>>>You'll have to educate me on the difference between "proper class" and
>>>"domain", I'm afraid. The term "class" is used for so many slightly
>>>different things.
>>
>>http://en.wikipedia.org/wiki/Class_(set_theory)
```

>
> Call me stupid, but you still have to explain to me why the
> "collection" of relations is not a set. I can't figure out from
> Wikipedia what it is that disqualifies something from being a set.

That's not so easy to explain, but I'll give a hint. Do you know about Russel's paradox? The contradiction that appears when you assume the existense of the set of all sets? A solution to that paradox is to accept that it is actually not a set, at least not in the sense that all the usual axioms of set theory apply to it. In some sense you might say that is is "too large" to be a set. The collection of all relations has the same problem. For more explanation you can probably ask any mathematician at your institute.

Indeed.

> And that relation-valued and set-valued attributes are contradictions in
> terms, since relation and set are not domains?

No. For example the set of all sets of integers is a set and perfectly valid as a domain. The same for the set of relations that all belong to a certain relation type. Usually if you apply a strict typing regime there is no problem.

```>>>Should I be forbidden from treating "relation" as a (generic) domain
>>>when defining this operator? Why?
>>
>>Because by definition it isn't, and redefining the notion of domain such
>>that it is, is not that easy without either running into paradoxes or
>>getting a notion which it is almost impossible to reason about.
```

>
> Can you give me any examples of trouble arising from this? And an
> explanation why the relational operators do not run into paradoxes? Or
> do they?

They are not functions defined over domains. Note that my remark that started this was that the nest operation cannot be defined as a function *over* *domains*. If you drop the latter restriction you can define them without a problem.

• Jan Hidders
Received on Fri Jul 08 2005 - 23:55:15 CEST

Original text of this message