Consider the relation and following functional dependencies: R(id,name,date,rollno,class) FD: {id→name,
Consider the relation R(id, name, date, rollno, class) and the functional-dependency set F = {id → name; {rollno, id} → {class, date}; class → date; class → id; name → id; name → rollno}. Which of the following is a canonical (minimal) cover of F?
Answer: A. {id→name, rollno,id→class, class→date, class→id, name→id, name→rollno} — ConceptA canonical cover must be equivalent to the original functional-dependency set. Every dependency has one attribute on its right-hand side, no left-hand…
- A.
{id→name, rollno,id→class, class→date, class→id, name→id, name→rollno}
- B.
{id→name, rollno,id→(class,date), class→date, class→id, name→rollno}
- C.
{id → name, rollno → class, class → date, class → id, name → id, name → rollno}
- D.
{id→name, class→id, name→id, name→rollno}
Attempted by 133 students.
Show answer & explanation
Correct answer: A
Concept
A canonical cover must be equivalent to the original functional-dependency set.
Every dependency has one attribute on its right-hand side, no left-hand side contains an extraneous attribute, and no dependency is redundant.
Application
Split {rollno, id} → {class, date} into {rollno, id} → class and {rollno, id} → date.
Compute the closure of {id}: id → name and name → rollno give rollno; with id and rollno, the original dependencies give class and date. Thus rollno is extraneous in both composite left-hand sides, yielding id → class and id → date.
Remove id → date because id → class followed by class → date already implies it. The remaining dependencies are id → name, id → class, class → date, class → id, name → id, and name → rollno.
Cross-check and contrast
The reduced set implies every original dependency. Conversely, removing any dependency from it loses part of the original closure.
The offered set containing {rollno, id} → class retains an extraneous determinant attribute.
The offered set containing {rollno, id} → {class, date} keeps a non-singleton right-hand side and does not list name → id.
The offered set containing rollno,→{class, date} has a malformed determinant and does not list class → id.
The offered four-dependency set does not contain a dependency that derives class or date.
Result: the canonical cover is {id → name, id → class, class → date, class → id, name → id, name → rollno}. None of the supplied options equals this set.