Define relationships for 3 tables I have 3 tables that are currently defined as:



Is this the best way, or should I use an associative table?

I put the relationships backwards, 1 group can contain many users and many students.  There is no other relationship between the user and the student other than the group.  This is for a tracking program where the user or users are taking a student or group of students through a check-in procedure.
Based on your description you want to have a GroupMembers table that does all the many to many joins for you.  

Your current schema only allows a Group to contain one User and one Student as you have made the GroupName the Primary Key.  You really want to break the Group out to its own table in case the group name changes.  

This can allow you to have:


A Group with many Users and many Students
Users can be members of many Groups
Students can be members of many Group
A User should not be duplicated in a Group
A Student should not be duplicated in a Group


Thats achieved with a schema like this:



Because you only ever want one combination of a given group, user and student you can make the foreign key columns the primary key too.

This all follows Third Normal Form (at least).