За последние 24 часа нас посетили 18094 программиста и 1651 робот. Сейчас ищет 1621 программист ...

Структура таблиц для каталога товаров

Тема в разделе "Решения, алгоритмы", создана пользователем Zilog, 7 фев 2010.

  1. Zilog

    Zilog Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    14
    Симпатии:
    1
    Птаюсь написать интернет магазин. В поисках наткнулся на
    http://www.php.ru/forum/viewtopic.php?t=17288, прочитал, и возник ряд вопросов.
    Может ли уважаемый 400Hz поделиться опытом?

    Пытаюсь понять, как вывести каталог товаров (категории).
    Возник вопрос - что есть категория, и чем по сути она отличается от ряда других свойство товара. Например, нужно ли делать различие в сути между производителем, и скажем, вкусом товара? широко нужно применять в этом случае термин "категория".

    Я склонясь к след. варианту БД:
    Таблица производителей
    Таблица категорий
    Таблица типов свойств
    Таблица товаров
    Таблица свойств товаров

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

    В этом варианте дерево строится независимо от всего - что настораживает; то есть категория товара, как логическая еденица, будет является одновременно элементом меню.

    Что посоветуете? Каким путём лучше идти?
     
  2. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
  3. Zilog

    Zilog Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    14
    Симпатии:
    1
    Спаисбо, Кос. Горизонтальное расширение таблиц мне точно не подходит (хер с ней, с производительностью), а по структуре предлагаются схожие решения. Ответа на свой главный вопрос я не нашёл.

    Переформулирую другими словами: если таблица свойств позволяет задать для категории индивидуальный набор свойств для каждого товара, нужно ли выносить в отдельнную таблицу, скажем, "производители", что по сути является свойством и может быть реализована через таблицу свойств?

    Каламбур. Попробуем так: есть меню-дерево по которому ползает пользователь. Что есть ветка дерева? Самостоятельная сущность? Свойство товара? Категория (что по сути есть свойство) товара? Производитель (если рассматривать его не как свойство и не как категорию)?

    Исходя из последенего, имея на руках механизм динамического создания набора свойств, мы можем описать любой* товар, но вот вопрос - на какой основе выводить дерево?

    Задача скорее логическая, чем техническая.
     
  4. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    это я к тому, что лучше было бы наверно там обсуждать. Ну + возможно там что-то нашел бы полезное. Но уже неважно.


    Итак, категория (и, возможно, производитель) - это святое. Их отдельным полем в таблицу goods. А остальные данные, типа цвета, размера (даже те, которые влияют на ценообразование) - как EAV.
     
  5. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    а, да, я туплю.

    1) Таблица с атрибутами.

    2) Дерево (наборы атрибутов):

    группа1
    --атрибут1
    --атрибут2
    группа2
    --атрибут4

    Как его сохранять? как хочешь. NS, AL, MP

    3) товары
    артикул, цена, набор атрибутов, ...
     
  6. Zilog

    Zilog Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    14
    Симпатии:
    1
    Поясни, пожалуйста, что такое EAV?
    И чем обусловлена святость производителя? Его же можно реализовать через таблицу свойств.

    ps. Почему зареганным пользователям предлагается вводить капчу?
     
  7. ты вполне правильно расставил акценты - да, можно. Нужно ли? решать тебе и твоему проекту. Решить можно и так, и так, просто выбери тот способ, который тебе удобнее всего.
     
  8. только первые несколько сообщений.
     
  9. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    где вводить капчу? я не ввожу. Святость производителя под вопросом. Имхо просто по категориям и производителю сортировки есть всегда и они самые популярные.

    что такое eav поищи в инете. Вкратце - вариант сохранения таких динамических атрибутов.
     
  10. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    а ты зарегся заново
     
  11. Zilog

    Zilog Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    14
    Симпатии:
    1
    [quote="флоппик] Нужно ли? решать тебе и твоему проекту. Решить можно и так, и так, просто выбери тот способ, который тебе удобнее всего.[/quote]

    Хм. Лично_ мне особо без разницы.
    Цель вопроса - уяснить, какая жопа может возникнуть вследствии неверного выбора.
    Напрмер, выясняется, что Свойства у нас должно быть независимо (не привязано к категории, а вернее к разделу в меню - к слову, с этим тоже надо разораться).
     
  12. Zilog

    Zilog Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    14
    Симпатии:
    1
    да. свою топологию выводил из этого же соображения.

    спс, видимо я это называю "таблицей свойств" :)
     
  13. Zilog

    Zilog Активный пользователь

    С нами с:
    7 фев 2010
    Сообщения:
    14
    Симпатии:
    1
    Так-с. Вот ещё один тонкий момент.

    Дерево, по которому ползает пользователь - это просто дерево, или реальная категория товара?

    Если просто дерево (т.е. без привязок к чему либо), то проблем не вижу.

    Если эелементы этого дерева называть категориями, то тут возникает ряд вопросов, скажем:
    а) хочу подразделы для неких товаров выводить в виде производителей
    б) а в дргуом месте - подразделы в виде цвета

    т.е. налицо - конфликт сущностей. Если дерево независимо - можно выводить как угодно, но если ветки дерева - категории, то получается геморой, который непонятно как решать.
    Что скажете?