Consider the relation: R(Roll_No, Student_ID, Course_ID) with the following…
2024
Consider the relation: R(Roll_No, Student_ID, Course_ID) with the following functional dependencies:
{Roll_No, Course_ID} → {Student_ID}
{Student_ID, Course_ID} → {Roll_No}
Student_ID → Roll_No
The above dependencies completely describe all functional dependencies of the relation. Identify the highest normal form satisfied by the relation.
- A.
First Normal Form (1NF)
- B.
Second Normal Form (2NF)
- C.
Third Normal Form (3NF)
- D.
Boyce-Codd Normal Form (BCNF)
- E.
Fourth Normal Form (4NF)
Attempted by 11 students.
Show answer & explanation
Correct answer: C
We are given R(Roll_No, Student_ID, Course_ID) with the complete set of functional dependencies:
FD1: {Roll_No, Course_ID} → Student_ID
FD2: {Student_ID, Course_ID} → Roll_No
FD3: Student_ID → Roll_No
Step 1 — Find the candidate keys. Course_ID never appears on the right-hand side of any FD, so it cannot be derived and must belong to every key. Computing attribute closures: {Roll_No, Course_ID}⁺ = {Roll_No, Course_ID, Student_ID} (using FD1) = all attributes, and {Student_ID, Course_ID}⁺ = {Student_ID, Course_ID, Roll_No} (using FD2 or FD3) = all attributes. Both are minimal, so the candidate keys are {Roll_No, Course_ID} and {Student_ID, Course_ID}.
Step 2 — Identify prime attributes. Roll_No, Student_ID and Course_ID each appear in at least one candidate key, so ALL three attributes are prime; there are no non-prime attributes.
Step 3 — Test the normal forms. Since every attribute is prime, there can be no partial or transitive dependency of a non-prime attribute, so the relation is automatically in 1NF, 2NF and 3NF. Checking 3NF formally: a relation is in 3NF if for every non-trivial FD X → A, either X is a superkey OR A is a prime attribute. FD1 and FD2 have superkeys (candidate keys) on the left, and FD3 (Student_ID → Roll_No) has the prime attribute Roll_No on the right — so every FD satisfies the 3NF condition. The relation IS in 3NF.
Step 4 — Test BCNF. A relation is in BCNF only if the left-hand side of every non-trivial FD is a superkey. FD3, Student_ID → Roll_No, has Student_ID alone on the left, and {Student_ID}⁺ = {Student_ID, Roll_No}, which is NOT all attributes. So Student_ID is not a superkey and FD3 violates BCNF. The relation is NOT in BCNF.
Conclusion: the relation satisfies 3NF but fails BCNF, so the highest normal form satisfied is the Third Normal Form (3NF).