How do you know when an SQL database needs more normalization? How do you know when an SQL database needs more normalization? database database

How do you know when an SQL database needs more normalization?


Check out Wikipedia. The article talks about database normalization and the different forms (first, second, third, etc.). Most times you should be aiming for at least third normal form. There are times when you want to relax the rules a bit (it may be too expensive to join multiple tables together so might want to de-normalize a bit) but for the most part third normal form is good.


When you notice you have to repeat the same data, or when you start using single fields as arrays.


While this is a somewhat snarky answer, when you discover that the data isn't sufficiently normalized. There are many resources on the web about the levels (or, more properly, "forms") of normalization, and they more completely describe the forms than I could here. First and second normal forms should be pretty much required. If you aren't at third (or, really, fourth) normal form, you need to have a strong justification as to why.

Check out the Wikipedia article on database normalization.