Home › GATE CSE › computerscience › Database 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).
Related questions
The main reasons production DBMSs avoid shadow paging in favour of WAL are that shadow pagWhat is the purpose of a Compensation Log Record (CLR) in ARIES?ARIES recovery is structured as exactlyFuzzy checkpoints differ from naive checkpoints byIn standard log-based recovery, the order of operations isAfter a crash, with checkpointing, the recovery system scans the logA complete log record for a write operation includesPer WAL semantics, a transaction is officially committed at the moment