Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте все. Есть следующая проблема. Нужно вести справочник материалов в холдинговой структуре с распреленной БД. Справочник, естественно, единый для всех подразделений, и заполняться данными может в любом подразделении. Обмен данными происходит 1 раз в сутки. Хотелось бы при такой системе иметь максимально упорядоченный справочник материалов. Подскажите кто нибудь как это можно реализовать. PS ссылки приветствуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 08:33 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Поищи слово репликация применительно к своей СУБД Жизнь коротка - потерпи немного :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 13:55 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Да дело не в репликации. Она настроена. База единая, справочник гуляет туда сюда, и как бы во всех подразделениях единый. Мне нужно, чтобы было как можно меньше мусора в этом справонике. А то получается, что в каждом подразделении любой пользователь может добавлять-менять-удалять материал, и может получится (хотя скорее всего не может, а ОБЯЗАТЕЛЬНО получиться) что один и тотже материал встречается в справочнике N-ое количество раз, или в одном подразделении завели ТМЦ а в другом через некоторое время его удалили как дублирующийся. Вот именно от этого и хочется избавиться. А забрать эти права у подразделений не реально в виду того, что ТМЦ заноситься в справочник каждый день. Может кто то решал эту проблему. Програмно или организационными мерами. PS Может я вопрос не в тот форум завесил, если так посоветуйте где спросить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 16:12 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Такое ощущение, что тебе от этой проблемы никогда не избавиться :( Частично можно решить данную проблему проверкой данных при слиянии записей в единый справочник и последующей перекодировкой данных на локальных узлах (устранение дублирования кодов ТМЦ в локальных копиях). Но есть одно "НО": по какому критерию "отсекать" дублирующиеся записи ТМЦ у которых разные коды! Если по наименованию, то это не всегда удастся, так как один может сократить название, другой написать его полностью и т.д. Вариантов бесконечно много... Мое предложение такое: Запретить удаление записей из общего справочника, а разрешить только добавление и "слияние" дублирующихся записей. Для процесса "слияния" ведется соответствующий журнал (какое значение было у удаленной записи, какое его заменяет, кто и когда эту операцию сделал), который перекачивается вместе со справочником и на основе которого модифицируются локальные базы... В общем, задачка твоя близка к общеизвестной "задаче о коммивояжере", которая решается полным перебором всех известных вариантов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 06:51 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Можно попробовать решить проблему добавив в справочник ТМЦ поле "класс ТМЦ". При появлении дублей, ессесно визуально, определяем к какому классу отнести этот дубль, а при удалении перекидывать коды на родительскую запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 10:36 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
знаешь что такое CVS и как оно работает?) Используйте тот же принцип. А вариантов решения может быть много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 10:49 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Dik76Можно попробовать решить проблему добавив в справочник ТМЦ поле "класс ТМЦ". При появлении дублей, ессесно визуально, определяем к какому классу отнести этот дубль, а при удалении перекидывать коды на родительскую запись. В таком случае работа в очень скором времени превратится в "визульное" определение дублей и ручное "перекидывание" удаленных записей. :-) Прежде всего для хранения материалов можно (а если база материалов большая, то даже нужно) использовать ОКП - общероссийский классификатор продукции. Это 5 справочников, последовательно связанных между собой: классы, подклассы, группы, подгруппы, виды. Т.е., например, нельзя завести вид, не заведя все, что идет "сверху", т.е. начиная с класса. Любой из этих справочников схематично имеет три поля: код, наименование, relation на "вышестоящий" справочник, например. ------------------------------------- create table class ( class_id varchar(2), s_name varchar(60) not null constraint pk_class_id primary key (class_id) ) create table subclass ( subclass_id varchar(3), -- размерность ключевого поля увеличивается на 1 s_name varchar(60) not null, class_id varchar(2) not null constraint pk_subclass_id primary key (subclass_id) constraint fk_class_id foreign key (class_id) references class ) ------------------------------------- и т.д. Самый последний (шестой) справочник будет содержать собственно сами материалы, куда обычно добавляется такая информация как "единица измерения" (тоже relation), "цена", всякие справочные данные. Первичным ключом будет номенклатурный номер, который, как нетрудно догадаться, получается путем "склеивания" по одной цифре от ОКП. Это, так сказать, по общей структуре. Что касается с синхронизацией данных по филиалам, то обычно в таблицы добавляют поле, однозначно идентифицирующее площадку (филиал), и запрещают редактирование и удаление записи, заведенной на другой площадке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 13:40 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Общее решение проблемы возможно, очевидно с использованием элементов исскуственного интеллекта:-). Начнем с примера. Была (как то) БД на 100 000 строк, в которой в поле Примечание отражалось "белым текстом" суть хозяйственной операции. Просто по русски, криво, косо, большими...маленькими..как угодно. Возник вопрос - дать свод объемов продаж(закупок) - "по видам товаров" (хоть как то...но со смыслом). Результат был получен через 3 часа раб_времени, путем интенсивного юзания оператов SQL типа... SELECT DISTINCT....GROUP BY.... WHERE LIKE "%.....%".... через UPDATE .....SET .....WHERE ....(select ...from...). Итогом стала весьма компактная аналитика, дескать вот чугуны...вот ферросплавы ...или шихта... (Так же было известно, что флагман_гигант_металлургии "потребляет" всего не более чем 7000 наименований TMЦ). Итак, задача решалась ручным способом в стиле "после того как" - сравнительно легко. Один раз "разобрались"....классифицировали...подобрали синонимы - в дальнейшем, для новых данных - легко можно было найти ВСЕ новые комбинации_правописания_белого текста - и быстренько, на лету все снова там под_винтить (синонимов новых или старых добавить). Применительно к задаче ведения справочника - не сложно придумать набор процедур ителлектуальной обработки поля Имя_ТМЦ. Можно просто....сравнивать части слов...в произвольном порядке...например, в пределах ГРУППЫ ТОВАРОВ. Можно проверять....(для новых товаров) - правильность выбора Групп, путем поиска анализа контекста... Для анализа контекста - можно применить вероятностый алгоритм...случайно берем стринг_часть и тупо сравниваем ....в целях расчета рейтинга... Можно...крайне ужесточить процедуру Добавления Нового ТМЦ - путем Сильного Диалога - через ...запросы....ключевых слов. Или (И) - через алгоритмы -> убивания_пробелов & кракозябр & не_русские ИМХО: замечу - унификация - это нужда для Аналитика. Аналитику можно дать инструмент аля_выбор_синонима_на_лету - для всех (ТМЦ)_ кто еще_не_окучен. Имхо - это самое надежное. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 18:30 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
2 UK0IAI А вот у меня один пишет "аспирин", а другой "ацетилсалициловая кислота". И как бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 08:45 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
авторА вот у меня один пишет "аспирин", а другой "ацетилсалициловая кислота". И как бороться? Что-то я не очень понял - а для чего тогда нужен номенклатурный номер, он же первичный ключ? -) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 09:27 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Способ предложенный kkv вероятно самый оптимальный. Почитать про ОКП и прочие классификаторы можно здесь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 09:27 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
C такими вещами можно бороться только двумя путями 1) Существенно ограничить возможности ввода 2) Если 1) не проходит - только организационные меры : разъяснения линии партии, консультации, нахождение ляп - отслеживание их происхождения- беседа с виновником. Жизнь коротка - потерпи немного :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 09:32 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Сталкивались с подобной проблеммой, частично решили, но потребовалось идти двумя путями, орг. и программным. Программно-технический: 1. Был разработан иерархический классификатор групп ТМЦ, вот он-то как раз разрешен к ведению только в одном филиале. 2. При внесении новой ТМЦ не допускаеться ее внесения без привязке к какой-нибудь группе, нижнего уровня иерархии. 3. Если вносящий не может итендифицировать принадлежность к конкретной группе, ТМЦ вноситься в группу "неопознаные". 4. Бар код ТМЦ автоматически сцепляеться из кодов групп в восходящей иерархии. 5. Програмно проверяеться уникальность бар-кода и отражаються ТМЦ с усеченным до нижней группы сегментом бар-кода. 6. Запрещаеться последующая модификация бар-кода. Организационные: Вводиться должность администратора каталога ТМЦ. Ему вменяеться в обязанности: 1. Ведение каталога групп ТМЦ, разработка, присваивание кодов, выстраивание иерархий, заполнение и т. д. 2. Отслеживание и разноска ТМЦ, привязанных к группе "неопознаные". 3. Выполнение операций слияния ТМЦ, в случае, если в эту группу была внесена дублирующая ТМЦ. 4. Производит изменение бар-кода ТМЦ. 5. Разраболтка регламента слияния ТМЦ. 6. Отслеживает пользователей, которые черезчур активно работают с группой "неопознаные". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 10:03 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
авторавтор А вот у меня один пишет "аспирин", а другой "ацетилсалициловая кислота". И как бороться? Что-то я не очень понял - а для чего тогда нужен номенклатурный номер, он же первичный ключ? -) К сожалению у меня задача несколько другая и списки этих товаров я получаю от сторонних фирм. Тут никакие орг.меры не применимы, увы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 12:48 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
sti А ты их что, самостоятельно вгоняешь в БД? Так ведь енто-то дело предметника, а не DBA. Тут же аргументации вагон и маленькая тележка, на тему не знаю предметной области, требуеться как минимум, создания кросс-таблиц(ы), ее поддержание и т. д. Неужели отбрехаться нельзя? Опять же можно пойти орг. мерами, а именно проработать регламент наполнения каталога и в нем соответсвенно прописать схемы и методы анализа при внесении данных в БД и необходимость ответсвенного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 13:41 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
stiсписки этих товаров я получаю от сторонних фирм Нда... Ситуация не позавидуешь. Однако и здесь можно что-нибудь придумать. Первое, что приходит в голову, это создать таблицу соответствий номенклатурных номеров, правда, это задача, особенно на начальном этапе, большей частью ручная и очень трудоемкая. Например, в Вашей базе данных есть запись: номенклатурный номер - 1 наименование - Ацетилсалициловая кислота а из разных источников к Вам поступают следующие наименования: Поставщик А - "Аспирин", Поставщик Б - "Ацетилсалициловая кислота", Поставщик В - "АспЕрин". (ошибка допущена умышленно) Следовательно, таблицу соответствий надо привести к следующему виду. Код: plaintext 1. 2. 3. А уже потом, на основании данных этой таблицы в свою базу данных приходно/расходные операции прописывать под номенклатурным номером 1. Само собой, разумеется, что такой работой должен заниматься отдельный человек, т.к. эта работа требует знания номенклатуры. Однако, это уже, скорее, организационный вопрос, в чем я полностью согласен с Гостем Алексеем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 13:52 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Для kkv С наступающем, народ:) Вообще-то, вопрос ведения любых справочников - это в большей степени вопрос предметиков, чем админов. Другой вопрос, что любой админ, если хочет работать боль-менее комфортно, должен осуществить донесение до руководства мнения о том, что DBA - не источник данных, он не должен нести за них никакой ответственности, он обеспечивает лишь работоспособность ситемы. В противном случае, по моему, надо требовать доплаты за выполнение задач, не соответсвующих должностным инструкциям и обязанностям:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 14:48 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Гость_Алексейне должен нести за них никакой ответственности, он обеспечивает лишь работоспособность ситемы. Ведением данных DBA, заниматься, разумеется, не должен. А вот что касается ответственности за данные, то, обеспечение сохранности данных как раз и является первейшей обязанностью админа. Впрочем, не стоит развивать эту тему, она явно для другого топика. Всех с наступающими праздниками! P.S. Как объяснить иностранцу, что для русского человека одна бутылка водки - много, две - ни то, ни сё, а три - мало?! :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 16:37 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Ну я же вам прямо все говорю - нужны эвристические алгоритмы исскуственного ителекта. Самообучающие программы. Тогда в ситуации : Код: plaintext 1. 2. Полезный результат Код: plaintext 1. 2. 3. будет получен следующим образом: 1. Оператора при первом вводе слова Аспирин - ЗАПРОСЯТ точно указать СИНОНИМ (один или много), например по многослойному классификатору. Если - синонимы не нашли - ВЫЗОВ к АДМИНУ - коррекция классификатора. 2. Оператора при первом вводе слова Ацетилсалициловая кислота - ЗАПРОСЯТ точно указать СИНОНИМ (один или много), например по многослойному классификатору. При этом - если, при выборе Синонима - для одного С. уже Есть несколько Оригиналов - Оператора спросят - Что будем делать - принять решение 3. При Вводе любого Названия - вызов эвристического аргоритма "Угадайка". Поиск по базе Названий и Синонимов - как части слова названия. Слова "Аспирин", "АспЕрин" - совпадают между собой: (Или у них УЖЕ есть одинаковый Синоним - собственно Аспирин_имхо, или они походи по группе или они похожи по str (<...>,1,3).... или у них одинакова длина....или у них стринги совпадают на 85%....или что_там_еще. 4.Самообучение. Если уже было "Аспирин", "АспЕрин" то при вводе "АспАрин" - все само сработает. ....даже не обращаясь к синонимам. 5. Что касается рещепта от Гость_Алексей - это стандартная процедура, без такой процедуры - никакой Интеллект не спасет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 17:18 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Вот мои пять копеек На мой взгляд (и опыт), если справочник заполняют больше, чем один человек, это всегда ошибки, создание синонимов и т.д. Мы создали отдельную форму для слияния разных значений в одно. При просмотре сгруппированных отчетов соответствующими специалистами, видно, какие данные размножились. А потом открывают специализированную форму, несколько кликов мышки, ОК и все, до следующего раза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2004, 13:17 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2004, 19:03 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
Гость_АлексейА ты их что, самостоятельно вгоняешь в БД? Упаси боже! Программно. Там сотни тысяч позиций. К счастью это не справочник ТМЦ, поэтому ситуация не смертельная. Просто есть две проблемы: 1. когда юзер ищет чего-нибудь, то он иногда находит не все записи 2. статистику хочется иметь, а проблематично Таблица соответствий имеется, но она, разумеется, никогда не является полной. UK0IAIНу я же вам прямо все говорю - нужны эвристические алгоритмы исскуственного ителекта. Самообучающие программы. ... Если уже было "Аспирин", "АспЕрин" то при вводе "АспАрин" - все само сработает. ....даже не обращаясь к синонимам. А вот это очень сомнительно. А если окажется, что "АспАрин" это другое самостоятельное название? Без человека все равно никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2004, 06:34 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
2 sti 1. когда юзер ищет чего-нибудь, то он иногда находит не все записи Обратите внимание - что грит гугле когда мы там че то ищем....дескать возможно есть ищо!!. Вопрос только в выборе стратегии....проверки нет ли чего ищо.... ....смторите что делает ворд при орфографической проверки слова...как он возможные варианты подбирает .....тоже стратегия кстати... А вот это очень сомнительно. А если окажется, что "АспАрин" это другое самостоятельное название? Без человека все равно никак. А зачем от человека отказываться - пусть чел все смотрит и оценивает...при удачном стечении (положении планет) - все что нужное и точное - будет (должно быть) в первых строках списков....скорее всего.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2004, 15:32 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
UK0IAIА зачем от человека отказываться - пусть чел все смотрит и оценивает...Господа! А вам не кажется, что создание такой системы с искуственным интеллектом уже само по себе является разработкой?! И стоит ли она вообще того, чтобы ее писать? Ведь, насколько я понял из предыдущих сообщений, все, так или иначе, сводится к тому самому пресловутому "человеческому фактору". Может, проще выделить отдельного человека, хорошо знакомого с предметной областью и административно указать в его должностных обязанностях ведение таблиц соответствий? Высказывание: vma_mntесли справочник заполняют больше, чем один человек, это всегда ошибки, создание синонимов и т.д. как нельзя лучше согласуется с этим подходом. В конце-концов, существуют же такие специальности как товароведы... Это в том случае, когда входящая информация поступает в электронном виде. А если в печатном виде (как правило, наиболее распространенный вариант), то заполнение таких таблиц соответствий можно возложить на самих пользователей: если в документе указан "АспЕрин" или "АспАрин", то она все равно указывает "Ацетилсалициловая кислота", просто потому, что она это ЗНАЕТ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2004, 16:21 |
|
||
|
Единый справоник материалов в распределенной БД.
|
|||
|---|---|---|---|
|
#18+
2sti Да, со статистикой енто конечно всегда проблемма:( У нас не сотни тысяч наименований, порядка одной сотни тыщ - но именно ТМЦ. Для решения задачи построения сколько-нибудь достоверных стат. отчетов, отчетов для руководства пришлось таки долго и нудно продавливать узаконивание форм отчетности, в которой фигурируют группы, до какой-нить произвольной глубины, в зависимости от того, с какого рабочего места они получаються. В принципе, можно и дать возможность дрил-дауна до элемента каталога, но тогда уж и с итендификатором пользователя/организации этот элемент "родившей". Пусть, кому надо видят кто такое нагородил, может и выводы какие последуют:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2004, 17:17 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32504480&tid=1546490]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 489ms |

| 0 / 0 |
