Course + Subject, then no violation of 1NF, 2NF, and 3NF.
Let’s list out all possible functional dependencies:
|
|
Course + Subject is a candidate key.
Second one that is Course + Lecturer is also a candidate key as we can identify tuples uniquely using it.
However the determinant of the third one cannot be used as a candidate key because it has duplicates.
You cannot make Lecturer as a primary key.
| Now you have a determinant that cannot be set as a primary key, hence it violates BCNF. In order to make the table BCNF table, need to decompose. |
|
Course + Subject, then no violation of 1NF, 2NF, and 3NF.
Let’s list out all possible functional dependencies:
Course, Subject → LecturerCourse, Lecturer → SubjectLecturer → Subject|
“Success - keeping your mind awake and your desire asleep.” — Walter Scott |