|
A university uses the following relation:
Student(IDSt, StudentName, IDProf, ProfessorName, Grade)
The attributes IDSt and IDProf are the identification keys.
All
attributes a single valued (1NF).
The following functional dependencies
exist:
1. The attribute ProfessorName is functionally dependent on
attribute IDProf (IDProf --> ProfessorName)
2. The attribute StudentName is functionally dependent on IDSt
(IDSt --> StudentName)
3. The attribute Grade is fully functional dependent on IDSt and
IDProf (IDSt, IDProf --> Grade)
The table in this example is in first normal form (1NF) since all attributes are single valued. But it is not yet in 2NF. If student 1 leaves university and the tuple is deleted, then we loose all information about professor Schmid, since this attribute is fully functional dependent on the primary key IDSt. To solve this problem, we must create a new table Professor with the attribute Professor (the name) and the key IDProf. The third table Grade is necessary for combining the two relations Student and Professor and to manage the grades. Besides the grade it contains only the two IDs of the student and the professor. If now a student is deleted, we do not loose the information about the professor.