Как правильно сделать отношение между такими таблицами в SQL?
- Есть таблица пользователей (User).
- Есть таблица товаров (Product).
- Есть таблица групп пользователей (UsersGroup).
Всего две группы: Пользователь и продавец. Отношение между User и UserGroup - многие ко многим (один пользователь может входить во много групп, каждая группа может иметь много пользователей).
Пользователь, что относится к группе "продавец", может создать товар. Все могут покупать.
Суть:
Как правильно сделать отношение между пользователем, чтобы иметь возможность получать созданные товары пользователем и купленные товары этим пользователем (актуально для роли продавца).
Я думаю, для продавца внешний ключ:
FOREIGN KEY (sellerId) REFERENCES User(id)
А для тех, кто покупает - JUNCTION таблицу UserProducts?
Как решить этот вопрос правильно?