Как понять нужно ли разделять таблицу юзеров на несколько:
1. Отличаются ли чем-то глобальным юзеры между друг другом или только значением параметра, например, type_id
?
2. Могут ли юзеры "перепрыгивать" туда-сюда в разные типы?
Если ответ "да", то стоит держать одну таблицу и разделять их между собой по этим меткам и типам.
В нашем случае есть две таблицы - клиенты и сотрудники.
У клиентов поля:
- id
- first_name
- last_name
- email
- phone
- birth_date
- payments_sum
- payments_count
- source_id
- country_id
- city_id
У сотрудников:
- id
- first_name
- last_name
- email
- phone
- password
- start_work_at
- end_work_at
- work_position_id
- country_id
- company_id
- unit_id
- rating
- voices
- vaccinated_at
- blocked_at
и ещё пара десятков полей.
Юзеры не могут "перепрыгивать" в "сотрудников" и обратно. Под капотом жёсткое распределение логики работы с этими данными.