Как спроектировать базу для «заказчик/исполнитель»?
Сразу приведу пример по теме, т.к. наверняка меня читают люди знающие площадки типа fl.ru, на которых есть клиент (заказчик) и исполнитель. Мой вопрос заключается в: как лучше спроектировать таблицы на такой случай:
1) Завести одну таблицу, в которой можно указать тип заказчика, и на основании этого показывать (и заполнять) на фронте разные поля.
2) Завести две таблицы: clients, freelancers. Здесь все понятно.
Какой из подходов будет более логичным и правильным? Учитывая то, что у клиента и фрилансера будут "отношения" в виде транзакций, отзывов, выполненных проектов и т.д.
Я склоняюсь к 1-му варианту, т.к. нахожу его более простым.
Но что, если клиент захочет переквалифицироваться в исполнителя? Не давать такого функционала вообще и заставить регистрироваться в качестве нового субъекта?