Re: Normalisation

From: Jan Hidders <>
Date: Tue, 05 Jul 2005 21:31:02 GMT
Message-ID: <q_Cye.138126$>

Jon Heggland wrote:
> In article <PwBye.138032$>,
> says...

>>>How does a set domain (e.g. the domain of sets of integers) violate 
>>>this? For definiteness, let's associate the normal set operations with 
>>>it---union, intersection, subset, cardinality and so on.
>>By itself it doesn't. Until you start introducing operations that treat 
>>it as non-atomic. Then it does.

> Does the common substring operation treat a string as non-atomic?


>>>How does that help with normalisation?
>>Since it defines atomicity it tells you when you are in 1NF or not. Just 
>>to be clear on this, I regard this discussion separate from the question 
>>whether you actually *should* be in 1NF or not. 

> That is nice to know. I assumed (as is generally done, I think) that
> relations in 1NF are in some sense better than relations not in 1NF (if
> such a thing is possible). If that is not the case, I find this
> discussion rather pointless.

Don't worry. I do believe that relations should preferrably be in this 1NF, but I think we should not do too many things at the same time and first make sure we agree on what it exactly says.

>>>And how can you say a priori that 
>>>a relvar with a set-valued attribute is not in 1NF, if that depends on 
>>>the operators of a particular DBMS?
>>You cannot. 

> Yet you did say "Another option is to treat the field as a set-valued
> field (since it apparently can contain 0 or 1 values) which
> means that you are not in 1NF and should first normalize such that you
> are."

Good point. I'm making the silent assumption here that if you allow nested relations, then you probably also have the nest/unnest relations as are usually found in the nested relational algebra. If you don't have those then you are arguably treating it more as an atomic value than a set value.

  • Jan Hidders
Received on Tue Jul 05 2005 - 23:31:02 CEST

Original text of this message