Re: Define "flatten database" ?

From: Dawn M. Wolthuis <dwolt_at_tincat-group.comREMOVE>
Date: Sun, 30 Jan 2005 20:54:16 -0600
Message-ID: <ctk6l0$tfm$1_at_news.netins.net>


"Alan" <not.me_at_rcn.com> wrote in message news:365jjsF4nn7hlU1_at_individual.net...
>
> "Dawn M. Wolthuis" <dwolt_at_tincat-group.comREMOVE> wrote in message
> news:ctjk9u$h1u$1_at_news.netins.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?
>>
>> Yes, you are always welcome!
>>
>> > 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 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.
>>
>> Yes -- thanks, you clearly were tracking with me and it looks like Alan
> now
>> understands this point too. He wants to say that when you flatten you
>> ALWAYS are denormalizing, which seems to me to have a semantic problem,
> but
>> otherwise I understand that point. If you start with data that are not
>> normalized, do we say we are denormalizing if we introduce more
> redundancy?
>> Or should we reserve the term "denormalize" for times when we start with
>> data that are at least in 1NF and head to a structure that is not? I'm
>> OK
>> either way, but it makes a difference in whether I can give a counter
>> example to Alan's claim or simply agree with it.
>
> Let's reserve "denormalizing" for occasions when we start with data that
> is
> at least 1NF.

I thought you might prefer that, so we then can come up with the counter-example you requested showing that flattening data is not always "denormalizing", right? We can be flattening the data by moving from one unnormalized structure to another.

> Otherwise, we are "reorganizing". Actually, what say we not
> use "flatten" at all?

You need not use it, but I will continue to for this simple reason -- it is a visual term and even if the theory isn't clear to everyone immediately regarding whether data are being normalized, denormalized, both or neither, when used in context, I suspect most would understand that such "flat" data would fit cleanly into a single worksheet in Excel.

> We are either normalizing (always moving up the
> normalization steps), denormalizing (always moving down the steps), or
> renormalizing (either a sideways move in normalization or correcting an
> error that does not make substantial changes), or reorganizing (working
> with
> NNF data, but not normalizing it).

Those terms work for me and I doubt I'll ever again attempt to explain any relationshiop between the words "normalize" and "flatten" -- I've learned my lesson on that ;-) but thanks for tracking it through until you understood my comments -- much appreciated.
Cheers! --dawn Received on Mon Jan 31 2005 - 03:54:16 CET

Original text of this message