Вы разносите по разным таблицам Администраторов, Покупателей, Модераторов, Бухгалтеров и так далее? Какой профит от этого? Я всегда присваивал тупо роль в единственной таблице users и было достаточно. Но вижу, что немало людей делают связи с таблицей users.
Хорошо. Это будет логично в случае, если админу, например, нужны какие-нибудь дополнительные поля. Внешний ключ на users и добавляем нужные поля.
Далее. Например, отдельная таблица для менеджеров. К ней можно связать таблицу в каком магазине он работает. И т.д.
Выборки. Можно сразу лазить по нужной таблице в админке.
Но мне кажется это не основной мотив. Расскажите.
Для доп полей кмк рационально делать таблицу profile, а так - роли, как ты и делаешь. Вопрос только в реализации.
Хелдар писал, что у спати реализация плохая (кмк это так), а есть хорошая - его собственная