Friday, February 18, 2011

De-Normalization Guidelines

As I was reading thru an article on denormalization I came across these steps that are guidelines to decide on what would be an candidate to denormalize. Wanted all of you guys also to know...


Three general guidelines to denormalization

First, perform a detailed view analysis in order to identify situations where an excessive number of table joins appears to be required to produce a specific end-user view. While no hard rule exists for defining "excessive," any view requiring more than three joins should be considered as a candidate for denormalization.  Beyond this, system performance testing by simulating the production environment is necessary to prove the need for denormalization.

Second, the designer should attempt to reduce the number of foreign keys in order to reduce index maintenance during insertions and deletions.  Reducing foreign keys is closely related to reducing the number of relational tables.

Third, the ease of data maintenance provided by normalized table structures must also be provided by the denormalized schema.  Thus, a satisfactory approach would not require excessive programming code (triggers) to maintain data integrity and consistency.

Source link : http://www.siue.edu/~dbock/cmis564/denormal.htm