Database Normalization.

I have learned the basics of MySQL database and am working on that but it looked somewhat inconsistent . Googled a bit and came to know that there is a whole new concept called database normalization , i was not able to get some good material on that topic can any one explain in short what is normalization , its base concepts and any links or books for further reading. Thanks .
 
Normalization is not a new concept. It's the process of structuring your tables so that there is minimum redundancy. Normalization is achieved trough normal forms e.g. 1NF, 2NF, etc (you can google them).

Wikipedia link
 
FYI there is loads of information on Normalization available online - Let me google that for you

Reducing redundancy is obviously the main aim but too much normalization is a bad thing too. For e.g., when a simple select query uses a large number of joins, the responsiveness of the database server is going to go down.

I would suggest going to through the different sites you get from the above link I posted.
 
Write out the columns on separate pieces of paper and imagine the best way you can arrange all of them, so it is easy for you to pull out one unit row from anywhere.
 
^ It isn't about how many, but more like what type of joins. It is not a topic that can be explained in a forum post unfortunately, and you will really have to read up
 
There are way too many factors which come into play when you talk about performance. indexes, clustering, partitions. Yes, you should not go mental and normalize the database as much as you can. In most projects, no one normalizes over 2nd or 3rd form. Everything above might have its application in special cases, but is largely not used.
 
Yep. +1 to ^. I spent 8 years learning normalization, selective normalization while designing or modeling databases. Now that I am into BI and data warehousing I have to unlearn the above and learn how to de-normalize the normalized transactional data
 
Reading at your comments I dont think you will ever understand the concepts of normalization , understand this if you are good at normalization and de-normalization most of your queries would be easier to write with minimum joins and minimim lock contention though normalization looks a simple concept on paper and people think they understand that very well but i have seen in last 7 years how badly normalization can go resulting in all those awkwards subquery and self join along with aggregate function.
 
IMO MySQL is the worst DB to start with also try to learn more on Transact SQL along with ANSI.

Sybase gives you the power.
 
Back
Top