Как правильно сделать отношение между такими таблицами в SQL?

  • Есть таблица пользователей (User).
  • Есть таблица товаров (Product).
  • Есть таблица групп пользователей (UsersGroup).

Всего две группы: Пользователь и продавец. Отношение между User и UserGroup - многие ко многим (один пользователь может входить во много групп, каждая группа может иметь много пользователей).

Пользователь, что относится к группе "продавец", может создать товар. Все могут покупать.

Суть:

Как правильно сделать отношение между пользователем, чтобы иметь возможность получать созданные товары пользователем и купленные товары этим пользователем (актуально для роли продавца).

Я думаю, для продавца внешний ключ:

FOREIGN KEY (sellerId) REFERENCES User(id)

А для тех, кто покупает - JUNCTION таблицу UserProducts?

Как решить этот вопрос правильно?


Ответы (0 шт):