Re: 1 NF
Date: 2 Mar 2007 04:54:09 -0800
Message-ID: <1172840048.990057.166940_at_j27g2000cwj.googlegroups.com>
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:
> >>1NF is irrelevant because any relation is in 1NF by definition.
> > It is relevant for precisely that reason. It sets a
> > precondition.
>
> No. The term "relation" is defined without any mentioning of 1NF. So
> 1NF is not a precondition.
This response is a non-sequitur I think Stefan. A relation does not have to be defined using the term 1NF for it to /be/ in 1NF.I believe Alfredo was stating that using relations as a precondition for your modellling, meant that your data would be inevitably be in 1NF, which is spot on.
>
> --
> Stefan.
My perspective is not that 1NF => relations. Rather the opoosite - that using relations to model propositions enforces 1NF (i.e. I see no reason another data model could be in 1NF even if it did not use relations):
- Using a mathematical relation means that all the propositions collected in that set have to have the exact same structure.
- A relation definition forces each element of a tuple to be /one/ value taken from that attributes associated domain.
- Hence using a relation prohibits an element simultaneously containing multiple values from the associated domain.
- This is what I believe Codd intended when he used the term 'atomic value' (I think there were probably less-ambiguous terms he could have used - "single value" perhaps).
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 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).
It is very hard to debate this though because many often assume that 1NF => relations and MV => NFNF, both of which are wrong. Rather relations => 1NF and NFNF => MV.
Regards, J. Received on Fri Mar 02 2007 - 13:54:09 CET