Всем привет, я пишу интернет магазин, а точнее api для него. сейчас на стадии проектирования бд, как лучше сделать табличку товара?
Например, есть одна модель кроссовок, они отличаются цветом, размером и ценой, если составлять модель по тупому, то будет куча строк, которые не значительно отличаются.
Одним из решение может быть jsonb поле, но мне кажется оно не подходящее в данном случае, так вот, как лучше?
Для начала, почитайте о нормализации базы данных. По-моему около 10 нормальный форм должно хватить, для расширения воображения.
Затем, можете посмотреть как примерно организована структура БД у других популярных движков/плагинов
Если ничего из этого не поможет, то можете обратиться на фриланс, чтобы за вас составили качествунную струтктуру таблиц.
OCCASS OCCASSOVICH, именно. Или в дампах БД, если таковы предоставлены. Если по силам установить такой движок, в основном, они на пхп должны быть, то можно и через любое приложения администрирования бд посмотреть: phpmyadmin, adminer
Например, есть одна модель кроссовок, они отличаются цветом, размером и ценой, если составлять модель по тупому, то будет куча строк, которые не значительно отличаются.
Из банального:
- Модель товаров (кроссовки)
- Модель "пунктов" вариантов: цвет, размер, (на счет цены не знаю)
- Модель вариантов пунктов: (цвет) зеленый/красный/синий, (размер) 30/31/32/...
Возможно этот вариант структуры тоже не очень, я за пару минут нормальный вариант предоставить не смогу. Тут надо часами сидеть и представлять, как все это должно быть связано и чтобы быстро работало
maksam07, я понял, ну то есть организовать many-to-many.
насчет думать, придумывать, я думал есть уже готовые варианты, ведь этот вопросы появляется не только у меня, а по структуре магазины почти что никак не отличаются
OCCASS OCCASSOVICH, но и OC скорее всего не один человек разрабатывал и может не с первой версии появился такой вариант. Учитывай, что если нужно будет на сайте добавлять фильтрацию, работать с корзиной, делать выгрузки для аналитики, чтобы ты смог это сделать, не положив сервер. Json не самый лучший вариант, но смотря как настроить и использовать