3) Таблица цвета.
color_id, name, img (поле img это где хранится путь к картинке с цветом)
4) Таблица размер.
size_id, name,
5) Таблица Продукт_Цвет
product_id, color_id
6) Таблица Продукт_размер
product_id, size_id
Вот дальше я застрял.
7) Таблица Продукт_Цвет_размер
product_id, color_id, size_id
1 1 1
1 1 2
1 1 3
1 2 1
2 1 4
Т.е получается это уже оффер?? Комбинация продукт цвет размер
У продукта с id 1 доступен цвет 1 у него доступны размеры 1 2 3
У продукта с id 1 доступен цвет 2 у него есть размер 1.
У продукта с id 2 досутпен цвет 1 у него есть размер 4.
Подскажите пожалуйста это и есть оффер?
Максим Тимофеев, А как тогда мне создать размер или цвет?? отдельно без товара, тогда мне придется сразу создавать офер в котором я создаю цвет и создаю размер, но получается мне для каждого нового офера нужно будет дублировать новый цвет и размер. Я не понимаю, простите если ошибаюсь.
Vladimir Terechov, цвет создается записью в таблице 3, размер в таблице 4, я про них ничего не говорил. Я про привязку цвета и размера к товару. на уже реализована в таблице 7. Если привязка только цвета, без размера, то это
1 | 1 | null
и соответственно для размера без цвета
1 | null | 1
Если у вас свой магазин, то вполне себе правильно. Если у вас агрегатор, то можете добавить еще таблицы "магазины", "точки продаж магазина" и в таблицу офферов добавить поле "айди точки продаж" (как вариант).
Vladimir Terechov, Если цена не связана с размером / цветом, то понятие "оффер" может отсутствовать в принципе (в случае вашего магазина). Достаточно иметь таблицы 5 и 6 для связи товара с цветами и размерами, и добавить таблицу связи товар-цена. Если цена может зависеть от этих параметров, то как сказал Максим Тимофеев - таблицы 5 и 6 можно убрать, а в таблицу 7 добавить колонку "цена".