Re: sql views for denomalizing

From: David Cressey <david.cressey_at_earthlink.net>
Date: Sat, 30 Jul 2005 20:19:27 GMT
Message-ID: <jhRGe.474$ns.348_at_newsread1.news.atl.earthlink.net>


"Marshall Spight" <marshall.spight_at_gmail.com> wrote in message news:1122753267.167221.178610_at_g47g2000cwa.googlegroups.com...

> Some phrasings of 1NF say this, and some just say "no repeated groups."
> I've pretty much reached the conclusion that 1NF doesn't really mean
> anything and isn't grounded in any particular theory. With, say,
> 2NF, 3NF, and BCNF, you can point to the specific redundancy, and
> the specific update anomalies. Can anyone do that with 1NF? It just
> doesn't seem to fit with the other normal forms.

There are no update anomalies associated with NFNF data. The problem with NFNF data is an access anomaly,
not an update anomaly. The exact description of the access anomaly is rather involved, but the gist of it is
captured by my comment over in another thread, concerning the difference between two columns named "Language2" and "Language3".

What I was really asking, in that other thread, was whether those two columns were a repeating group, masquerading as 1NF data. I think, although I'm not sure, that your response identifying my response as addressing the semantics is correct.

Interestingly, no one thought to ask me why I didn't include "Language1" in my discussion.

Moving right along, the biggest problem with normalization "rules" is that they have been presented as prescriptions (or proscriptions) when they should really be treated as descriptive. This whole business of "thou shalt" or "thou shalt not" in design is a bunch of crap, in my book. The better treatment would be: "if you do x, then be prepared for y as a consequence." Or, alternatively, "if y is a problem that you really need to avoid, then avoid doing x".

Moving along again, 1NF is the one place where I differ with Down's Law ("Everybody understands tables just fine.") There are a lot of people who don't understand the difference between tabulated data and crosstabulated data. And they think the difference is trivial. And they store crosstabulated data in an SQL table, and they wonder why using it is so damned difficult. 1NF is related to the difference between tabulation and crosstabulation.

>
> Doesn't dataphor?
>

I don't know jack about dataphor, but when I see the discussion, it always takes me back to Datatrieve, circa 1982.

Interestingly Datatrieve could view data either in a way that I'll call hierarchical or in a way that I'll call "proto relational".

And retrieving data using CROSS (a little like a join) and then turning and stuffing it into a hierarchical report was so-o-o-o-o easy that it was beneath the dignity of snobby "real programmers". I never realized that it was a problem until I tried to do it without Datatrieve.

So much for the "good old days". "well, something's lost, and something's gained, in living every day." Received on Sat Jul 30 2005 - 22:19:27 CEST

Original text of this message