![]() |
|||
Database normalization - Creating high performance from the start.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 ;-) In the following keynotes, taken from my eBook on Database Normalization, I give you the formal definitions of the 5 common Normal Forms, and a consideration of disadvantages of denormalization:
Return from Normalization to Database Design home
|
![]() Interview with Donald Burleson
Interview with 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." Mike, USA Free eBookSubscribe to my newsletter and get my ebook on Entity Relationship Modeling Principles as a free gift:![]() WorkshopOn rare occasions, I may perform a Database Design Workshop . Unfortunately, I am currently unable to, but maybe later...Influence meInfluence the content on this site: I want to know what database information you need the most: Participate in my Database Design Content investigation. I would appreciate it if you took the time... |
||
|
Theory & Practice
Database eBooks DB Normalization Analysis Phase Database Keys Software Tools DB Glossary Appl.Architecture Oracle DBA MySQL DBA SQL Server DBA Install Oracle Install SQL Server Proj.Management Oracle Constraint Programming Tips Bookstore Worst DB Designs Internet biz. Website Design Database Normalization eBook:![]() |
|||
|
Copyright © 2004-2010 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. |
|||