Re: Normalisation
From: Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be>
Date: Tue, 05 Jul 2005 21:31:02 GMT
Message-ID: <q_Cye.138126$Kn.7314565_at_phobos.telenet-ops.be>
>
> Does the common substring operation treat a string as non-atomic?
>
> 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.
>
> 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."
Date: Tue, 05 Jul 2005 21:31:02 GMT
Message-ID: <q_Cye.138126$Kn.7314565_at_phobos.telenet-ops.be>
Jon Heggland wrote:
> In article <PwBye.138032$Nn7.7012386_at_phobos.telenet-ops.be>,
> jan.hidders_at_REMOVETHIS.pandora.be 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?
No.
>>>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