
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.10.2015, 17:09
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
Добрый день. Прошу помощи у опытных, именно у опытных, поскольку от того насколько оптимально и правильно будет разработана логика построения следующей системы и забита в структуру таблиц БД, зависит насколько легко и быстро в будущем можно будет работать и редактировать приложение, расширять его и масштабировать. Наперед скажу, что есть некоторые идеи реализации, но очень хочу услышать мнения и советы опытных разработчиков. Постановка задачи Вебсистема. Предусмотрена возможность создания пользователем товаров, принадлежащего к некоторой из категорий. К примеру, "Пластиковые окна", "Автомобильные шины", "Вазоны", "Канцтовары", "Шариковые ручки" и т.д. Тематика категорий может быть абсолютно различной и не пересекающейся с тематиками других категорий, а может и быть вложенной в родительскую категорию (как в случае с категориями "Шариковые ручки" и "Канцтовары"). Каждая категория может иметь свой уникальный перечень параметров/свойств с их численными и/или количественными данными от 1 до n штук на каждый параметр/свойство. Создавая товар и назначая ему одну из возможных категорий, пользователь сразу получает определенный перечень свойств/параметров данной категории, которые ему (пользователю) следует заполнить данными (своими уникальными по личному усмотрению, или выбрав один/несколько вариантов для данного параметра из предложенных) Например, добавляя 1-й товар и назначив ему категорию "Пластиковые окна" может иметь такой перечень опций (параметров, свойств, характеристик). Категория товара : Пластиковые окна Тип : наружные Материал : дерево | пластик | алюминий | металлопластик Вид стекла : солнцезащитное Форма : прямоугольное Количество стекол : 3 Способ открывания : откидное | отвесное | раздвижное | складное | поворотное Форточка : нет Назначение : шумозащитное | изоляционное Высота : 130 см Ширина : 60 см как видим, в данной категории есть 8 параметров/свойств и во 2-м, 6-м и 8-м указаны сразу несколько значений (разделены знаком |). А для второго товара в этой же категории, пользователь может указать такие параметры: Категория товара : Пластиковые окна Тип : наружные Материал : дерево | металлопластик Вид стекла : солнцезащитное Форма : квадратное Количество стекол : 2 Способ открывания : откидное | складное | поворотное Форточка : нет Назначение : шумозащитное Высота : 100 см Ширина : 40 см Для примера добавим товар в категорию "Пластилин" Категория : Пластилин Тип : традиционный Возрастная группа: от 3 до 5 Цветов в наборе : 10 Специфика : с блестками | не засыхающий | перламутровый Упаковка : картонная Размеры : 35/8/4 см Что общего и что отличается Для окон параметр "Материал" пользователь может выбрать несколько предложенных ему вариантов, но сам вводить текстом новый параметр не может - только выбрать одно/несколько значений для данного параметра. Это же можно сказать и опараметрах "Способ открывания", "Специфика" (для категории "Пластилин"). А такие параметры как: "Количество стекол", "Высота", "Ширина", "Размеры", "Цветов в наборе" пользователь вводит текстом сам на свое усмотрение. Как видим, для каждой категории предусмотрены свои списки параметров. Для большинства таких параметров предусмотрены свои четко обозначенные варианты значений, а для остальных параметров - информация вольная на усмотрение пользователя. Как организовать структуру хранения таких категорий с их перечнями параметров и перечнями вариантами значений для некоторых этих параметров? Как организовать и хранить создаваемые товары, привязанные к категориям с заполненными значениями параметров? Надеюсь, я достаточно доступно для понимания описал вопрос. Много уточнений привел для того, что бы точно понять вопрос и не упустить ни одной значащей детали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 17:21
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
STFW EAV Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 17:31
|
|||
|---|---|---|---|
Категории с их уникальными наборами параметров |
|||
|
#18+
zalsily Что общего и что отличается насколько развернутый ответ хотите нахаляву получить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 17:36
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
zalsily, купите готовое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 17:53
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
iscrafm, общий, стратегический. О халяве даже и не подумывал. Допускаю, что дело не в халяве, а в сложности пообщаться с опытным в данном вопросе разработчиком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 17:54
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
По тому как описано - можно в сторону NOSQL посмотреть. В примере у Вас нет "обьектных" свойств товара, т.е. это та область, в которой NOSQL сильны. Вот если Вы захотите добавить в товар, например, ссылку на полноценный обьект "производитель" - тут да, начнутся проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 17:55
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
Dimitry SibiryakovSTFW EAV за направление спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 18:10
|
|||
|---|---|---|---|
Категории с их уникальными наборами параметров |
|||
|
#18+
zalsily, в таком случае на форуме можно предложить решение и проверить отзывы на него, чтобы оценить его правильность. Не бойтесь, все уже давно 100500 раз перепробовано и описано. А просить чтобы в вашей задаче разбирались и предлагали решение - путь в никуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 18:21
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
Вот здесь http://forum.sources.ru/index.php?showtopic=277383 обнаружил 90%-ю схожесть с моей ситуацией. Ну тогда я сам в бой, как рожу структуру, то вернусь на форум и опишу логику (мало ли кому пригодится). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 18:23
|
|||
|---|---|---|---|
Категории с их уникальными наборами параметров |
|||
|
#18+
zalsily, слишком развернутый вопрос. почти ТЗ. предполагает полное проектирование бд или ее части. если мне заплатят денег, я готов заняться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 18:26
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
MasterZivzalsily, если мне заплатят денег, я готов заняться... я и сам готов :), кстати безвозмездно, исключительно из дерзости (особо никогда не имел дело с БД). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 22:45
|
|||
|---|---|---|---|
Категории с их уникальными наборами параметров |
|||
|
#18+
zalsily не упустить ни одной значащей деталиПара незначащих деталей которые ты упустил. После того как пользователь программист пользователя создаст категории что произойдет: поиск, редактирование, выгрузка, загрузка... Кто будет рисовать интерфейс для свежесозданных категорий? А писать бизнес-логику? Либо программист пользователя - то бишь у тебя будет "убийца 1С" и "безумству храбрых поем мы песню" (с), либо ты (твоя компания) тогда оставь надежду, что пользователь сам что-то себе путнее создаст, проще взять задание пользователя и наваять базу самому. Dimitry Sibiryakov STFW EAVДобрая половина топиков (не курсачей) получает такой совет. Я понимаю почему - эту сову можно натянуть на любой глобус, нетленка ТС рискует не дожить до проблем поддержки EAV, но надо же быть в ответе за тех, кого приручили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.10.2015, 22:56
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
SERG1257надо же быть в ответе за тех, кого приручили. "Это Спарта!" Он либо справится, либо вернётся к клепанию формочек и гуглепрограммингу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.10.2015, 12:17
|
|||
|---|---|---|---|
|
|||
Категории с их уникальными наборами параметров |
|||
|
#18+
На чем я остановился: для реализации конечного продукта с уникальным набором предопределенного набора свойств/параметров я создаю 4 таблицы: category (id, title), parameter (id, categoryid, title, possiblevalue), product (id, title, categoryid), productparametervalue (id, parameterid, productid, value). Так, на таблицу категорий ссылаются таблицы товаров и параметров. А таблица значений параметров товаров ссылается на таблицу товаров и таблицу параметров. Причем, в таблице параметров поле possiblevalue может содержать перечень допустимых значений (если значения для данного параметра должны попадать в строго определенный диапазон, набор и т.д.). При такой структуре увеличиваются конструкции джоинов на выборке данных, но зато, как пока видно поверхностным взглядом, реализована высокая гибкость и масштабируемость в отношении любой таблицы (любой структуры сущностей и их абстрактных определений). Так, мы можем бесконечно много и в любой момент создать новую категорию, создать для неё набор параметров, добавить новые параметры в уже существующие категории. Можем создать новые товары, забивать значения параметров для товаров как новых, так и уже готовых. Вопрос только за случаем когда товар, привязанный к определенной категории потребуется перепривязать к другой категории с другим набором параметров. Но выход вижу либо в запрете перепривязывать товар к другой категории (что не совсем логично), либо оставить такую возможность с сохранением прошлых параметров товара и возможностью добавить новые параметры (касающиеся новой привязанной категории). А прошлые параметры можно удалить (как автоматом при привязке к новой категории, либо оставить это занятие пользователю). Есть еще нюансы, пока работаю над определением будущих сложностей в такой структуре. Пытаюсь разработать еще 1-2 альтернативы для сравнения и прогнозов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&mobile=1&tid=1540459]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
153ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 269ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...