Это действительно проектное решение, которое должно определяться тем, как оно будет использоваться.
Недавно я создал программу, в которой модели 'user' и 'profile' разделены с 'user 'всегда имеет ограничение' profile '.
Я сделал это таким образом, поскольку в таблице' user 'нет ничего, кроме информации, необходимой для входа пользователя в систему или разрешения администратору видеть / делать определенные вещи.
Принимая во внимание, что модель «профиля» содержит данные, которые могут просматривать и искать другие участники.
Но опять же, это дизайнерское решение, которое вы должны принять на основе того, как данные будутб.