Re: Normalization by Composing, not just Decomposing

From: Eric Kaun <>
Date: Mon, 12 Apr 2004 16:16:02 GMT
Message-ID: <6hzec.53531$>

"Dawn M. Wolthuis" <> wrote in message news:c54c6j$cbq$
> "Alan" <> wrote in message
> news:c54a0e$2ohurg$
> > You are assuming that (good) normalization is a science. It is not. It
> > part science and part art- that's where experience (as well as ESP to
> > the user's minds and clairvoiance to predict future needs) comes in to
> play.
> > Oh, it is also part voodoo. Sometimes waving a dead chicken in a paper
> > over your head produces the results you need.
> You are preachin' to the choir-ish -- that's the type of thing I would say
> if I were not trying, oh so hard, to learn what makes relational theorists
> tick and trying, oh so hard, to use the same way of thinking so that I can
> really learn what it is about relational theory that is keeping it the
> of the hill. There are very formalized statements,

I think it's formal, but would expect that any software developer with a bit of patience could understand the math. Date writes in a very clear style, and avoids complex explanations and excessive notations. But sometimes a formula really is worth a thousand pictures (that's from Dijkstra).

> using very mathematical
> terminology and all, that show the process of normalization to be
> np-complete or whatever else makes some folks feel all warm and fuzzy (not
> the mathematical use of the term "fuzzy").

Yes, a close correlation with logic does make me (a programmer) feel warm and fuzzy. I would have thought that if anything were a solid basis for computing, it would be logic. I could, of course, be wrong.

> When I ask what it is about
> relational theory that makes it king, I hear that it is because it is
> on mathematics, including predicate logic.

Specifically a closer correlation with it than other models, which add additional complexity with no additional computational or expressive power. You can still apply logic (different ones) to those data structures, but it's much harder. Witness the mathematical complexities of generalized graph theory, for example. Relational is about avoiding complexity, not adding it. It's not about bondage to mathematics for its own sake.

  • Eric
Received on Mon Apr 12 2004 - 18:16:02 CEST

Original text of this message