Please consider the following scenario.
We have a 0NF table
StudentTeacherTable:
StudentName StudentDepartment StudentDepartmentAdd TeacherName TeacherDepartment TeacherDepartmentAdd
John CS London Dave Eng, CS Oxford
Mike CS London Dave Eng, CS Oxford
Chris Eng Oxford Dave Eng, CS Oxford
Ideally after normalization I would like to have tables like
Student Table:
StudentName Department TeacherName
John CS Dave
Mike CS Dave
Chris Eng Dave
Teacher Table:
Name
Dave
TeacherDepartment Table:
TeacherName DepartmentName
Dave CS
Dave ENG
Department Table:
Name Address
CS London
ENG Oxford
However, if I follow normalization to the 3NF. I will get
Student Table:
StudentName Department TeacherName
John CS Dave
Mike CS Dave
Chris Eng Dave
DepartmentForStudent Table:
Name Address
CS London
ENG Oxford
Teacher Table:
Name
Dave
TeacherToDepartment Table:
TeacherName DepartmentName
Dave CS
Dave ENG
DepartmentForStudent Table:
Name Address
CS London
ENG Oxford
My question is that in which step in database normalization (1NF,2NF,3NF etc) I can merge/combine the studentDepartement with teacherDepartment columns into one table to derive the normalized form above?
In other words, following normalization rules. I will end up having a StudentDepartment table and a TeacherDepartment table rather than one Department table for both Student and Teacher