Re: Lucid statement of the MV vs RM position?

From: dawn <dawnwolthuis_at_gmail.com>
Date: 2 May 2006 06:20:19 -0700
Message-ID: <1146576019.089076.315770_at_u72g2000cwu.googlegroups.com>


Jon Heggland wrote:
> David Cressey wrote:
> > In Ted Codd's 1970 paper, he points out that when a system of relations is
> > devised to store a body of facts, there are other systems of relations that
> > will express precisely the same body of facts. He then points out that
> > within a group of such systems that are all logically equivalent, there
> > will be (at least) one that contains no sets, lists, or RVAs as elements of
> > a tuple.
>
> ...on two conditions:
>
> "(1) The graph of interrelationships of the nonsimple
> domains is a collection of trees.
> (2) No primary key has a component domain which is
> nonsimple.
> The writer knows of no application which would require
> any relaxation of these conditions."
>
> Other writers claim they *do* know of such applications, however, and
> have proposed (semi-)formal guidelines for identifying cases where RVAs
> may be appropriate.

Yes, but what about the use of RVAs even when the application could be implemented with simple domains? For example, we model data for XML documents for data exchange using multivalues even if we could do otherwise. Are there best practices for that? Would any of those best practices be applicable to modeling persisted data as well? If data for exchange is persisted (perhaps in a database such as IBM Viper when that comes out), it would make sense that the best practices for modeling data for exchange and persistence would overlap, right?

> > In c. 1992, C.J.Date redefined 1NF to permit RVAs as elements. Not
> > everyone follows Date's definition. In particular, some introductory
> > material to the RDM still teaches 1NF, 2NF, and 3NF as they were defined in
> > the 1970s and 1980s.

Quite a bit of it does, even if nodding to RVAs, OO, XML, while taking digs at network and hierarchical structures. CS and CIS/MIS majors often graduate knowing how to "normalize" data, but ask them what the difference between master, transaction, and code files or tables might be and they draw a blank (yes, that was a really old fashioned and non-academic thing to say).

> *Most* do, I think---with the obvious weakness that they don't really
> define what atomic/simple domains are, or why it matters. Do you know of
> any textbooks apart from Date's that uses Date's definition?

I don't, but I haven't seen them all.

> And of
> course, some introductory material teach yet another 1NF definition.
> Caveat lector, and think for yourself. (BTW, there isn't much
> disagreement on 2NF and 3NF, is there? Nor much interest, I think...)

The disagreement would be on whether to teach them. I think many people do because it has an academic air about it to teach how to move from 1NF to 2 to 3 to BCNF..., but in practice you can start with BCNF (skipping the old 1NF).

> > I hope the above summary can save a few iterations in the newsgroup.

Me too. Thanks. --dawn Received on Tue May 02 2006 - 15:20:19 CEST

Original text of this message