powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / как устроить правильный ключ?
33 сообщений из 33, показаны все 2 страниц
как устроить правильный ключ?
    #32764933
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Справочник клиентов ведут 10 менеджеров. Как можно реально обеспечить ввод одного клиента не более чем один раз? Как не допустить «ООО Днепр» вместе с «Днепр ООО» или "Общество с ограниченной ответственностью "Днепр""?
То есть, вопрос в использовании внешних ключей и в том, откуда их брать.
ИНН (индивидуальный налоговый номер) в данном случае также не подходит, т.к. он одинаковый у филиалов, его не применишь к нерезидентам, и главное - он катит только для 100% "белой" бухгалтерии. А если бухгалтерия, точнее учетная политика компании - реальная, и/или если в базу вносятся не только клиенты, заключившие договора, но также потенциальные клиенты, по факту первого общения с ними (в тотм числе, даже физические лица), с целью это общение продолжить - то надо что-то иное в качестве ключа использовать!
Как же быть?
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32765018
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Как можно реально обеспечить ввод одного клиента не более чем один раз?

Решения в общем виде не существует. Можно уменьшить количество ошибок.

> Как не допустить «ООО Днепр» вместе с «Днепр ООО» или "Общество с
> ограниченной ответственностью "Днепр""?

1. Стандартизовать организационно-правовые формы (т. е., хранить их отдельно и выбирать, а не вводить);
2. Явно описать информационный стандарт (как именно описываются предприятия, сотрудники, какие сокращения допустимы, какие - нет etc);
3. Использовать маркер "достоверности" записи: вновь созданная запись недостоверна, пока не проверена администратором (не только на соответствие имени и организационно-правовой форме предприятия, но и сопутствующие атрибуты (телефоны, url'ы, mail'ы, сотрудников etc).

> То есть, вопрос в использовании внешних ключей и в том, откуда их брать.

Факультативно - идентификатор налогоплательщика (он есть в любой стране) с дополнительными признаками. Imho не как ключ, а как _дополнительный_ идентификатор.

> надо что-то иное в качестве ключа использовать

Естественно, суррогатный ключ. Независимо от наличия/отсутствия естественных ключей.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32765789
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для ООО- - фотокопия печати в базе.

для лиц - рожа и скан отпечатка пальца
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32765901
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, пальцы нам сканировать вряд ли дадут, но идея с печатями - очень классная! Лепсик, может ещё что подскажете?
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32765955
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_200406211. Стандартизовать организационно-правовые формы (т. е., хранить их отдельно и выбирать, а не вводить);
2. Явно описать информационный стандарт (как именно описываются предприятия, сотрудники, какие сокращения допустимы, какие - нет etc);
3. Использовать маркер "достоверности" записи: вновь созданная запись недостоверна, пока не проверена администратором (не только на соответствие имени и организационно-правовой форме предприятия, но и сопутствующие атрибуты (телефоны, url'ы, mail'ы, сотрудников etc).

Мы пошли другим путем... решили не бороться с неправильным вводом, а предусмотрели механизм слияния клиентов, хотя все выше сказанное конечно же верно.
Случай был. Смотрю в базе отсартированной по названию на первом месте появился "Орион". Оказалось что первый символ 0 (ноль) . На вопрос зачем так написали, ответели: "мы с ним чаще всего работаем, чтоб проще выбирать было".
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32766558
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В моем приложении наименование фирмы - это один атрибут (Днепр), а форма организации - это другой атрибут (справочник). Несколько надежнее получается, хотя могут и тут напороть
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32766595
Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователи всегда найдут способ обойти все ограничения. Какой бы супер навороченный механизм защиты не был придуман.
Как один из вариантов - можно делать разбор как в поисковиках, по вхождению слов. При этом забить слова исключения (все те же ООО, АО и пр.). Одновременно проверять и телефоны. При совпадении хотя бы на 70% предупреждать и предлагать выбор ... но остальное все равно будет на совести юзеров.

Andrey
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32766663
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Мы пошли другим путем... решили не бороться с неправильным вводом,

Imho напрасно. Тупым манагерам тяжело объяснить про количество информации, ошибки ввода и пр. Практически невозможно.

> Пользователи всегда найдут способ обойти все ограничения. Какой бы супер
> навороченный механизм защиты не был придуман.

Хм... ну, если специально будут искать, - скорее всего найдут, конечно. Но нужно будет очень постараться. Фишка в том, что правильный ввод - это не только программное решение, а еще и информационная политика (информационные стандарты) + штрафы за искажение информации. Ага. И только так.

> Как один из вариантов - можно делать разбор как в поисковиках, по вхождению
> слов. При этом забить слова исключения (все те же ООО, АО и пр.).
> Одновременно проверять и телефоны. При совпадении хотя бы на 70%
> предупреждать и предлагать выбор...

Крайне низкая эффективность. Организационно-правовую форму обычно можно выделить, а ориентироваться на телефоны, факсы, мейлы как на источник надежной информации я бы не стал. Абсолютно реальная ситуация: регистрируется новое предприятие с теми же телефонами, адресом и пр., отличающееся от старого множественным числом имени. Причем, некоторое время (иногда значительное) работает и старое предприятие. Imho здесь один выход: получить полный перечень реквизитов и сравнить их со старыми.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32766803
Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Хм... ну, если специально будут искать, - скорее всего найдут, конечно. Но нужно будет очень постараться. Фишка в том, что правильный ввод - это не только программное решение, а еще и информационная политика (информационные стандарты) + штрафы за искажение информации. Ага. И только так.
Это не дело программеров. Это дело политики предприятия в которую мы зачастую не можем вмешиваться, а только давать рекомендации. Наше же дело как можно лучше предусмотреть потенциальные ошибки.

guest_20040621Крайне низкая эффективность. Организационно-правовую форму обычно можно выделить, а ориентироваться на телефоны, факсы, мейлы как на источник надежной информации я бы не стал. Абсолютно реальная ситуация: регистрируется новое предприятие с теми же телефонами, адресом и пр., отличающееся от старого множественным числом имени. Причем, некоторое время (иногда значительное) работает и старое предприятие. Imho здесь один выход: получить полный перечень реквизитов и сравнить их со старыми.
Ну правовую форму то выделить можно, только пользователи ее все равно иногда вводят (на всякий случай). А ориентироваться надо на все поля. Чем больше элементов сравнения, тем естественно, большая достоверность.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32766880
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Это не дело программеров. Это дело политики предприятия в которую мы
> зачастую не можем вмешиваться, а только давать рекомендации. Наше же дело
> как можно лучше предусмотреть потенциальные ошибки.

Есть техническое задание, которое _уже_ учитывает информационный стандарт. Задача кодера - его реализовать. Без затей и отсебятины. И не нужно предусматривать потенциальных ошибок, - консультанты предметной области знают предметную область как бы сильно лучше кодера. Ы?

> Ну правовую форму то выделить можно, только пользователи ее все равно иногда
> вводят (на всякий случай).

Дружище, это одноразовая акция: такой пользователь при первой ошибке предупреждается, при второй - увольняется. Ибо незачем платить деньги даунам.

> Чем больше элементов сравнения, тем естественно, большая достоверность.

В случае предприятий единственный критерий достоверности - соответствие регистрационным данным и уставным документам. Все. И никакие дополнительные проверки достоверности Вам не добавят.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32770432
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык я-то не "кодер". Если бы речь шла именно о кодировании, то вопрос бы ставился на акссессном форуме. А я его ставлю на форуме по проектированию баз данных, и надеюсь именно на советы по организации, а не по кодированию!
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32770539
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> дык я-то не "кодер".

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

> надеюсь именно на советы по организации, а не по кодированию!

В Вашем случае изобретать нечего. Типовая задача, типовая реализация.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32771517
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32773551
Фотография Makar4ik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в свое время писал процедурку, которая сканирует таблицу на "похожесть" наименований, т.е. на частичные совпадения.
Это не решение, но помощь менеджерам, которые не хотят искать существующую запись перед ее забивкой.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32778611
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то все получается слишком по словянски...
1)Нужна методика генерации внешнего ключа - но руководство не желает использовать стандартный способ идентификации юр. лиц. который гарантирует уникальность. (название филиала можно легко сделать составной частью ключа)
2)Потенциальные клиенты - хотят быть реальными но не желают указать свой паспортный, налоговый, расчетный и т.д. номера.
3)Имеет место двойная бухгалтерия которая законам арифметики плохо подчиняется.
Грустно...
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32779282
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вовсе не грустно!
Напротив - весело и интересно!
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32780491
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
mayton. Вашу проблему я решаю так.
В базе есть названия "для себя". Туда записываются названия фирм в том виде, в котором они удобны юзерам базы. Типа - "ЧП Иванов, скотина, плохо расплачивается с долгами". И каждая "скотина" имеет суррогатный ключ. И у каждой "скотины" есть поля "Официальное название", "Р/с", "ИНН" и пр.

Признак бухгалтерии = (Черная, Белая) является реквизитом сущности "операция"

==========================
Вопрос о хранении историй изменения реквизитов контрагентов - отдельная тема.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32782550
DDL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDL
Гость
Matilda Cherstinдык я-то не "кодер". Если бы речь шла именно о кодировании, то вопрос бы ставился на акссессном форуме. А я его ставлю на форуме по проектированию баз данных, и надеюсь именно на советы по организации, а не по кодированию!

Без перепроектирования не обойтись:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Таблица clients:
1. client_id <уникальный номер клиента для связи с другими таблицами - первичный ключ number>
2. form_id <ссылка на таблицу form - справочника форм собсвенности number>
3. name <имя клиента приведенное к верхнему регистру и очищенное от кавычек на прикладном уровне varchar2>
4. buh_colour <"цвет бугалтерии" number>
5. ... остальные свойства клиента

Таблица form
1. form_id <ID формы собсвенности number>
2. name <название формы varchar2>

на прикладном уровне реализовать выбор формы собственности и цвета бухгалтерии из листбоксов

создать по столбцам 2,3,4 уникальный индекс.

при вводе перехватывать исключение DUP_VAL_ON_INDEX и выводить сообщение. что клиент уже существует.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32782592
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>DDL
И что? Все это было перечисленно и ранее. Как и было сказанно, такое решение 100% гарантии правильного ввода не дает.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32783233
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пускай 10 менеджеров аккуратно ведут словарь клиентов. А иначе - эвристика получается.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32783238
Ekuku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этой теме столько лет, сколько учет существует, а решения готового нет.
Пытались всё создать ИИ для словоформ и словообразования, а кроме Промта дырявого и им подобных все нет лучше. Единственный метод - это держать выделенных людей на справочниках, которые плюясь и матерясь будут исправлять и сортировать записи. Постепенно всё устаканится и возникнут регламенты ведения записей для каждого справочника. До тех пор, правда, пока эти люди не уволятся.. Потом опять эта кавасия сначала происходит.. :)
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32785436
дино
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Завести в Вашей БД справочник синонимов и каждое введенное наименование прокручивать через него. При достаточном проценте совпадений предлагать менеджеру список синонимов. Также посадить человека на ведение справочника и подачу кляуз на нерадивых менеджеров.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32785440
Ekuku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дино.. каждое введенное наименование прокручивать через него .. Также посадить человека на ведение справочника и подачу кляуз на нерадивых менеджеров. Лучше сразу завести мясорубку и прокручивать через нее галстук на шее того манагера, который не слушается.. Дешево и практично.. Еще практичней в шредер его галстук запихивать..
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32787632
дино
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To Ekuku: что лучше или хуже, будет решать Matilda Cherstin, наше дело помочь человеку.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32787728
Ekuku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
диноTo Ekuku: что лучше или хуже, будет решать Matilda Cherstin, наше дело помочь человеку. Ну в общем да.. конечно..
Но в вашем предложении есть неприятный момент. Вы тоже предлагаете устраивать поиск на совпадение и релевантность, но это опасно .
И это уже обсуждалось.
Вы когда-нибудь видели например сколько вариантов слова "Буратино" бывает? А я видел в каталогах для электронного магазина от разных поставщиков книжек.. :-)
Мясорубка форева! Но прокручивать только галстук..
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32787828
дино
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, Ekuku. В принципе, задачу можно решить достаточно надёжно при небольшом ежедневном притоке новых клиентов. Менеджер должен иметь возможность только выбирать имя клиента из списка. Новых клиентов должен обслужиать отдельный человек (или несколько человек), достаточно подготовленный.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32787884
Ekuku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дино..В принципе, задачу можно решить достаточно надёжно при небольшом ежедневном притоке новых клиентов. Менеджер должен иметь возможность только выбирать имя клиента из списка. Новых клиентов должен обслужиать отдельный человек (или несколько человек), достаточно подготовленный. Может и так.. Все зависит от количества.. Главное это вовремя понять , когда количество начинает переходить в другое качество. А для этого должен быть вменяемый руководитель проекта у заказчика. Вот, блин, опять политика полезла..
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32789201
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас так:
Любые операции с клентами делаются на основе ДОГОВОРА:
Инфу о клиенте заносят ЮРИСТЫ, для контроля ставится фио заводящего юриста в карточку организации.
В карточке 2 поля организации: краткое наименование и полное наименование
По правилам в кратком наименовании заносится без ковычек наименование
организации, затем признак: Забота ООО, Пупкин ЧП и т.д.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32813523
Нафаня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Matilda CherstinСправочник клиентов ведут 10 менеджеров. Как можно реально обеспечить ввод одного клиента не более чем один раз? Как не допустить «ООО Днепр» вместе с «Днепр ООО» или "Общество с ограниченной ответственностью "Днепр""?
...
Как же быть?

Обучить манагеров. И давать в лоб тем, кто фигню заводит.
У нас это по крайней мере сработало.

А так .... сводить справочники...
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32817469
Bigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ekuku дино.. каждое введенное наименование прокручивать через него .. Также посадить человека на ведение справочника и подачу кляуз на нерадивых менеджеров. Лучше сразу завести мясорубку и прокручивать через нее галстук на шее того манагера, который не слушается.. Дешево и практично.. Еще практичней в шредер его галстук запихивать..

ALL USERS MUST DIE!!!
&&
Good User - Dead User!!!
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32819178
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем случае эта задача действительно не решается.

авторСтандартизовать организационно-правовые формы (т. е., хранить их отдельно и выбирать, а не вводить);
Это хотя и правильно, но не не всегда помогает. Организационно-правовых форм у нас по ОКОПФ - 38 видов. А наименований - ООО, ТОО, ОАО - хренова туча. А еще есть "Представительство ОАО ....". А еще всякие Адвокатские конторы... В принципе, стандартизуются все (наверно), но это либо нужно очень хорошего юриста иметь, либо натыкаться на такие неожиданные наименования постоянно.

ИНН есть у всех резидентов и, частично у нерезидентов. У тех нерезов, которые не зарегистрированы в налоговой (но которые ведут какой-то бизнес) есть КОИ. Но, другое дело, то что ИНН или КОИ не всегда известен на момент ввода в базу.

авторИспользовать маркер "достоверности" записи
Это хорошая идея, но нужно заранее разобрать ситуации - что с такими клиентами делать? Счет открыть нельзя, договор заключить... - надо разруливать.

Я использую некую хитрую процедуру поиска - по многим параметрам (различным для юрлиц и физлиц); некоторые из параметров однозначны (напр. если ИНН), плюс отчет (за день, за период) - по введенным клиентам; отчет проверяется руководителем.

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32819236
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Это хотя и правильно, но не не всегда помогает. Организационно-правовых форм
> у нас по ОКОПФ - 38 видов. А наименований - ООО, ТОО, ОАО - хренова туча.

Нет под руками Закона об АО, но, если правильно помню, между полным названием организационно-правовой формы и ее сокращением взаимно однозначное соответствие.

Единственная проблема - существование АОЗТ (конторы реально существуют, а такой организационно-правовой формы нет).

> А еще есть "Представительство ОАО ....". А еще всякие Адвокатские конторы...

Это формализуется.

> Это хорошая идея, но нужно заранее разобрать ситуации - что с такими
> клиентами делать? Счет открыть нельзя, договор заключить... - надо разруливать.

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


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