Please review my first thought-out attempt at a database schema
The picture was useful.  I think you did well.

I don't think of things as hierarchies, where stuff like Category gets in the way.  I make tables for the nouns (users, activity) and then adjectives become columns (category, class).

You use the word 'class' for 'employee type' or 'employee group'.  In a training system like this, I would have expected the 'class' table to store your 'activities'.  If your table names match the nouns that your end-users are using, it'll be easier in the long run.

My comments:


Give training_activities its own id, and use that from training_tracker.
An employee (a single employee profile) can't move from one company to another nor work for two companies at the same time.