Главная страница


su.dbms

 
 - SU.DBMS ----------------------------------------------------------------------
 From : Victor Kolos                         2:4621/14.110  21 Jun 2002  11:36:09
 To : Igor Shmidt
 Subject : Уникальный ключ для человека
 -------------------------------------------------------------------------------- 
 
 Чет Июн 20 2002 10:05, Igor Shmidt wrote to All:
 
  IS> From: "Igor Shmidt" <mca@cpl.pstu.ac.ru>
 
  IS> Как наилучшим образом обеспечить уникальность ключа для человека в
  IS> разных БД? Ввод в разных БД будет происходить совершенно независимо.
 
 В принципе - ключ - довольно тупая штука для идентификации человека в случае
 неточности ввода оператором. В твоем случае есть несколько подходов:
 1. Обеспечить доступ к некому центральному компу который генерил бы уникальный
 код - тупой способ который тянет за собой частую синхронизацию и огромное
 количество неточностей.
 2. Заносить как можно больше идентификаторов человека -
 2.1. Дата рождения - все понятно - в случае однофамильцев поможет (только
 поможет) их различить;
 2.2. Фамилию, имя, отчество - каждое в своем поле, причем поля имени и отчества 
 пусть синхронизируются с таблицей имен, происходящих от них отчеств и склонений 
 (согласись ты же не всегда будеш выдавать какие либо справки в именительном
 падеже - а все таки будеш). Так вот - ввел имя (даже первые буквы - выскакивает 
 его окончание - и оператор доволен - и тебе мороки меньше с ошибками) - если
 такового в буфере нет - выскочит запрос на добавление или исправление ошибки.
 2.3. Паспорт - серию и номер - еще одна помощь в различии одноименных людей
 2.4. Идентификационный номер - кстати обязательный везде (!) - проверь.
 
 Вот тебе четыре фактора по которым ты должен искать наиболее похожего человека в
 уже существующей базе - точнее 7 полей.
 Совпадение записи по 5 полям можно считать похожей (мало того, при вводе первых 
 из них - например - дата и фамилия - твоя прога может предложить готовую запись 
 оператору - он так буден рад выбрать уже существующего человека в базе).
 
 Hу, естественно, не забываем что в твоей базе каждый человек будет иметь свой
 уникальный номер - согласно топологии твоей БД.
 
 Если совпадает всего 2-3 поля - значит - не обойтись без людского фактора.
 Это значит что раз в неделю некий оператор запустит проверку на похожесть и
 просмотрит возможные варианты исправлений. В случае корректности в логическое
 поле каждой записи пишем 1 - это означает что эта запис проверена и дальнейшей
 проверке не подлежит.
 Таким образом оператор будет проверять только последние, введенные за неделю
 записи.
 
 Теперь механизм синхронизации. Какой-то филиал передает свою базу с "людьми" в
 другой, либо (что лучше) в центральный. Там в автоматическом режиме твоя прога
 сравнивает поступившие (только поступившие, либо измененные) записи и наводит
 порядок у себя. В случае совпадения человека но различия ключа твоей базы
 возникает коллизия. В таком случе побеждает та запись у которой дата создания
 или коррекции старше, либо выбирается случайно. Теперь ты возвращаешь назад либо
 новый ключ на который нужно изменить посланную запись либо некий значок Ок.
 И так - последовательно с каждой базой.
 
 Примерно таким способом я синхронизирую БД у себя. Прогнозируется БД в среднем
 по 5 млн. записей по каждой из 7 последовательно релированных таблицах.
 Сеть - коаксиал! С сервером тут никак не развернуться. Пришлось разработать
 псевдорепликацию (приблизительно такую) что позволяет быстро доступаться к БД и 
 синхронизировать БД не то что в областном а в республиканском масштабе (!)
 Причем синхронизацию можно проводить с частотой от 1 мин. до нескольких дней,
 что практически мало влияет на трафик 10 МБитной сетки. А, если сеть не работает
 - то абче - можно дискетками синхронизировать - ведь за день (да что там день) -
 неделю инфы - на дискетку очень мало.
 
  IS> Как я догадываюсь,
  IS> номер пенсионого страхового свидетельства есть попытка получения
  IS> такого
  IS> ключа, кто-нибудь в курсе как этот номер получается? -- Примите заверения
  IS> и проч. Игорь Шмидт
 
 В послесловие - не пытайся привязываться к такого рода номеру - очень часто
 номера путаются, забываются.
 А этот вариант, не смотря на кажущуюся громадность - очень надежный способ
 избежать неоднозначностей и головных болей и значительно упрощает процедуру
 ввода новых данных оператором (продуктивность в данном случае повышается в 2-3
 раза). А это - бонус тебе ка программисту. :)
 
 Всех благ!
 Victor
 
 ---
  * Origin:     ---> The Golden Wizard <---     (2:4621/14.110)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Уникальный ключ для человека   Igor Shmidt   20 Jun 2002 10:05:01 
 Re: Уникальный ключ для человека   Denis Gorbunov   20 Jun 2002 22:07:31 
 Re: Уникальный ключ для человека   Igor Shmidt   21 Jun 2002 10:37:15 
 Re: Уникальный ключ для человека   Andrew Grachyov   24 Jun 2002 21:59:00 
 Re: Уникальный ключ для человека   Denis Gorbunov   26 Jun 2002 00:35:12 
 Re: Уникальный ключ для человека   Andrew Grachyov   28 Jun 2002 20:09:00 
 Re: Уникальный ключ для человека   Denis Gorbunov   29 Jun 2002 19:39:43 
 Re: Уникальный ключ для человека   Andrew Grachyov   02 Jul 2002 23:33:00 
 Re: Уникальный ключ для человека   Ђ«ҐЄбҐ© Њ ¬®­®ў   21 Jun 2002 08:33:58 
 Re: Уникальный ключ для человека   Igor Melnik   21 Jun 2002 11:53:06 
 Re: Уникальный ключ для человека   Igor Shmidt   21 Jun 2002 12:09:47 
 Re: Уникальный ключ для человека   Eugene Karataev   21 Jun 2002 13:08:45 
 Re: Уникальный ключ для человека   Igor Evgrafov   21 Jun 2002 18:16:45 
 Уникальный ключ для человека   Vadim Rumyantsev   21 Jun 2002 22:51:32 
 Re: Уникальный ключ для человека   Igor Trofimov   30 Jun 2002 12:43:28 
 Re: Уникальный ключ для человека   Igor Melnik   24 Jun 2002 13:17:31 
 Уникальный ключ для человека   Victor Kolos   21 Jun 2002 11:36:09 
 Re: Уникальный ключ для человека   Serguei Tarassov   22 Jun 2002 12:26:31 
 Re: Уникальный ключ для человека   Serguei Tarassov   22 Jun 2002 13:17:27 
 Re: Уникальный ключ для человека   Vladimir Pavlikov   24 Jun 2002 14:14:51 
 Re: Уникальный ключ для человека   Serguei Tarassov   24 Jun 2002 23:05:16 
 Re: Уникальный ключ для человека   Vladimir Pavlikov   25 Jun 2002 12:39:35 
Архивное /su.dbms/173703d131a62.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional