Re: Define "flatten database" ?
Date: Sun, 30 Jan 2005 14:31:13 GMT
Message-ID: <Rc6Ld.3992$Ix.764_at_newsread3.news.atl.earthlink.net>
"Alan" <not.me_at_rcn.com> wrote in message
news:36483jF4tcn38U1_at_individual.net...
> I now understand why you understand it the way you do, but flattening is
not
> normalizing. Flattening a relational database is denormalizing. Not all
> denormalizing is flattening, but all flattening is denormalizing- unless
> someone can prove this to be wrong.
I have not wanted to offer a definition of "flattening" because I've never
seen a formal definition of "flat data". I've seen database data contrasted
with "flat files" enough times to have an inkling of what the writers
intended by the term "flat files". And not all writers mean exactly the
same thing. Let me come back to this.
First, a problem with this discussion is that "normalized", "denormalized",
and "flattened" are all being discussed as though they were points (or
directions) along a scale with only one dimension. I don't think so. There
is plenty of data that is neither normalized nor flat, nor anywhere in
between.
When you are faced with complex data rendered in a normalized form, and you
are asked how to flatten it, you might say "denormalize". When you are
asked how to get from New York to San Francisco, you might say "cross the
Hudson". Both are true, but don't really deal with the subject.
Now back to what I think the people who have written about data in "flat
files" meant. Most of the time, the writer was referring to a stream of
records, where all the records were of the same type. Some writers wanted
the records themselves to be "flat records", and some writers meant
different things by that.
By "flat records" some writers meant that no field of a flat record could be
a record. This turns out not to be a very useful distinction.
Other writers meant that a "flat record" could not contain an array of data,
otherwise known as a repeating group. Hence, Dawn's comments.
If there is an actual definition of "flattened", it would be nice to add it
to the glossary. If not, we should just accept that IT argot, like that
of other crafts, has a lot of terminolongy that just came into being without