Птаюсь написать интернет магазин. В поисках наткнулся на http://www.php.ru/forum/viewtopic.php?t=17288, прочитал, и возник ряд вопросов. Может ли уважаемый 400Hz поделиться опытом? Пытаюсь понять, как вывести каталог товаров (категории). Возник вопрос - что есть категория, и чем по сути она отличается от ряда других свойство товара. Например, нужно ли делать различие в сути между производителем, и скажем, вкусом товара? широко нужно применять в этом случае термин "категория". Я склонясь к след. варианту БД: Таблица производителей Таблица категорий Таблица типов свойств Таблица товаров Таблица свойств товаров То есть ключевые моменты мы выводим в отдельные таблицы, а частные свойства товаров задаём в общей таблице: например для категории "Нанотехнологии" можно задать индивидуальный набор свойств (вкус/цвет/запах), которые будут иметь все товары этой категории, или иной категории, которой будет задан тот же набор параметров. В этом варианте дерево строится независимо от всего - что настораживает; то есть категория товара, как логическая еденица, будет является одновременно элементом меню. Что посоветуете? Каким путём лучше идти?
Спаисбо, Кос. Горизонтальное расширение таблиц мне точно не подходит (хер с ней, с производительностью), а по структуре предлагаются схожие решения. Ответа на свой главный вопрос я не нашёл. Переформулирую другими словами: если таблица свойств позволяет задать для категории индивидуальный набор свойств для каждого товара, нужно ли выносить в отдельнную таблицу, скажем, "производители", что по сути является свойством и может быть реализована через таблицу свойств? Каламбур. Попробуем так: есть меню-дерево по которому ползает пользователь. Что есть ветка дерева? Самостоятельная сущность? Свойство товара? Категория (что по сути есть свойство) товара? Производитель (если рассматривать его не как свойство и не как категорию)? Исходя из последенего, имея на руках механизм динамического создания набора свойств, мы можем описать любой* товар, но вот вопрос - на какой основе выводить дерево? Задача скорее логическая, чем техническая.
это я к тому, что лучше было бы наверно там обсуждать. Ну + возможно там что-то нашел бы полезное. Но уже неважно. Итак, категория (и, возможно, производитель) - это святое. Их отдельным полем в таблицу goods. А остальные данные, типа цвета, размера (даже те, которые влияют на ценообразование) - как EAV.
а, да, я туплю. 1) Таблица с атрибутами. 2) Дерево (наборы атрибутов): группа1 --атрибут1 --атрибут2 группа2 --атрибут4 Как его сохранять? как хочешь. NS, AL, MP 3) товары артикул, цена, набор атрибутов, ...
Поясни, пожалуйста, что такое EAV? И чем обусловлена святость производителя? Его же можно реализовать через таблицу свойств. ps. Почему зареганным пользователям предлагается вводить капчу?
ты вполне правильно расставил акценты - да, можно. Нужно ли? решать тебе и твоему проекту. Решить можно и так, и так, просто выбери тот способ, который тебе удобнее всего.
где вводить капчу? я не ввожу. Святость производителя под вопросом. Имхо просто по категориям и производителю сортировки есть всегда и они самые популярные. что такое eav поищи в инете. Вкратце - вариант сохранения таких динамических атрибутов.
[quote="флоппик] Нужно ли? решать тебе и твоему проекту. Решить можно и так, и так, просто выбери тот способ, который тебе удобнее всего.[/quote] Хм. Лично_ мне особо без разницы. Цель вопроса - уяснить, какая жопа может возникнуть вследствии неверного выбора. Напрмер, выясняется, что Свойства у нас должно быть независимо (не привязано к категории, а вернее к разделу в меню - к слову, с этим тоже надо разораться).
Так-с. Вот ещё один тонкий момент. Дерево, по которому ползает пользователь - это просто дерево, или реальная категория товара? Если просто дерево (т.е. без привязок к чему либо), то проблем не вижу. Если эелементы этого дерева называть категориями, то тут возникает ряд вопросов, скажем: а) хочу подразделы для неких товаров выводить в виде производителей б) а в дргуом месте - подразделы в виде цвета т.е. налицо - конфликт сущностей. Если дерево независимо - можно выводить как угодно, но если ветки дерева - категории, то получается геморой, который непонятно как решать. Что скажете?