Предположим, у меня есть следующие структуры таблиц для таблиц countries
, products
и suppliers
:
countries
------------------------
id
name
code
product
------------------------
id
name
price
suppliers
------------------------
id
name
product
может быть продан в разных countries
, но supplier
из этого product
может быть другим. Помня об этом, я составил relations
таблицу, чтобы отслеживать, какие supplier
доставляют, какие product
в каких country
:
relations
------------------------
country_id
product_id
supplier_id
Допустим, у меня есть продукт A
, который мне нужно хранить в стране US
и CA
, но поставщиками для этих стран являются X
и Y
соответственно. Структура будет выглядеть примерно так:
countries
-------------------------------
id | name | code
-------------------------------
1 | United States | US
2 | Canada | CA
product
-------------------------------
id | name | price
-------------------------------
1 | A | 3.99
suppliers
------------
id | name
------------
1 | X
2 | Y
relations
-------------------------------
country_id | product_id | supplier_id
-------------------------------
1 | 1 | 1
2 | 1 | 2
У меня вопрос, как я могу использовать красноречивые отношения для этой таблицы, поскольку отношения «многие ко многим» работают только с двумя таблицами. Есть ли другой способ решения этой проблемы? Или есть другой эффективный способ реализовать этот сценарий?
Спасибо за помощь.