Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Normalization

Re: Normalization

From: Jared Still <jkstill_at_cybcon.com>
Date: Thu, 29 Jul 2004 10:08:56 -0700
Message-Id: <1091120936.30520.317.camel@poirot>


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 performance?

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.

Jared



Please see the official ORACLE-L FAQ: http://www.orafaq.com

To unsubscribe send email to: oracle-l-request_at_freelists.org put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
Received on Thu Jul 29 2004 - 11:57:46 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US