Как спроэктировать «варианты продукта» в интернет-магазине?
Как спроэктировать онлайн-магазин с простым списком продуктов - я знаю. Это сделано. Начинается весело, когда теперь нужно добавить возможно "custom properties" к продуктам. То есть, это могут быть а) цвет б) размер -- например.
В зависимости от этих характестик и их комбинаций цена может отличаться. Заголовок тоже. Картинки тоже. Наличие на складе.
Как это сделать проще и правильнее? Просто добавить дочернюю таблицу ProductCustomProperties со ссылкой на Products и перенести цену, название и т.п. в нее?
Также! Не все продукты у меня могут иметь CustomProperties. То есть, например, какой-нибуд "Крем для рук" -- он у меня всегда одной модификации, или без модификаций - что одно и то же. Как тут быть?
Ну то есть либо сама таблица сразу текстом написанная либо ее айдишник
сразу три вопроса к данной фразе
Что такое айдишник таблицы?
Где в данном месте теряется целосность?
Почему в данном месте будет огромная проблема с производительностью и написанием запросов?
0. Фокус со "справочниками" также работает с EAV
1. Как писать запросы с такой схемой вы так и не ответили
2. Справочник не решает проблему с целосностью, тк СУБД про него не знает
3. Джоины давно не являются узким местом
4. Вы не упростили схему
5. Вы расписали худший вариант такого подхода
Проблема, что вы не понимаете плюсы и минусы обоих подходов
Что вам мешает?
По-хорошему у вас должно быть понимание, что у вас является SKU
И дальше уже отталкиваясь, от данного знания и требований по учету (бух и склад) что-то проектировать