Answer: D
To determine the normal form of the relation R(Roll_number,Name,Date_of_birth,Age), let us analyze its functional dependencies (FDs) and candidate keys.
1. Identify Relevant Functional Dependencies
From the given set of FDs, the ones applicable to the attributes in R are:
- Date_of_birth→Age
- Name→Roll_number
- Roll_number→Name
2. Find the Candidate Keys
Let us compute the attribute closures to find the candidate keys:
- (Roll_number,Date_of_birth)+={Roll_number,Date_of_birth,Name,Age}
- (Name,Date_of_birth)+={Name,Date_of_birth,Roll_number,Age}
Since Date_of_birth does not appear on the right-hand side of any FD, it must be part of every candidate key. Thus, the candidate keys of R are:
Candidate Keys={Roll_number,Date_of_birth} and {Name,Date_of_birth}
3. Classify Attributes
- Prime attributes (part of any candidate key): {Roll_number,Name,Date_of_birth}
- Non-prime attribute: {Age}
4. Check for Normal Forms
- Second Normal Form (2NF): A relation is in 2NF if and only if there are no partial dependencies (i.e., no non-prime attribute depends on a proper subset of any candidate key).
Consider the FD:
Date_of_birth→Age
Here, Date_of_birth is a proper subset of the candidate key {Roll_number,Date_of_birth} and it determines the non-prime attribute Age. This is a partial dependency.
Since the relation violates 2NF, it is not in 2NF. Consequently, it cannot be in 3NF or BCNF.
Therefore, the relation is in none of the above normal forms.