Imagine a locker that requires Two Keys to open: a Student Key and a Course Key.
The Rule: Anything inside the locker must belong to the combination of the Student and the Course.
The Violation: You open the locker and find the "Teacher's Name". Wait! The teacher doesn't depend on the specific student. The teacher depends only on the Course Key. Why is it locked behind the Student Key too?
The Fix: Move the Teacher's Name to a different locker that only requires the Course Key. Now, the 2-Key locker only contains things like "Grade" (which needs both Student + Course).
It prevents weird redundancies. Why repeat the Teacher's Name for every single student? The Teacher belongs to the Course, not the Student-Course pair.
If Key = (Student, Course). "Grade" is okay (depends on both). "Teacher Name" is bad (depends only on Course). Move Teacher to a separate Course table.
"2NF removes which type of dependency?"
Partial Dependency.