Database normalization - Creating high performance from the start.Database normalization is not a theory - It is a set of clearly defined rules that, when followed, without exception should give you a much better performing finished system right from the start of your analysis phase.
However, due to the language used in formal definitions of the different Normal Forms, many people have had difficulties in understanding the full concept of database normalization.
And I have to agree; understanding relational algebra, or the formal descriptions of the Normal Forms (which actually are neccessary to cover all aspects), doesn't make it easy.
However, the fun part of it is, that even without the theoretical conciousness of normalization theory, most people normalize their ER models intuitively: You know that the name of your customers should only appear once, and in one place; the CUSTOMERS table. You also know that for each order line, you do not have to calculate the value of the sale. All this, that you actually know, and intuitively practice, is database normalization. We humans tend to be effective, even if we are not always aware of it.
The only problem with this approach, is that when you are not operating in a methodical manner, you might slip a little here and there. That's when problems enter into your analysis and/or design: It is no longer consistent throughout the whole model.
Actually, if you participate in discussion forums, and read all messages for help on various problems, you can see that many of the problems are relating to results of poorly designed and/or denormalized databases.
In today's database theory, we operate with 5 Normal Forms; 1NF through 5NF. In addition, we sometimes refer to Boyce/Codd Normal Form (BCNF), which is a "higher grade" of 3NF, and Domain/Key Normal Form (DKNF), which focuses on database-side constraint definitions. Actually some people are now also talking about a 6th Normal Form, 6NF: Basicly, tables are decomposed into even smaller tables, containing an identifier plus one data column. I won't be discussing that further for now; maybe later ;-)
Free eBookSubscribe to my newsletter and get my ebook on Entity Relationship Modeling Principles as a free gift:
What visitors say...
"I just stumbled accross your site looking for some normalization theory and I have to say it is fantastic.Read more Testimonials
I have been in the database field for 10+ years and I have never before come across such a useful site. Thank you for taking the time to put this site together."
Theory & Practice
SQL Server DBA
Install SQL Server
Database Normalization eBook:
Copyright © www.databasedesign-resource.com / Alf A. Pedersen
All rights reserved.
All information contained on this website is for informational purposes only.
Disclaimer: www.databasedesign-resource.com does not warrant any company, product, service or any content contained herein.
Return to top
The name Oracle is a trademark of Oracle Corporation.