Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Категории с их уникальными наборами параметров / 14 сообщений из 14, страница 1 из 1
20.10.2015, 17:09
    #39081571
zalsily
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
Добрый день.

Прошу помощи у опытных, именно у опытных, поскольку от того насколько оптимально и правильно будет разработана логика построения следующей системы и забита в структуру таблиц БД, зависит насколько легко и быстро в будущем можно будет работать и редактировать приложение, расширять его и масштабировать.

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

Постановка задачи

Вебсистема. Предусмотрена возможность создания пользователем товаров, принадлежащего к некоторой из категорий. К примеру, "Пластиковые окна", "Автомобильные шины", "Вазоны", "Канцтовары", "Шариковые ручки" и т.д. Тематика категорий может быть абсолютно различной и не пересекающейся с тематиками других категорий, а может и быть вложенной в родительскую категорию (как в случае с категориями "Шариковые ручки" и "Канцтовары").

Каждая категория может иметь свой уникальный перечень параметров/свойств с их численными и/или количественными данными от 1 до n штук на каждый параметр/свойство. Создавая товар и назначая ему одну из возможных категорий, пользователь сразу получает определенный перечень свойств/параметров данной категории, которые ему (пользователю) следует заполнить данными (своими уникальными по личному усмотрению, или выбрав один/несколько вариантов для данного параметра из предложенных)


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

Категория товара : Пластиковые окна
Тип : наружные
Материал : дерево | пластик | алюминий | металлопластик
Вид стекла : солнцезащитное
Форма : прямоугольное
Количество стекол : 3
Способ открывания : откидное | отвесное | раздвижное | складное | поворотное
Форточка : нет
Назначение : шумозащитное | изоляционное
Высота : 130 см
Ширина : 60 см

как видим, в данной категории есть 8 параметров/свойств и во 2-м, 6-м и 8-м указаны сразу несколько значений (разделены знаком |).

А для второго товара в этой же категории, пользователь может указать такие параметры:

Категория товара : Пластиковые окна
Тип : наружные
Материал : дерево | металлопластик
Вид стекла : солнцезащитное
Форма : квадратное
Количество стекол : 2
Способ открывания : откидное | складное | поворотное
Форточка : нет
Назначение : шумозащитное
Высота : 100 см
Ширина : 40 см

Для примера добавим товар в категорию "Пластилин"

Категория : Пластилин
Тип : традиционный
Возрастная группа: от 3 до 5
Цветов в наборе : 10
Специфика : с блестками | не засыхающий | перламутровый
Упаковка : картонная
Размеры : 35/8/4 см

Что общего и что отличается

Для окон параметр "Материал" пользователь может выбрать несколько предложенных ему вариантов, но сам вводить текстом новый параметр не может - только выбрать одно/несколько значений для данного параметра. Это же можно сказать и опараметрах "Способ открывания", "Специфика" (для категории "Пластилин").

А такие параметры как: "Количество стекол", "Высота", "Ширина", "Размеры", "Цветов в наборе" пользователь вводит текстом сам на свое усмотрение.

Как видим, для каждой категории предусмотрены свои списки параметров. Для большинства таких параметров предусмотрены свои четко обозначенные варианты значений, а для остальных параметров - информация вольная на усмотрение пользователя.

Как организовать структуру хранения таких категорий с их перечнями параметров и перечнями вариантами значений для некоторых этих параметров? Как организовать и хранить создаваемые товары, привязанные к категориям с заполненными значениями параметров?

Надеюсь, я достаточно доступно для понимания описал вопрос. Много уточнений привел для того, что бы точно понять вопрос и не упустить ни одной значащей детали.
...
Рейтинг: 0 / 0
20.10.2015, 17:21
    #39081591
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
STFW EAV
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.10.2015, 17:31
    #39081604
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
zalsily Что общего и что отличается
насколько развернутый ответ хотите нахаляву получить?
...
Рейтинг: 0 / 0
20.10.2015, 17:36
    #39081614
Ы
Ы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
zalsily,

купите готовое
...
Рейтинг: 0 / 0
20.10.2015, 17:53
    #39081631
zalsily
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
iscrafm, общий, стратегический. О халяве даже и не подумывал. Допускаю, что дело не в халяве, а в сложности пообщаться с опытным в данном вопросе разработчиком
...
Рейтинг: 0 / 0
20.10.2015, 17:54
    #39081634
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
По тому как описано - можно в сторону NOSQL посмотреть. В примере у Вас нет "обьектных" свойств товара, т.е. это та область, в которой NOSQL сильны.
Вот если Вы захотите добавить в товар, например, ссылку на полноценный обьект "производитель" - тут да, начнутся проблемы.
...
Рейтинг: 0 / 0
20.10.2015, 17:55
    #39081637
zalsily
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
Dimitry SibiryakovSTFW EAV


за направление спасибо
...
Рейтинг: 0 / 0
20.10.2015, 18:10
    #39081658
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
zalsily,

в таком случае на форуме можно предложить решение и проверить отзывы на него, чтобы оценить его правильность. Не бойтесь, все уже давно 100500 раз перепробовано и описано. А просить чтобы в вашей задаче разбирались и предлагали решение - путь в никуда.
...
Рейтинг: 0 / 0
20.10.2015, 18:21
    #39081677
zalsily
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
Вот здесь http://forum.sources.ru/index.php?showtopic=277383 обнаружил 90%-ю схожесть с моей ситуацией.

Ну тогда я сам в бой, как рожу структуру, то вернусь на форум и опишу логику (мало ли кому пригодится).
...
Рейтинг: 0 / 0
20.10.2015, 18:23
    #39081681
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
zalsily,

слишком развернутый вопрос. почти ТЗ.
предполагает полное проектирование бд или ее части.
если мне заплатят денег, я готов заняться...
...
Рейтинг: 0 / 0
20.10.2015, 18:26
    #39081684
zalsily
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
MasterZivzalsily,

если мне заплатят денег, я готов заняться... я и сам готов :), кстати безвозмездно, исключительно из дерзости (особо никогда не имел дело с БД).
...
Рейтинг: 0 / 0
20.10.2015, 22:45
    #39081863
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
zalsily не упустить ни одной значащей деталиПара незначащих деталей которые ты упустил.
После того как пользователь программист пользователя создаст категории что произойдет: поиск, редактирование, выгрузка, загрузка...
Кто будет рисовать интерфейс для свежесозданных категорий? А писать бизнес-логику? Либо программист пользователя - то бишь у тебя будет "убийца 1С" и "безумству храбрых поем мы песню" (с),
либо ты (твоя компания) тогда оставь надежду, что пользователь сам что-то себе путнее создаст, проще взять задание пользователя и наваять базу самому.

Dimitry Sibiryakov STFW EAVДобрая половина топиков (не курсачей) получает такой совет.
Я понимаю почему - эту сову можно натянуть на любой глобус, нетленка ТС рискует не дожить до проблем поддержки EAV, но надо же быть в ответе за тех, кого приручили.
...
Рейтинг: 0 / 0
20.10.2015, 22:56
    #39081873
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
SERG1257надо же быть в ответе за тех, кого приручили.
"Это Спарта!"
Он либо справится, либо вернётся к клепанию формочек и гуглепрограммингу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.10.2015, 12:17
    #39082256
zalsily
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Категории с их уникальными наборами параметров
На чем я остановился:

для реализации конечного продукта с уникальным набором предопределенного набора свойств/параметров я создаю 4 таблицы:

category (id, title), parameter (id, categoryid, title, possiblevalue), product (id, title, categoryid), productparametervalue (id, parameterid, productid, value).

Так, на таблицу категорий ссылаются таблицы товаров и параметров. А таблица значений параметров товаров ссылается на таблицу товаров и таблицу параметров.

Причем, в таблице параметров поле possiblevalue может содержать перечень допустимых значений (если значения для данного параметра должны попадать в строго определенный диапазон, набор и т.д.).

При такой структуре увеличиваются конструкции джоинов на выборке данных, но зато, как пока видно поверхностным взглядом, реализована высокая гибкость и масштабируемость в отношении любой таблицы (любой структуры сущностей и их абстрактных определений).

Так, мы можем бесконечно много и в любой момент создать новую категорию, создать для неё набор параметров, добавить новые параметры в уже существующие категории. Можем создать новые товары, забивать значения параметров для товаров как новых, так и уже готовых.

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

Есть еще нюансы, пока работаю над определением будущих сложностей в такой структуре. Пытаюсь разработать еще 1-2 альтернативы для сравнения и прогнозов.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Категории с их уникальными наборами параметров / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]