Re: Help! I can't support normalization

From: Leandro Guimarães Faria Corsetti Dutra <lgcdutra_at_terra.com.br>
Date: Fri, 08 Nov 2002 18:20:44 +0100
Message-ID: <aqgrpd$9p562$1_at_ID-148886.news.dfncis.de>


David Cressey wrote:

> I'm going to play devil's advocate on this one. It is NOT true that
> you "must" normalize in every situation, for every database. I have
> built databases that are not fully normalized, and that meet the
> needs quite well, thank you.

        That depends on the needs, obviously. Without normalising you can never be sure of data integrity, but I wouldn't ever rule that out as a fundamental need.

> However, just because they weren't
> fully normalized doesn't mean that they were designed without
> discipline. It's just that there's more than one discipline you can
> follow.

        Yes, but some are saner than others…

> Second, even in cases where it's advisable to normalize, there is no
> single pat answer to the question "why?" The single most general
> answer, "because my database guru told me to" will not persuade
> anybody.

        No, the single most general answer is "to keep data consistent thru the elimination of duplication and update anomalies". Your "single most general answer" would just prove a lack of fundamental knowledge in the field.

> And so it goes. In your own case, you might have to think a little,
> at first, to come up with the anomalies. In some cases, there are
> counter arguments, and sometimes those arguments will prevail,
> because the counter arguments are more relevant to the application.

        To an application perhaps, but never to the data. Because developers tend to thing on programs only, and forget about data itself, specially about its interactive end user, it is a problem. Also developers tend to forget it is nearly impossible to deal with integrity constraints in program code, and that declarative constraints at the database are essential.

        But if you go over each normal form, each one has a general applicability and a specific class of problems it avoids. It might be nice to spend some time in a seminar to explain this to developers.

-- 
  _
/ \ Leandro Guimarães Faria Corsetti Dutra        +41 (21) 216 15 93
\ / http://homepage.mac.com./leandrod/        fax +41 (21) 216 19 04
  X  http://tutoriald.sourceforge.net./      Orange Communications CH
/ \ Campanha fita ASCII, contra correio HTML      +41 (21) 644 23 01
Received on Fri Nov 08 2002 - 18:20:44 CET

Original text of this message