Дмитрий, Вообще ничего не мешает, но это как то странно их так хранить, да даже тот факт то что у них разные поля делает это уже плохим решением
Или я что то не понимаю?
snake2, Скорее всего что то не понимаете. У вас есть пользователи. С разными ролям: роль клиент, роль админ, роль посетитель - или еще чего. Вот у вас и должны быть 2 таблицы - users, user_roles
Дмитрий, в принципе если у этих групп пользователей будут одинаковые поля, то ваш вариант работает, но когда у этих сущностей различаются десятки полей, это уже не выглядит таким уж хорошим решением, так как проставлять все эти поля в null не очень хочется
snake2, делить юзеров на таблицы плохая идея. 10ки полей обычно можно вынести в сущности. Например, всякие адреса, контакты можно в полиморфные, тк много где нужны.
snake2, например, у меня есть Участники (members) и Агенты (agents). Оба типа являются пользователями на сайте. Соответственно есть одна таблица users, где все они хранятся, в этой таблице присутствуют только общие поля (имя, почта, день рождения и т.п.). Плюс две таблицы agents и members со своими специфическими наборами полей. Эти таблицы привязаны к пользователям связью One-to-One.
Сергей delphinpro, Ситуация такая, что эти поля нужны при каждом запросе и из-за этого придется каждый раз джойнить несколько табличек, что тоже вызывает ряд неудобств и увеличивается нагрузка на бд