Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, как организовать структуру пользователей?
Есть 3 вида пользователей: админ, оператор и клиент.
У каждого типа пользователей, разные данные (поля).
За каждым пользователем закреплен свой оператор или наоборот, у оператора есть свои клиенты.
Думаю сделать так:
1. таблица пользователей "user" (id, login, password, name и т.д.)
2. таблица профиль клиента "client_profile" (id, user_id и т.д.)
3. таблица профиль оператора "operator_profile" (id, user_id и т.д.)
А вот как сделать связь оперетар-клиент?
Сделать "один ко многим" или в таблицу "user" добавить "parent_id"?
Как сделать правильно?
Если таблицу профиля клиента переименовать в "client", теперь не профиль, а отдельная сущность.
Есть таблица "заявки", в ней записывать id из таблицы "user", или "id" из таблицы client?
Неактивен
Насколько разные поля у трех типов пользователей? Сколько совпадающих, сколько несовпадаюющих?
Если сильно разные, то проще и логичнее три разных таблички для них, если слегка разные, то можно в одну табличку их положить, а "разницу" положить в json-поле extended_info ( см. http://sqlinfo.ru/articles/info/20.html).
>За каждым пользователем закреплен свой оператор или наоборот, у оператора есть свои клиенты.
Не совсем понятно, у отдельного взятого клиента может быть несколько операторов? В то же время у отдельного взятого оператора может быть множество клиентов? Если так, то тут напрашивается
хрестоматийное решение - многие ко многим, то есть сводная табличка rel_operator_client, которая содержит два поля - client_id и operator_id.
Неактивен