Re: Normalization : To Codd or not

From: Teresa A Larson <larson_at_sled.gsfc.nasa.gov>
Date: 28 Oct 1994 14:19:48 GMT
Message-ID: <38r1a4$24q_at_paperboy.gsfc.nasa.gov>


In article <38oi6b$10e_at_usenet.INS.CWRU.Edu>, axy7_at_po.CWRU.Edu (Adithya Yaga) writes:
|>
|>
|> How improtant is normalisation in real world applications involving
|> extremely large amounts of data with complex navigations? At the risk of
|> offending Codd, when can I ignore normalisaton to avoid poor
|> performance.
|> Comments/Real experiences/etc. will be highly appreciated!

This one is sure to start up controversy. First, let me just say that normalization isn't just for purists of realtional theory. Normalizing your database optimizes performance on inserts, updates and deletes. Normalizing your data reduces/eliminates redundancy, which greatly expedites data changing activities and simplifies code for same.

However, it also frequently increases the joins that must be done in order to retrieve/query data. So this is the performance that receives the negative impact. Whether or not you can live with this impact depends entirely on your application -- is it insert/update/delete intenstive or is query performance what you'll be judged on?

I admit to having caved and denormalized for query performance. But I do so with careful consideration of what the improved query performance is costing me elsewhere in the system. I think totally disregarding normalization of a database would lead to a confusing system to maintain -- might even be a nightmare. I don't think you'll get a pat answer to this question. Just be aware of the trade-offs you are making and deal with it on a case-by-case basis, but don't throw normalization out the window.

Off my soap-box.

				Good luck,
				Teresa Larson
Received on Fri Oct 28 1994 - 15:19:48 CET

Original text of this message