Question: DATABASE: Consider the following relation TJ (which stands for tutoring assignments): TJ(TutorId, TLName, TFName, StudentId, SLName, SFName, SubjectId, SubjectName, StartDate). A tuple in TJ may
DATABASE:
Consider the following relation TJ (which stands for tutoring assignments): TJ(TutorId, TLName, TFName, StudentId, SLName, SFName, SubjectId, SubjectName, StartDate).
A tuple in TJ may be: (t1, Smith, John, s10023, Paul, Adams, sub17, Chemistry, 2018-01-11), meaning that the T.A with id t1 and name John Smith is assigned as the T.A for the student with id s10023 and name Paul Adams on the subject Chemistry (with the subject id sub17) starting on 2017-01-11.
It is known that TutorId, StudentId and SubjectId are unique identifiers for t.a students and subjects respectively. Also, no two subjectId should be associated with the same subject name. A T.A can help many students and a student can have many T.As. However, given a specific subject for a specific student, the relation only stores the most recent T.A on that subject for the student.
(a) List all applicable functional dependencies. (Make reasonable assumptions if necessary.)
(b) What is the highest normal form? Why?
(c) If the highest normal form is not BCNF, can you decompose the relation TJ losslessly into component relations in BCNF while preserving functional dependencies? If yes, how. If no, why?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
