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

This article was originally published on Feb 8, 2008
Page 3 of 3

Thanks for your registration, follow us on our social networks to keep up-to-date