Question of the Day One
For the next week, I will be on vacation and then when I return I have a big project that needs my full attention. However, being dedicated to blogging daily I thought it might be an interesting little journey for remainder of the month of August would be to post a question of the day with the answer. I am not trying to steal any thunder from the SQL Server Central QotD where you test your skills for points against the world. This will be simply an exercise in SQL learning.
So let us begin with day one…
What is normalization?
In simplest terms it is the organizing of data in a relational database to reduce the duplication of data. In order to accomplish this we would split one large record entity into smaller tables that are linked by their relationship. For example, if you had a simple database that stored orders of widgets. You would have a table that contained customer data and a table for order information. You would not want to store customer contact information in each record of the order table. There would be one customer record and then possibly multiple order records linked by a customer ID field to ensure a relationship and preventing you from redundant customer contact information in each order record. However, to the user who receives an invoice that contains his order and his contact information the data seems to be one contiguous unit.
Just in case you did not know, this theory was pioneered by E. F. Codd in 1970. Enjoy!