Ответы пользователя по тегу SQL
  • Как структруировать БД?

    ksusha
    @ksusha
    Категории:
    id название и т.п.

    Характеристики
    id | название | тип (чекбокс, список, текст, строка и т.п.) | варианты выбора, если есть, в каком-нить формате (json, к примеру)

    Пример:
    1 | Пол | list | [ «женский», «мужской» ]
    2 | Цвет | list | [ «синий», «красный», «зеленый» ]

    Это нужно для управления выводом формы редактирования/добавления товара какой-либо категории. В итоге у вас будет один и тот же код везде и не нужно заводить таблицу под каждую категорию отдельно. В данном случае ясно, что тип поля list, значит, это select либо группа радиобаттонов, к примеру. А варианты выбора распаковываются из json.

    Товары
    id | id категории | название…

    Как я поняла, у вас товар попадает в одну категорию, значит, можно сделать один ко многим.

    Связки:
    id характеристики | id категории

    Это чтобы было ясно какие поля для редактирования товара доступны в категории, и чтоб можно было привязать характеристику к нескольким категориям.

    id товара | id характеристики | значение характеристики

    Ну это понятно.

    Таким образом, при добавлении категории юзер может сам добавить туда нужные характеристики (или выбрать из уже существующих) и сохранить. Ну а при добавлении товара в эту категорию отрисуется красивая формочка, где можно заполнить значения всех характеристик.
    Ответ написан
    1 комментарий