Re: Constraints and Functional Dependencies

>>> Enrolment { StudentId, CourseId } KEY { StudentId, CourseId }
>>>
>>> (note also that a student may take many courses and that a student
>>> may enrol in a course before a teacher is assigned to it)
>>>
>>> TutorFor { StudentId, StaffId } KEY { StudentId, StaffId }
>>>
>>> It's possible to enter a row in TutorFor where StaffID stands for a
>>> teacher who doesn't teach any course the student is enrolled in.
>>
>> If it is a base table, yes. That seems a little strange though,
>> by way of example - what would a row mean beyond
>> what is already in the other tables?

> If so, it means a
> student has a particular teacher in some course. Since the schema
> allows different teachers for the same course, that is the only way for
> a student to find out who his teacher for a particular course is.