Основываясь на том, что вы моделируете, я бы предположил, что у вас есть отношения «многие ко многим» между экзаменами и пользователями. Другими словами, у вас есть экзамены без пользователей и пользователей без экзаменов. В этом случае модель 2 вообще не работает.
В модели 2 каждый пользователь получит только один идентификатор, или вам потребуется записывать записи многопользовательских пользователей каждый раз, когда будет добавлен экзамен для тема. Это увеличивает вероятность проблем с целостностью данных, поскольку пароль существует. Даже не рассматривайте использование модели 2, если вы не можете гарантировать, что никогда не будет необходимости в более чем одном экзамене.
В зависимости от типа экзаменов вы говорите о таблице user_exams, вероятно, должны включать дополнительную информацию, такую как дата. Что еще вам может понадобиться, зависит от значения данных, которые вы моделируете.
Я предполагаю, что первый из них, поскольку я чувствую, что один пользователь может быть связан с несколькими экзаменами .. пользователь has_many экзамены, в этом случае вы не можете сделать со вторым ... и если это не так, тогда вы может иметь вторую таблицу, где пользователь имеет свой экзамен. – argentum47