The following relations are used to store data about students, courses, enrollment of students in courses and teachers of courses. Attributes for primary key in each relation are marked by $‘\text{*’}.$
- $\text{students} (\text{rollno*},\text{sname},\text{saddr})$
- $\text{courses} (\text{cno*}, \text{cname})$
- $\text{enroll}(\text{rollno*},\text{cno*},\text{grade})$
- $\text{teach}(\text{tno*},\text{tname},\text{cao*})$
$(\text{cno}$ is course number, $\text{cname}$ is course name, $\text{tno}$ is teacher number, $\text{tname}$ is teacher name, $\text{sname}$ is student name, etc.)
For the relational database given above, the following functional dependencies hold:
- $\text{rollno} \rightarrow \text{sname}, \text{saddr}$
- $\text{cno} \rightarrow \text{cname}$
- $\text{tno} \rightarrow \text{tname}$
- $\text{rollno}, \text{cno} \rightarrow \text{grade}$
-
Is the database in $3^{rd}$ normal form $(3NF)$?
-
If yes, prove that it is in $\text{3NF}$. If not, normalize the relations so that they are in $\text{3NF}$ (without proving).