If X determines Y and Y determines Z, then X must also determine Z. StudentNoàstudentName,address, city, prov, pc, ProgramID,
X Y Z
This situation is not desirable, because a non key attributes depends on another non key attribute.
To fix this problem, we need to break this table into two; one to hold information about the student and the other to hold information about the program. However we still need to leave a FK in the student table, so that we can determine which program the Student is enrolled in.
StudentNo—> studentName,address, city, prov, pc, ProgramID
ProgramID —> ProgramName