

You will find many developers by default applying normalization rules without thinking about the nature of the application and then later getting in to performance and customization issues. When you start your database design the first thing to analyze is what is the natureof theapplication you are designing for, is it Transactional or Analytical. Rule 1:- What is the Nature of the application(OLTP or OLAP)? Below are my own 11 rules which I remember on the top head while doing DB design. Said and done normalization rules are important guidelines but taking them as a mark on stone is calling for troubles. In case you are new to normalization, then click and see 3 normal forms in action which explains all three normal forms step by step. Due this mind set they sometimes hit road blocks as the project moves ahead. They tend to think normalization is the only way of designing. The reason why I am writing a full blown article is, when developers sit for designing a database they tend to follow the three normal forms like a silver bullet. I personally think it has helped me a lot when it comes to DB designing. The below 11 points which are listed are points which I have learnt via projects, my own experiences and my own reading. Rule 11:- For unlimited hierarchical data self-reference PK and F Kīefore you start reading this article let me confirm that I am not a guru in database designing.

Rule 10:- Centralize name value table design.Rule 9:- Multidimensional data is a different beast altogether.Rule 8:- Do not be hard on avoidingredundancy, if performance is the key.Rule 7:- Choose derived columns preciously.Rule 6:- Watch for partial dependencies.Rule 5:- Watch for data separated by separators.Rule 4:- Treat duplicate non-uniform data as your biggest enemy.Rule 3:- Do not get overdosed with rule 2.Rule 2:- Break your data in to logical pieces, make life simpler.Rule 1:- What is the Nature of the application(OLTP or OLAP)?.
