|
|
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Имеется таблица с запчастями. Нужно создать таблицу аналогов запчастей. Вопрос в том, как правильно организовать это дело, чтобы не дублировать информацию в таблицах и при поиске аналогов выводить список их всех? (К примеру есть запчасть с id = 1 и id = 2, в таблице аналогов стоит соответствие 1 и 2... как сделать так, чтобы не дублировать запись вида 2 и 1 и при этом искать аналоги независимо от порядка расположения id) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:08 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
ввести признак "запчасть" и к ней лепить все id ей соответствующие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:20 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
waszkiewicz, должна получиться одна таблица, в которой идет соответствие id - id. Записи не должны дублироваться типа 1 2 2 1 и вот по такой таблице осуществить эффективный поиск аналогов (групп) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:23 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
хе-хе. а если аналогов 100 штук? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:30 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
авторхе-хе. а если аналогов 100 штук? это ровным счетом ничего не меняет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:33 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
если их то штук, то и записей будет 100 штук задача в том и стоит, чтобы не дублировать записи с одинаковыми парами Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:35 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7, Судя по постановке, это учебная задача? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:49 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
miksoft, вообще нет, это реальная задача. да и думаю, это не столь важно же) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:54 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7вообще нет, это реальная задача. Тогда откуда такое странное ограничение "чтобы не дублировать"? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:56 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7вообще нет, это реальная задача.Совершенно не похоже. В реальных задачах обычно существуют оригинальные номера. Если у двух запчастей есть хотя бы один совпадающий оригинальный номер (в паре с производителем, по каталогу которого идет этот номер), то условно эти запчасти можно считать аналогами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:56 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Поправка - мой предыдущий был про автозапчасти. Возможно, в других предметных областях это поиск аналогов бывает иначе. Но тогда нужно детальное описание этой части предметной области. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:59 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Можно установить правило ID1 > ID2. Поиск будет, скорее всего, менее эффективным чем с дублями - но тут уж либо дудочка, либо кувшинчик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:04 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
miksoftПоправка - мой предыдущий был про автозапчасти. Возможно, в других предметных областях это поиск аналогов бывает иначе. А у автозапчастей аналогия всегда взаимна? То есть если Б может быть использовано вместо А, то А всегда может быть использовано вместо Б? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:17 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovmiksoftПоправка - мой предыдущий был про автозапчасти. Возможно, в других предметных областях это поиск аналогов бывает иначе. А у автозапчастей аналогия всегда взаимна? То есть если Б может быть использовано вместо А, то А всегда может быть использовано вместо Б?Обычно да. Хотя исключений и тонкостей много. Поэтому и спрашиваю про задачу, т.к. все эти тонкости могут учитываться в разной степени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:26 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Да, взаимная аналогия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:27 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7, Предметная область-то какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:28 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
miksoft, автозапчасти. Я с этой областью сталкиваюсь первый раз, поэтому могу не знать каких-либо тонкостей. Но заказчик просил именно двустороннюю аналогию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:48 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7miksoft, автозапчасти. Я с этой областью сталкиваюсь первый раз, поэтому могу не знать каких-либо тонкостей. Но заказчик просил именно двустороннюю аналогию.Тогда почему не ориентируетесь на номера? Если они есть, то отдельно учитывать факт аналогичности обычно не надо, т.к. они прямо вытекает из номеров. P.S. Кстати, отношение аналогичности не транзитивно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:52 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7, Возьми TecDoc и не мозоль ни себе ни людям. Если есть вопрос - показывай как сделал, мы тебя пошлем в правильном направлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:59 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Злой БобрTecDocВот ни разу не образец правильного проектирования БД. Хотя для вникания в предметную область сойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 19:02 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
miksoft, Я к тому что если у ТС боевая задача, то без знания предметной области это будет кривая и убогая поделка. Поэтому взять готовый TecDoc - наименьшее из зол. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 19:05 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за советы, буду разбираться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 19:17 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
если конкретно за запчасти - то есть сущность "Запчасть" ("Колодка тормозная" например) . Туева хуча производителей выпускает её со своими артикулярными номерами. ЯТД ТС и имеет их ввиду под "id". Что мешает сделать таблицу, описывающую все "Запчасти" и объединить как я предлагал выше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 19:51 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7, таблица - "Запчасти" (тут все запчасти, все!!!) таблица - "Аналоги" (id запчасти, id запчасти аналог) - подчиненная таблица, так сказать, ничего повторяться не будет! все! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 23:15 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Уважаемый автортаблица - "Аналоги" (id запчасти, id запчасти аналог) - подчиненная таблица, так сказать, ничего осталось выяснить, кто запчасть, а кто аналог. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 10:26 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
LSVУважаемый автортаблица - "Аналоги" (id запчасти, id запчасти аналог) - подчиненная таблица, так сказать, ничего осталось выяснить, кто запчасть, а кто аналог. :)И из какого источника и на каком основании брать информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 10:35 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
LSV, Проблема еще в том, что нужная какая-то сводная таблица, в которой будут отображаться группы запчастей, которые так скажем все подходят (взаимозаменяемы, аналоги). Допустим у нас имеется определенная запчасть, и мы хотим увидеть, какие еще запчасти могут подойти. И эта запчасть не обязательно является оригиналом или аналогом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 13:27 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7нужная какая-то сводная таблица, в которой будут отображаться группы запчастей, которые так скажем все подходят (взаимозаменяемы, аналоги)Не нужна, если будет опираться на номера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 13:33 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
miksoft, Да, я и имел в виду ту самую таблицу "Аналоги". Просто если искать по левому идентификатору, то да, мы получим группу. А как поступать в случае с правым тогда? Учитывая такую вещь например, что мы не знаем, искомый идентификатор находится справа или слева. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 13:41 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7miksoft, Да, я и имел в виду ту самую таблицу "Аналоги". Просто если искать по левому идентификатору, то да, мы получим группу. А как поступать в случае с правым тогда? Учитывая такую вещь например, что мы не знаем, искомый идентификатор находится справа или слева.Храните двусторонние связи в виде двух записей (прямой и обратной) в этой таблице. Т.е. фактически это будет таблиц замен - что на что можно заменить. Хотя в очередной раз повторяю - если ориентироваться на оригинальные номера, то и эта таблица аналогов станет не нужна. В принципе таблицу замен реализовать можно, но ее очень тяжело поддерживать в будущем при мало-мальски приличных объемах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 13:52 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7А как поступать в случае с правым тогда? Выкинуть. Оставить только левые. Код: sql 1. Код: sql 1. 2. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:05 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Огромное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:23 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Я проходил этот вопрос в кач-ве заказчика. Замены могут быть в рамках одного производителя и разных. Замена может быть односторонняя, двухсторонняя, единицы на группу, группы на единицу, с доп. работой и может еще что-то забыл. Надо понимать цель работы. Заказчику надо определиться с бизнес-ограничением. Если надо подгружать прайсы и остатки поставщиков, то надо принять к сведению, что у них могут быть разные названия одних производителей. Надо сводить наименования производителей. Имеет место, особенно в Поволжье, выдумывание номенклатуры. Для автоматики загрузки надо привязывать определенные строчки из остатков к готовым спискам. Это ОЧЕНЬ серьезная работа. Я бы рекомендовал взять готовые решения, заточенные на автобизнес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:39 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Игорь Дубков... Я бы рекомендовал взять готовые решения, заточенные на автобизнес. Автор не ищет легких решений. К тому же это стопудово не боевая задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 15:36 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
shemik7Имеется таблица с запчастями. Нужно создать таблицу аналогов запчастей. Вопрос в том, как правильно организовать это дело, чтобы не дублировать информацию в таблицах и при поиске аналогов выводить список их всех? (К примеру есть запчасть с id = 1 и id = 2, в таблице аналогов стоит соответствие 1 и 2... как сделать так, чтобы не дублировать запись вида 2 и 1 и при этом искать аналоги независимо от порядка расположения id) PART( part_id => part_name, f1,f2,f3 ...) PART_ANALOGUE(part_id, analogue_part_id) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 16:32 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
занимаюсь похожей задачей ) 1 нужна предварительная обработка поискового запроса (для уменьшения массива переборки идентификаторов), т.е. это убрать пробелы, черточки, точки , заменить кирилицу на латиницу (у меня запчасти импортные) 2 создать базу данных для поиска тут два пути - создание "жесткой" базы и потом вечное ее обслуживание (дополнение поправляние и т.д. ( а это будет каждый день, и тут либо туда на работу идти ,либо заказчик недоволен) - создание оболочки +админка простенькая, которая позволит править ошибки и подгружать новые записи в БД на мой взгляд второй вариант приемлимее. потому как не существует в природе полных и корректных баз аналогов запчастей, кроме того , как правило, компания специализируется на конкретных производителях и это и будет основа БД. 3 структура БД эталонный идентификатор и к нему массив аналогов (поверьте массив будет состоять точно не из одного ID, у меня количество доходит до 50шт и постоянно добавляется. именно поэтому и удобно сделать редактируемый вариант массива переборки) Ну тут вопрос, а какой ID будет эталонным? Эталон у нас - это и есть запчасти от конкретных поставщиков, с которыми работает компания. если же таковых не имеется, то придется БД увеличить на количество записей из массива переборки (то есть в моем варианте в 50 раз!) и тут вы зацените предварительную обработку поискового запроса - пункт 1 ----- например, есть такой производитель MAN (грузовики делает), одна из деталей этого грузовика -ПГУ. его аналоги 9700514120, 9700514127, 81307256092, 630361AM, SG4804, 81307256084, 2250249, TT0713064, 22000033, 05011412, BK1202078AS, 23F142, 341203, 630361AM, 35898, 81307259084, 81307256085, 81307256107, 81307256116 это уже обработанные номера, изначально они выглядели чуть не так 970 051 412 0 , 81.30725.6092, 81.30725-6092 и т.д. если не "привести" всех к единому виду, то все эти номера нужно тоже поместить в массив переборки + полезно было бы и раскладку клавы исправлять и русские буквы латинскими заменять а что эталонный ID ? Пусть мы работает с производителем TTT, тогда наш эталон TT0713064 (в оригинале , кстати, TT07.13.064), а все остальные номера массив переборки. До и еще, я же не сказала что на один вопрос может быть больше одного ответа, т.е. результат поиска - это более одного эталонного идентификатора ))) P.S. хорошо бы все это еще и картинками сдобрить, в общем действительно такой себе филиал TECDOCа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 15:49 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
Ой, а я сказала что таблицы должен предоставить заказчик? а они у него есть? а в каком виде? поверьте опытной тете- на это уходит львиная доля времени, потому как если они и есть, то в таком виде что их еще в порядок приводить нужно (причем долгооооооо) поэтому наличие админки - просто находка, иначе задергают. Пусть сами занимаются забивкой аналогов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 15:54 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
MUSYAKAубрать пробелы, черточки, точки , заменить кирилицу на латиницуТочнее, убрать все символы, отличающиеся от букв и цифр, привести к верхнему регистру, заменить кириллицу на латиницу со схожим написанием, заменить все виды буквы "О" на цифру "0", заменить кириллическую "З" на цифру 3. Иногда еще нужно заменить букву "l" на цифру "1". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 17:05 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
MUSYAKA, может нечто по принципу Одноклассников есть друзья 1--1ф 2--1ф 2--2ф 3--2ф видим общих друзей 1ф и 2ф получаем возможную группу 1 1ф 2 2ф 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 20:06 |
|
||
|
Поиск аналогов запчастей
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКАMUSYAKA, может нечто по принципу Одноклассников есть друзья 1--1ф 2--1ф 2--2ф 3--2ф видим общих друзей 1ф и 2ф получаем возможную группу 1 1ф 2 2ф 3 так и не так, тут другая специфика. на выходе нужно получить конкретный ответ, а не все связи. в моем понимании структуры поиск ведется по всем 1, 1ф,2,2ф ... , НО результат поиска , например, 1 а вот то что получается (выводится как результат поиска) зависит от требований заказчика. это могут быть списки только тех номеров, товар по которым лежит на складе (или доступен к заказу). если действительно вываливать абсолютно все соответствия, то это уже гораздо бОльший объем базы (а есть ли в такой объеме смысл?), т.е. в любом случае нужно знать поставленную задачу. Это кстати в облегченном виде решение. я не копаю в замены (это не аналоги, которые нужно понимать как реплики оригинала), в комплектующие (если деталь имеет ремкомплекты), и к ним тоже аналоги и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2015, 10:42 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1540472]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 9ms |
| total: | 267ms |

| 0 / 0 |

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