Consider the relation R, which has attributes that hold schedules of courses and
sections at a university: R= {CourseNo, SecNo, OfferingDept, Credit-Hours,
CourseLevel, InstructorSSN, Semester, Year, Days_Hours, RoomNo, NoOfStudents}.
Suppose that the following functional dependencies hold on R:
{CourseNo} {OfferingDept, CreditHours, CourseLevel}
{CourseNo, SecNo, Semester, Year} {Days_Hours, RoomNo, NoOfStudents,
InstructorSSN}
{RoomNo, Days_Hours, Semester, Year} {InstructorSSN, CourseNo, SecNo}
a. Determine all the candidate keys for R. Show your steps.
b. Is the relation R in BCNF? If not, show all the FDs that violate the BCNF, and
explain why.
c. If R is not in BCNF, use the proper algorithm to find a lossless-join decomposition
of R (under the given FDs) into BCNF relational schemas. Show your decomposition
using a decomposition tree; for each step, indicates the functional dependency used.
Does your decomposition preserve dependencies? Motivate your answer.