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.

> Are you saying that the "domain of sets" is not a domain either?

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