One issue to consider in adding the supervisor field to the employee table:
IS it possible that an employee might, over the course of employment, have a
differnt supervisor. Might it be necessary at some point to report data based
on an employee's supervisor at the time a course was taken. Setting the
supervisor in teh employee table would almost certainly limit you to showing
data based on CURRENT supervisor only. I.e. if am empoyee is assigned to a
new supervisor then all courses taken by that empoyee are now linked to the
current supervisor.
I have a similiar situation, and used a "participant TRansaction table" much
like a point of sale tranasction table. The transaction table includes FK
links to employee, course, and session; with specific fields such as
supervisor, home department, registration, attendance, completion, and
certification. This way it is possible to report over the long term, all
attendance, and to indicate which supervisor and department employee reported
to at the time each course was taken.
If your personnel do not "move" around in the organization then this would
not be an issue!