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

Home -> Community -> Usenet -> c.d.o.server -> Re: To Denormalise or not to Denormalise

Re: To Denormalise or not to Denormalise

From: Billy Verreynne <vslabs_at_onwe.co.za>
Date: 2000/04/26
Message-ID: <3906ce25.1142224491@news.saix.net>#1/1

"Lawrence" <lsimela_at_mahalini.prestel.co.uk> wrote:

>I wonder if any of you folk out there can help settle an argument with a
>colleague who passionately believes that one should never have to
>denormalise any part of a well designed database. He believes that a 'well
>designed' database should be in 3NF or higher and can be efficiently
>implemented without denormalising any part of it.

That entirely depends on the nature of the database. Implementing 3NF for a datamart or data warehouse is commiting performance suicide.

Back in the 80's design methodologies were quite the topic. One of these were called Tetrach. The primary purpose was to gather enough data during the analysis and design phases, in order to simulate performance loads using a maths model. Was interesting back then, as in once case study (part of the advance course in Tetrach A&D) showed that how implementing an invoice in 3NF could cause a business to fail to process a single day's average load of orders (given the existing hardware platform used by the business). Denormalising the invoice solved this performance problem and potentially saved the company from not being able to fill the orders, or spend a lot of money of a very expensive hardware upgrade. Of course, back then we measured memory in KB and not MB or even GB.. :-)

I am not sure what the argument is with your friend though. A well designed database in 3NF is a well designed database if the aim is to create a relational database. No question about that. However, that is only one slice of the pie that makes up a corporate system. From a theoretical point of view, you can view that slice in isoltaion. From a real word business view, you simply can not. A well designed database means nothing the business if it can not deliver - no matter how good or tasty that single slice is, it is the whole pie that is consumed by the business.

regards,
Billy Received on Wed Apr 26 2000 - 00:00:00 CDT

Original text of this message

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