Предположим, на сайте есть админка и фронтэнд.
Админка многопользовательская, а на фронтэнде есть регистрация и ордер (с необязательной регистрацией).
Как лучше хранить юзеров (и почему)?
1) всех юзеров в 1 таблице.
2) юзеров для админки и зарегавшихся; временных с ордера (как в opencart).
3) юзеров для админки; зарегавшихся и временных.
Михаил Шатилов: В любом случае стоит разделять это дело на две разные модели. А то и больше. А уж в скольких таблицах это хранить решать вам. Можно хранить каждую сущность в своей таблице а можно в одной и разруливать посредствам поля дополнительного. Гуглить в сторону "table inheritance" и т.д. Отображение базы на объекты и структура самой базы не всегда должны быть один в один.
Сергей Протько: так и сделаю. Если понадобится почистить юзеров с сайта, то не придется мучиться с добавлением юзера для админки. А модели User & Customer
1 и справочники.
По той простой причине что имя пользователя - уникально, и должно быть где-то "забито".
С другой стороны это не мешает на админку что-то сложнее навешать, например авторизацию по другой таблице. Но это не пункт 2 - можно навешать дополнительную авторизацию на админку, например через "base auth".
Будет в два раза крепче.