It’s time to challenge that truism. Sometimes it’s OK to denormalize your database!

When Should You Normalize?

Database normalization protects your data’s integrity. It’s a great idea in many cases, and you should begin any database design endeavor with normalization in mind. If you can normalize your database, go for it! The bottom line is that you should normalize your database unless you have a really good reason not to do so. Normalizing is usually sound design practice. It reduces redundant information, optimizes performance and reduces the likelihood that you’ll have data integrity issues that result from having the same data stashed in different corners of your database.

Some Good Reasons Not to Normalize

That said, there are some good reasons not to normalize your database. Let’s look at a few:

Some Words of Caution

Database normalization is generally a good idea. You should try to follow the principles of normalization when it seems reasonable to do so. But if all indicators point to normalization being too complex to implement, consider an approach that will get the job done while still protecting your data. Finally — if you do choose to stray from the rules of normalization, be extra vigilant about how you enforce database integrity. If you store redundant information, put triggers and other controls in place to make sure that information stays consistent.