Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Normalization
"Q: What are the basic guidelines one should keep in mind while
designing a database? Is denormalization always good?
I'm not so sure about that.
To me, the main reason for normalization is to properly think through PRECI= SELY and ACCURATELY what I need to model. The secondary reason was to prev= ent discrepancies between "duplicated" data items. Tertiary to all of that was disk space. But then I started in the '80s, wh= en disk space was becoming much cheaper.
"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:
1 =96 The size of the redundant item
2 =96 The volatility of the item (e.g. how often do I need to duplicate updates)"
I introduce redundancy when it can eliminate lots of joins lots of times, o= r dramatically speed up a critical process. And, yes, I balance that against the cost of making sure that the redundant= data stays synchronized and the database sizing implications.
But doing it to just to avoid an occasional join? No way!
-- 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:28:47 CDT
![]() |
![]() |