Practice free →
HomeGATE CSEcomputerscienceDatabase Management Systems › In `Enroll(studentId, courseId, studentName, gra…

In `Enroll(studentId, courseId, studentName, grade)` with PK = (studentId, courseId), the FD `studentId → studentName` is

Aa partial dependency on the primary key; 2NF requires splitting it out
Ba transitive dependency on the primary key; 3NF requires removing it
Ca BCNF violation because studentId is not a candidate key
Dtrivial and can be ignored in any normal form
Answer & Solution
Correct answer: A. a partial dependency on the primary key; 2NF requires splitting it out
studentId is a proper subset of the composite PK (studentId, courseId), and it functionally determines a non-key attribute (studentName). That is the textbook definition of a partial dependency, which 2NF specifically forbids. It is NOT transitive (no intermediate attribute) and not yet a BCNF issue (which uses candidate-key talk).
Solve this in the app — GATE CSE practice & 24k+ MCQs →
Related questions