Database Normalization Page 3
Third Normal Form prohibits transitive dependencies. A transitive dependency exists when any attribute in a table is dependent on any other non-key attribute in that table.
Consider the following example CourseSections Table:
| CourseID | Section |
ProfessorID | ProfessorName |
| 3100 | 1 | 6789 | David |
| 1300 | 1 | 6789 | David |
The professor is uniquely identified by the CourseID and Section of the course. However, ProfessorName depends on ProfessorID and has no relation to CourseID or Section.
This data is properly stored as follows:
Professors
Table
| ProfessorID | ProfessorName |
| 6789 | David |
CourseSections Table
| CourseID | Section | ProfessorID |
| 3100 | 1 | 6789 |
| 1300 | 1 | 6789 |
By splitting the data into two tables, the transitive dependency is removed.
Taking the original design of the CourseSections table introduces the chance that ProfessorName may be Corrupted. Perhaps, on the second row the ProfessorName is entered as Davif, a simple typo. Since there is no such professor Davif, there would be a problem.
Original date of publication, 02/21/2001
