Я хочу составить схему отношений, при которых продавец рекламирует свой продукт на веб-сайте, и если продукт продается, он должен заплатить комиссию компании-веб-сайту.
У меня есть три объекта: ПРОДАВЕЦ, ПРОДУКТ, КОМИССИЯ.
Все товары на сайте принадлежат продавцам, поэтому никогда не будет случая, когда товар существует без соответствующего продавца. Каждый продукт является уникальным для продавца, поэтому отношения:
Один продавец может продать, рекламировать множество продуктов, но каждый продукт может быть продан только одним продавцом.
Мой первый вопрос: будет ли сущность ПРОДУКТ слабой? Если это так, значит ли это, что первичный ключ должен включать PK агентства? Я собирался использовать Product_ID в качестве первичного ключа, потому что только он может однозначно идентифицировать продукт. Если я сделаю PK Product_ID и Seller_ID, это все равно будет считаться PK? Я узнал, что у PK должно быть наименьшее количество атрибутов, чтобы уникально идентифицировать экземпляр.
Мой второй вопрос: нужно ли создать ссылку для прямой связи между ПРОДАВЦОМ и КОМИССИЕЙ? Я боюсь, что это будет излишним, потому что, если я свяжу ПРОДАВЦА и КОМИССИЮ, КОМИССИЯ будет иметь идентификатор FK Seller_ID. Но поскольку COMMISSION уже связана с PRODUCT, которая также имеет идентификатор FK Seller_ID, я думаю, было бы менее излишним связывать только PRODUCT и COMMISSION. Таким образом, COMMISSION будет иметь FK Product_ID, и с помощью этого отношения можно также идентифицировать Seller_ID (например, с помощью SQL JOIN запросов)
Мой третий вопрос: аналогично моему первому вопросу, COMMISSION будет слабая сущность, но я также хочу добавить Commission_ID. Должен ли я сделать, чтобы PK включал Product_ID, и если я также сделаю PRODUCT слабой сущностью, включит ли PK COMMISSION и Product_ID, и Seller_ID?