Steve Ngai (危 志 荣) KuaLa Lumpur, Malaysia

Reasons for database de-normalization

Consider this case, your site is an e-commerce site and your customer has placed and confirm an order. You don’t need to normalize this table because the data for this table should not be changed (edit or delete). This design provides two advantages:

  • Data Integrity (Security). Changes of data in other tables will not affect the master table.
  • Performance. When you join with many tables, performance will be affected.
  • Other examples when to denormalize: financial transaction, audit log and statistic.

    References

  • http://www.25hoursaday.com/weblog/2007/08/03/WhenNotToNormalizeYourSQLDatabase.aspx