В таблице Groups на колонку с именем вешаешь уникальный ключ. Это обеспечит уникальность имён групп.
Для связей создаёшь отдельную таблицу, в которой хранить group_id и student_id, (с внешними ключами на соответствующие таблицы), и вешаешь составной уникальный ключ на комбинацию из колонок group_id и student_id.
Или можно и вообще без таблицы связей, а просто колонку group_id добавить в таблицу Students