Talk:Third normal form
From Wikipedia, the free encyclopedia
Archives: 1
[edit] Inconsistent Examples
An example of an un-normalised table should be given in the 1NF article. The same example should be continued, and the evolution of this non-NF table to a 3NF table(s) should be clearly shown in the subsequent 2NF and 3NF articles. This will improve the quality of each article, and help novice users and or beginners to database normalisation in clearly understanding the difference between 1/2/3NF and the steps needed to convert one to another.
someusername222 00:17, 26 Feb 2008 (GMT)
- Fixed an error in the article:
- Saying that "No non-prime attribute of the table is transitively dependent on a candidate key" is faulty from two perspectives.
- 1) A candidate key? What key? That of the relation?
- 2) If its a superkey then, but not a candidate key (which has the further property of being a minimal superkey), then what??? Can't the relation be in third normal form then? Yes it can, because the definition is on "every key of R", no matter if its strictly a superkey or furthermore a candidate key.
-
- What was meant by the original version of the definition, which I admit was somewhat poorly phrased, was that there is no instance in which any non-prime attribute of the relation is transitively dependent on ANY candidate key of the relation. This is indeed equivalent to saying that every non-prime attribute is non-transitively dependent on every key (candidate as well as super). I am happy with your change because, having checked the Codd original, I see that your way of expressing it more closely matches Codd's. However, you have also applied a change to the definition of "non-prime attribute": you say that "a non-prime attribute is an attribute that is not a key in the relation". This should instead say that a non-prime attribute is one that does not belong to any candidate key of the relation. (Codd's definition - I've changed the text accordingly and provided a citation.) --Nabav (talk) 12:59, 1 March 2008 (UTC)
iTommy 14:56, 8 May 2007 (UTC)
- The trouble is that although beginners typically believe that a table is normalized step-by-step into 1NF, then into 2NF, then into 3NF, etc., actually this is not the case. Normalization is not an iterative process. There is no evolution. It's very important that novices understand this, rather than having the misconception reinforced. For a deliberately contrived example in which we pretend it is an iterative process, see the Database Normalization article; but as a general rule the examples ought not to imply that a designer visits the lower normal forms one by one on the way to the higher. --Nabav 19:36, 10 May 2007 (UTC)

