I read in a book : "BCNF can be violated only when table contains more than one candidate key."
Consider the following example:
Sn Rollno Name Game
1 u11co098 Robert Basketball
2 u11ce034 Bob Cricket
3 u11co098 Robert Cricket
4 u11me049 Hogart Volleyball
From above table it can be seen that
Sn
is a primary key
FDs
Rollno -> Name
Sn -> Rollno, Name, Game
Now according to statement above table is in BCNF form as it has only one primary key or candidate key.
Isn't FD Rollno -> Name
violating BCNF? (As Rollno
is not a candidate key)