I have been studying database design and programming for quite some time now, but I still can't get a grasp of understanding each individual normal form (that is, 1NF, 2NF and 3NF).
Seeing as anytime the data is in Third Normal Form, it is already automatically in Second and First Normal Form, can the whole process actually be accomplished less tediously by fully normalizing the data from the start. I can accomplish this easily by arranging the data so that the columns in each table, other than the primary key, are dependent only on the whole primary key.
Questions
How important is it to understand each individual normal form if we can simply fully normalize the data less tediously by doing what I have described?
What I'm ultimately asking is: Is it important to go through the steps of each normal form when normalizing data, or is it appropriate to just go to Third Normal Form seeing as the result is ultimately the same?
Best Answer
Codd formulated the normal forms as a tool to help evaluate your data model for correctness:
You are absolutely correct that if you design your data model and the resulting schema very well to begin with, it will already be in at least 3rd normal form.
That said, I believe that it is crucial to understand the relational model, and the normalization rules as helping guides. When you say:
You are using the 3rd normal form. A relation in 3NF, must also be in 2NF and 1NF.
You are asking if you need tools to validate your design, which is something no one can answer. If you design a car, will you use available tools to validate that it is safe, fast, and reliable? or will you just trust that your original design achieved these goals without testing it with any tools?