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:

  1. A.

    In second normal form but not in third normal form

  2. B.

    In third normal form but not in BCNF

  3. C.

    In BCNF

  4. 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:

  1. 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).

  2. 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.

Explore the full course: Gate Guidance By Sanchit Sir