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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!