Consider the following functional dependencies in a database Date_of_Birth →…
2003
Consider the following functional dependencies in a database
Date_of_Birth → Age
Age → Eligibility
Name → Roll_number
Roll_number → Name
Course_number → Course_name
Course_number → Instructor
(Roll_number, Course_number) → Grade
The relation (Roll_number, Name, Date_of_birth, Age) is:
- A.
In second normal form but not in third normal form
- B.
In third normal form but not in BCNF
- C.
In BCNF
- D.
None of the above
Attempted by 104 students.
Show answer & explanation
Correct answer: D
Relevant functional dependencies (restricted to attributes in the relation):
Date_of_Birth → Age
Name → Roll_number
Roll_number → Name
Find candidate keys:
Compute closure of (Roll_number, Date_of_Birth): Roll_number gives Name, Date_of_Birth gives Age, so the closure yields all attributes (Roll_number, Name, Date_of_Birth, Age).
Similarly, (Name, Date_of_Birth) is a key because Name gives Roll_number and Date_of_Birth gives Age.
Therefore the candidate keys are (Roll_number, Date_of_Birth) and (Name, Date_of_Birth). The prime attributes are Roll_number, Name, and Date_of_Birth; the only non-prime attribute is Age.
Check 2NF:
Date_of_Birth → Age shows that a non-prime attribute (Age) depends on a proper subset (Date_of_Birth) of a candidate key. This is a partial dependency, so the relation violates 2NF.
Conclusion:
Because the relation violates 2NF, it is not in 2NF, and therefore not in 3NF or BCNF.
Additionally, Roll_number → Name (or Name → Roll_number) with Roll_number (or Name) not being a superkey would also violate BCNF, reinforcing that BCNF does not hold.
Final answer: None of the above.
A video solution is available for this question — log in and enroll to watch it.