I am currently working on this question to identify which normal form it is and so I have to list out the functional dependencies. I worked out the solution but still have questions about it.
In a final-year-project selection process, students are to select one research topic for his/her project. Students are allowed to select the same research topic. For each research topics, supervisors are assigned to supervise it. A supervisor may be supervising up to two different research topics and each research topic may be assigned to different supervisors. For each of the research topic a supervisor supervises, a consultation day is allocated for the student to meet and discuss with the supervisor.
This information of final-year-project selection are stored in the following relational table: FINALYEARPROJECT(supervisor, researchTopic, consultationDay, student)
These is the functional dependencies I listed:
student → researchTopic, consultationDay, supervisor
- student is the candidate key.
supervisor, researchTopic, student → consultationDay
Question 1: From student I can find all the attributes. But then with the (supervisor, researchTopic, student), I also can find consultationDay. However those are just superkey and not candidate key. So should it be a dependency?
Question 2: Assume my dependencies were correct, I can deduced this relational table to be in BCNF. However in my lecture notes,
The definition of Boyce-Codd Normal Form (BCNF)states that a relation is in BCNF if and only if every determinant is a candidate key.
This is very different from what I found on the net (eg. wiki):
A relational schema R is in Boyce–Codd normal form if and only if for every one of its dependencies X → Y, at least one of the following conditions hold:
X → Y is a trivial functional dependency (Y ⊆ X) X is a superkey for schema R
So now, according to my lect notes, with the dependencies found, the table will not be in BCNF as (supervisor, researchTopic, student) is not a candidate key, it is just a superkey. However if is according to wiki's, then this table will be in BCNF as all the determinants are superkey.So is this table in BCNF?