I was studying the article on Database Normalization 2NF in Wikipedia at Wikipedia, when I came across the last example, on tournament winners. There it says that because there is a transitive dependency in the table, it is not in 2NF, and further optimization is needed (like splitting it into further tables) to restore that to 3NF and eliminating chances of data corruption. Can anybody tell me what kinds of ‘corruption’ can creep in to “show the same person from being shown with different dates of birth on different records”?
I was studying the article on Database Normalization 2NF in Wikipedia at Wikipedia ,
Share
Imagine once you insert this row:
and later you insert this (say, by mistake):
As you can see, the same person has 2 different birthdays in this table. What that Wikipedia article says is that the birthday depends on the person, which is not a primary key. This means that the person can repeat and if you don’t pay attention, its dependent attributes (such as birth date) can change.
What you should do is to make another table with the person name as primary attribute and move its dependent data over to that table (such as the person’s birth date). This way, you will avoid the redundant
(name, birthday)tuples and prevent possible corruption (as well as save memory).