Re: Normalization

  • From: Jared Still <jkstill@xxxxxxxxxx>
  • To: Oracle-L Freelists <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 29 Jul 2004 10:08:56 -0700

On Thu, 2004-07-29 at 08:32, Paul Baumgartel wrote:

> Q:  What are the basic guidelines one should keep in mind while
> designing a database? Is denormalization always good?
> A:  I used to teach database design in graduate school, and your
> question is excellent! The main purpose of high normalization was the
> reduction of disk space, back when it mattered in the 1970s.
> Today, I always introduce redundancy into the model whenever it can
> eliminate an SQL join, but not always. I make my decision based on two
> criteria:

I must disagree with this.

*) normalization is to remove redundancy, not to save disk space.
By doing so, you will also eliminate update/delete/insert anomalies
introduced by the denormalized design.  

*) 'denormalizing' for performance is a myth IMO.  It may have been
true in the dark ages, but no more.  By making some query faster by
denormalizing, where else in your app might you be hindering

Huge amounts of resources have been poured in to the 
Oracle RDBMS to make it efficient at joining tables.

Why try to subvert it?

*) I'll take it even farther.  Some folks denigrate the idea of going
to fifth normal form.  Sure, it is more difficult to drive out to
this level when modeling, but it will eliminate data problems down the
road.  Wish I had an example, but it's been awhile since I've done any
serious amount of modeling, (not for A&F, they insisted I was too heavy
and didn't have enough hair. The nerve) so it would require some 
review on my part.  No time for that.


Please see the official ORACLE-L FAQ:
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
Archives are at
FAQ is at

Other related posts: