powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Карточка товара. Прайс-лист.
7 сообщений из 32, страница 2 из 2
Карточка товара. Прайс-лист.
    #39245186
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257,

Ничего страшного. "Вы просто не умеете их готовить" (с) :)
Совет "Хранить в ХМЛ" дурацкий, ИМХО.
Можно хранить "чисто для истории", но пользоваться/искать/апдейтить - ужос.
К тому же это может оказаться непортабельно на разные СУБД.
...
Рейтинг: 0 / 0
Карточка товара. Прайс-лист.
    #39245206
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
          and  idTagName in (1,2) -- строку "1,2" формирует клиентское приложение
          and value in(900,2.5)  -- список значений "900,2.5" формирует клиентское приложение



Здесь ошибка. Это выражение не различает, к какому тегу относится 900, а к какому 2.5. И в случае совпадающих значений будет чушь.

Например, если в справочнике будет товар:

"Молоко, Объем,л=1.5, Жирность,%= 2.5 ",

то вот такой другой товар:

"Молоко, Объем,л= 2.5 , Жирность,%=1.5"

будет признан совпадающим, и не сможет добавиться.

При поиске нужно принимать с клиента пары тег=значение, и в SQL не разрывать их, а сохранять соответствие.
...
Рейтинг: 0 / 0
Карточка товара. Прайс-лист.
    #39245252
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV Ничего страшного. "Вы просто не умеете их готовить" (с) :)Мопед не мой, я просто указал на грабли. Пусть ТС решает насколько это существенно и заранее ищет способы их обходить.
LSV Можно хранить "чисто для истории", но пользоваться/искать/апдейтить - ужос.Не нравится XML пользуйтесь JSON - те же яйца вид сбоку.
Мой пойнт был в том что XML может быть УЖЕ использоватся хотя бы для загрузки/выгрузки, XQuery далеко до SQL в плане стабильности и распространенности, но это куда лучше самописных функций/процедур.
LSV К тому же это может оказаться непортабельно на разные СУБД. Согласен, опять же пусть ТС решает что ему важнее: работающее приложение для одной СУБД или как-нибудь работающее на любой СУБД.

Подводя итог - чем больше способов (каждый со своими плюсами и минусами) знает проектировщик для решения задач, тем больше вероятность подбора оптимального способа, вписывающегося в рамки проекта.
...
Рейтинг: 0 / 0
Карточка товара. Прайс-лист.
    #39245259
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ключевые слова здесь для ТС: розница, очередь, большой ассортимент, если подход и структура не будут похожи на автомат калашникова (десяток - два строгих, однозначных таблиц с минимальной избыточностью и грамотно связанных по ключам) то при продаже первого же товара первому же клиенту процесс может затянуться до неприемлемых временных характеристик при выборе самого товара
...
Рейтинг: 0 / 0
Карточка товара. Прайс-лист.
    #39245382
lod2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cane Cat Fisher[src]
При поиске нужно принимать с клиента пары тег=значение, и в SQL не разрывать их, а сохранять соответствие. Спасибо за тестирование кода. Почитал про EAV тут на форуме - много тем похожих на мою, и в принципе EAV это антипатрн. Раз уж советы даются ближе к теме, то хочу сузить задачу и раскрыть ее прменение.
Два пользователя составляют один каталог (на форуме уже над этим смеялись не раз). Но все же. Изначально каталог пустой. Первый вводит: молоко, этого продукта нет. Он заносит по нему мимнимум инфы: "Молоко "Петренское" (это в нормальной таблице) 3.2, 900 мл. (это уточняющий мусор расширяющий сущность, пока что вижу его в EVA)".
Второй пользователь делает запрос: молоко. В ответ получает список всех "Молоко", визуально находит "Молоко "Петренское" 3.2, 900 мл." - добавляет себе в корзину (вобщем в системе каждый пользователь получает ссылку на один объект в каталоге). Пользователи замотивироаны на использование Товара уже описаного в каталоге. Новый товар заносится пользователем в каталог только если его нет с такими хар-ками (эту функцию оставляю на пользователе, т.к. система не для магазина, где сотрудник наполняет стурктурированный каталог для ценников).
Все хар-ки по товару в карточку заносить не надо. Только минимальный набор, по которому можно его выбрать из группы других товаров: картинка, уникальное название: "Кока-кола со вкусом горчицы, 0.5 л.", "телевизор Samsung UE40JU6000U" - какие еще у телика хар-ки не важно, главное что визуально второй пользователь может выбрать "Samsung UE40JU6000U" и второй раз в систему заводить не будет (или кол-во таких двойных заводок сведется к минимуму). Вобщем вот такая вот задача: подружить двух пользователей через товар, инфу по котрому в систему они заводят сами (а не магазин, не производитель).
Можно пойти по принципу Яндекс-маркета: описать (структурирвать) основные категории, а для товаров "Вешалка для шнурков ботинок из китая" - сбрасывать в один неструктурированный каталог (EAV). Для описания структур со стороны приложения (а не пользователем) небходимо будет выделить ресурс, котрого пока что нет. Поэтому и винтилирую вопрос: столкнуть эту задачу на пользователя, если это возможно сделать.
...
Рейтинг: 0 / 0
Карточка товара. Прайс-лист.
    #39245893
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Универсальный каталог для ACNielsen что ли ? :)

и в принципе EAV это антипатрн.Коллега, Вам очень рано делать такие выводы. У Вас не опыта. От слова "совсем".
Ничего лучше не придумано. В любом случае это делается к-л EAV решением, если нужна универсальность/портабельность, а не узкозаточенность под задачу и платформу.
Главные вопросы "как лучше организовать EAV ?" и "какие функции на него возложены ?".
Начните не инженерного аспекта, а с организационного:
каковы процедуры процесса ?
кто вводит данные ?
кто проверяет ?
кто корректирует ?
каков жизненный цикл ?
с кем обмен инфой ?
какие узкие места ?
...
Рейтинг: 0 / 0
Карточка товара. Прайс-лист.
    #39246044
lod2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSVУниверсальный каталог для ACNielsen что ли ? :) Один из возможных выходов приложения - да :) Но пока задача далека от захвата мирового господства в сфере маркетинга. Пока нужно решить вопрос: один пользователь завел карточку о товаре, а второй смог ее найти по поиску, и если хар-ки в карточке его устроили, то взял карточку себе в локальный каталог, а если хар-ки другие, то завел новую карточку. Это в общих словах.
По Вашим вопросам конечно я работаю. Организационные решения нужно сопоставлять с инженерными: а возможно ли "хотелки" реализовать в условиях СУБД. Попробую больше упор сделать на Реляционную СУБД, и меньше на EVA. Возможно найдется компромисс вообще без EVA (из серии "ларчик просто открывался"). Результат (на чем остановился) отпишу в теме.
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Карточка товара. Прайс-лист.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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