Re: Define "flatten database" ?

From: Alan <not.me_at_rcn.com>
Date: Sun, 30 Jan 2005 09:19:33 -0500
Message-ID: <3648pkF4uctngU1_at_individual.net>


"Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message news:WPWKd.8976$tX7.741404_at_phobos.telenet-ops.be...
> Dawn M. Wolthuis wrote:
> > "Alan" <alan_at_erols.com> wrote in message
> > news:35vdofF4rvh8nU1_at_individual.net...
> >>"Dawn M. Wolthuis" <dwolt_at_tincat-group.comREMOVE> wrote in message
> >>news:ctdn9o$7sq$1_at_news.netins.net...
> >>>"DA Morgan" <damorgan_at_x.washington.edu> wrote in message
> >>>news:1106859773.807419_at_yasure...
> >>>>silversw2000_at_yahoo.com wrote:
> >>>>>
> >>>>>Can someone define "flatten database" for me, in 100 words or less
(OK
> >>>>>500 words is fine).
> >>>>
> >>>>Denormalize.
> >>>
> >>>I would guess "normalize" is more likely. [...]
> >>
> >>Flattening is DEnormalizing. Period.
> >
> > OK, I'd vote for both terms being incorrect. It is not denormalizing
> > because it is starting with non-1NF data -- agreed? And it is not
> > normalizing because, well, it clearly isn't (the key, the whole keyu and
> > nothing but the key ...).

>

> Can I try to bring some light here?
>

> Some database texts actually do treat the step from NFNF (or UNF or
> non-1NF or whatever you want to call it) to 1NF as the first step of the
> normalization process which makes it valid to call this step
> "normalization". Note that normalization means in general that you are
> transforming something such that it afterwards adheres to a certain
> normal form, i.e., a form in which it satisfies certain criteria, and
> that is of course exactly what is happening in this step. So the term
> "normalization" is certainly justified and correct.
>
> However, it is also defendable to classify it

What is the "it" you are referring to? I can't tell.

> as denormalization since
> one of the goals of normalization was to remove redundancy, but
> flattening the database may actually introduce redundancy, which sets it
> somewhat apart from the other steps. Since in industry the term
> normalization is often loosely used synonymously with any form of
> restructuring of the schema that removes redundancy, it then makes sense
> to see it as denormalization. But, from an academic point of view that
> is not strictly correct. Obviously, *defining* flattening as
> denormalization is clearly wrong, even under the latter interpretation,
> since not all denormalization is flattening.

I believe your conclusion to be illogical. It is not as simple as A>B, therefore B< A. While all denormalization is not flattening, it does NOT follow that all flattening is not denormalization. All flattening of a relational database is denormalizing. Show me an example that proves otherwise, and I'll happily have learned something.

>

> To close off a small test question for those who really understand the
> subject: Introductory database texts sometimes differ in how to get to
> 1NF: in some cases they tell you to immedeately split off the nested
> columns into separate relations (thus avoiding redundancy) and in others
> the relation is merely flattened and the splitting off is postponed to
> the later normalization steps. So the question is this. Can we always
> use both approaches and if we can does it matter for the end result
> which one we take?
>
> -- Jan Hidders
Received on Sun Jan 30 2005 - 15:19:33 CET

Original text of this message