Re: 1 NF

From: dawn <dawnwolthuis_at_gmail.com>
Date: 2 Mar 2007 08:45:43 -0800
Message-ID: <1172853941.326195.234740_at_s48g2000cws.googlegroups.com>


On Mar 2, 6:54 am, "JOG" <j..._at_cs.nott.ac.uk> wrote:
> On Mar 2, 10:40 am, Stefan Nobis <sno..._at_gmx.de> wrote:
>
> > Gene Wirchenko <g..._at_ocis.net> writes:
> > > "Alfredo Novoa" <alfred..._at_gmail.com> wrote:
<snip>
>
> N.B. That if the domain is {1, 2, 3, 4, 5} the value "{1, 2}" is not
> in this domain . This is why an MV approach /using sets/ makes no
> sense to myself.

But the domain of an attribute could include sets, right? The domain could be a sets with elements from the domain of colors, for example. So, if you have {yellow, blue, green} as valid colors, then the domain of an attribute could be all subsets of this set or even all lists composed of elements from this set.

> I have swung wildly in my understanding of 1NF and whether or not it
> made sense to me. I've come out the other side with the belief

It's all religion, brother ;-)

> that
> 1NF is absolutely essential for good data modelling. However I also
> believe that being in 1NF does not necessarily preclude propositions
> with multiple-values (you just couldn't use relations to store them).

Why not use relations to model these propositions? Here is one tuple (add quotes as desired)

Person(John,Doe,[blue, green, blue, yellow],23,4/6/1956) where [...] is a list

> It is very hard to debate this though because many often assume that
> 1NF => relations

which is surely not the case with the old def of 1NF and the mathematical def of relation

> and MV => NFNF, both of which are wrong. Rather

MV is NF2 by the def of NF2. Non-first normal form means that at least nested sets are possible because NF2 takes its queues from the old (still most commonly-used) definition(s) of 1NF. Deciding that 1NF means something different just means that we have overloaded the term and now NF2 refers only to one of these two (categories of) definitions. But yes, by Def MV ==> NFNF aka NF2

> relations => 1NF

That is just a silly redefinition that serves to make it that we do not change our practices to align with our new understanding of theory. Relations do not need to be in 1NF by the original and mostcommonly  used def of 1NF. Let's say instead that we now understand that relations do not need to be in 1NF. I really, really dislike this toying with terms in a way that obscures changes in theory to the detriment of our practices. Once there was a pretty widely agreed upon understanding that the form-formerly-known-as-1NF was not required, we should have said "We don't need to put relations in 1NF anymore."

> and NFNF => MV.

This is also inaccurate IMO. MV is acronym for "MultiValue" which is a trademark (Spectrum International owns it) for those databases that use the Nelson-Pick data model employed by the database formerly known as PICK, among others. But there are other data models, such as M/ MUMPS, the one employed by Caché that are non-first normal form and are not MV. Cheers! --dawn

> Regards, J.
Received on Fri Mar 02 2007 - 17:45:43 CET

Original text of this message