Functional Dependencies and BCNF Consider the following schema:  Students(Id, Name, AdvisorId, AdvisorName, FavouriteAdvisorId) 

What are the functional dependencies here? Ir seems that it would be:

 Id --> Name AdvisorId AdvisorName FavouriteAdvisorId 

If we know the student id then we know his name, his advisor, his advisor id and his favouriteadvisorid. But the correct functional dependencies given are:

 Id ---> Name FavouriteAdvisorId 

 AdvisorId ---> AdvisorName 

Why is this?
Perhaps because a student with two majors might have an advisor in each department, so the ID wouldn't uniquely determine the advisor (and hence the AdvisorID and, perhaps, the AdvisorName). Remember, the definition of $A\rightarrow B$ is that if two tuples in the relation have the same value for attribute $A$, they must have the same value for attribute $B$.