|
|
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Есть список людей, есть список их посещений. Нужен идентификатор человека для связи этих списков пожизненный.. Документы (паспорта и т.п.) не подходят, т.к. меняются в жизни несколько раз либо выдаются через несколько лет после рождения (страховое пенсионное свидетельство) + не все их постоянно носят с собой.. Искуственные идетификаторы (GUID например) не подходят, т.к. данные будут сливаться из разных учреждений и следовательно у одного человека получиться два идентификатора.. Варианты: 1) Уникальный идентификатор человека: ФАМИЛИЯ+ИМЯ+ОТЧЕСТВО+ДАТАРОЖДЕНИЯ+МЕСТОРОЖДЕНИЯ получаем длинный текстовый идентификатор с высокой степенью уникальности (маловероятно рождение двух людей с одинаковыми фио в один день в одном населенном пункте, кроме Москвы конечно :) ) Неясно как быть при смене фамилии (например при замужестве).. Немогу предсказать скорость работы БД (SQL Server 2000) при большом количестве данных (предполагается около 2-3 млн. человек и 15-20 млн. посещений в сводной базе на местах конечно меньше) 2) ? Ктонибудь сталкивался с такой проблемой.. каким образом строили идентификатор человека? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 09:43 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
по ходу напрашиваются отпечатки пальцев :) как там счас с аппаратными сканерами отпечатков ??? ведь наверняка есть такие устройства... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 09:53 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
anjeyпо ходу напрашиваются отпечатки пальцев :) как там счас с аппаратными сканерами отпечатков ??? ведь наверняка есть такие устройства... а сервер умеет строить индексы по отпечаткам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 10:09 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Не надо флудить.. проблема серьезная, но какое то решение должно быть.. неидеальное.. тут уж смотря чем придется поступиться.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 10:18 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
anjeyпо ходу напрашиваются отпечатки пальцев :) как там счас с аппаратными сканерами отпечатков ??? ведь наверняка есть такие устройства... Не забывайте, что не всегда есть пальцы....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 10:21 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Уникальный Идентификатор - суррогатный ключ Всё остальное - атрибуты. 100% "надёжности" не будет, предусмотрите механизм объявления двух персон одной. Ищите в форуме - копий уже сломано не мало и будет поломано ещё P.S. "Карл Маркс и Фридрих Энгельс - два человека, а не четыре, а Слава КПСС - вовсе не человек" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 10:26 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
OS/360Уникальный Идентификатор - суррогатный ключ Всё остальное - атрибуты. 100% "надёжности" не будет, предусмотрите механизм объявления двух персон одной. Ищите в форуме - копий уже сломано не мало и будет поломано ещё P.S. "Карл Маркс и Фридрих Энгельс - два человека, а не четыре, а Слава КПСС - вовсе не человек" Какой суррогатный ключ использовать - GUID? Как он нагрузит БД при таких объемах данны? По каким параматрам объявлять две персоны одной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 10:42 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
не вижу проблемы в вопросе: - нет никакого АВТОраспознователя одного человека, придётся писать свои БизнесПравила - Привязываться надо к чему-либо официальному (список паспортов/ИНН/штрих-кодНаРуке) - Постоянный мониторинг базы на поиск "подозрительных" запуском ХП Код: plaintext ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 10:50 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Во! ДНК в качестве ключа подойдёт :) Правда у мухи Дроздофиллы похожая :) ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 10:52 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
SchwanЕсть список людей, есть список их посещений. Нужен идентификатор человека для связи этих списков пожизненный.. Документы (паспорта и т.п.) не подходят, т.к. меняются в жизни несколько раз либо выдаются через несколько лет после рождения (страховое пенсионное свидетельство) + не все их постоянно носят с собой.. Искуственные идетификаторы (GUID например) не подходят, т.к. данные будут сливаться из разных учреждений и следовательно у одного человека получиться два идентификатора.. Варианты: 1) Уникальный идентификатор человека: ФАМИЛИЯ+ИМЯ+ОТЧЕСТВО+ДАТАРОЖДЕНИЯ+МЕСТОРОЖДЕНИЯ получаем длинный текстовый идентификатор с высокой степенью уникальности (маловероятно рождение двух людей с одинаковыми фио в один день в одном населенном пункте, кроме Москвы конечно :) ) Неясно как быть при смене фамилии (например при замужестве).. Немогу предсказать скорость работы БД (SQL Server 2000) при большом количестве данных (предполагается около 2-3 млн. человек и 15-20 млн. посещений в сводной базе на местах конечно меньше) 2) ? Ктонибудь сталкивался с такой проблемой.. каким образом строили идентификатор человека? Возьмите № свидетельства о рождении - оно с нами от начала (с первых дней) до конца жизни... Остальное "от лукавого" Приоткройте тайну - что это за мега-система такая: слияние разных баз, список посещений, 2-3 млн. человек зарегистрированных в базе данных, да еще и условие постоянного наличия документа, удостоверяющего личность... Уж не про нелегальных иммигрантов ли речь идет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 11:02 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Идентфикационный номер налогоплательщика (ИНН). Присваивается единыжды, при смене места жительства не меняется, после смерти повторно этот же номер не выдается. Правда не все физ. лица его получили... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 11:29 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
ИНН при смене места регистрации - меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 11:51 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Станислав СВозьмите № свидетельства о рождении - оно с нами от начала (с первых дней) до конца жизни...Боюсь, что при утере оно восстанавливается под другим номером... Если требования настолько строгие, то, может, правда задуматься об отпечатках пальцев? сканеры сейчас стоят вполне потребных денег, индексировать их (ес-сно не изображение, а некий код) в базе - не проблема... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 12:06 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
miksoftв базе - не проблема... проблема индексировать и анализировать данные об отпечаках пальцев а некий код - это что подразумевается? у попа была собака? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 12:13 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
proposed amendment miksoftв базе - не проблема... проблема индексировать и анализировать данные об отпечаках пальцев а некий код - это что подразумевается? у попа была собака?Сейчас ссылку не найду, но читал про сканеры отпечатков пальцев для целей безопасности и управления доступом. К ним в комплекте идет специальное ПО, которое изображение отпечатка переводит в 128-битный (или 128-байтный, не помню) код. Этот код примечателен тем, что: 1) равенство кодов говорит о равенстве отпечатков. 2) невозможно обратное преобразование из кода в отпечаток, что соответствует нормам защиты частой жизни и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 12:23 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Не о каких сканеров отпечатков речь конечно не идет, мы же не ФСБ :) Придется использовать искуственный ключ + проверки по нескольким параметрам.. Но подойдет ли ГУИД для объединения таблиц людей и посещений при подобных объемах данных (будут еще и разнообразные отчеты строится)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 12:46 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Кстати, не так давно обсуждали . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 12:52 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
SchwanНе о каких сканеров отпечатков речь конечно не идет, мы же не ФСБ :)Тогда ослабляйте требования. И, ес-сно, продумывайте процедуры объединения и разделения "аккаунтов". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 12:53 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
требования сканировать отпечатки пальцев, как и размеров других участков тела :) мягко говоря незаконно. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 13:16 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно по каким призанкам на данный момент регистрируется "посещение" человека. Под уникальным идентификатором подразумевается какой то признак, предъявляемый человеком в процессе "посещения"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 13:30 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Сергей СергеевичНе совсем понятно по каким призанкам на данный момент регистрируется "посещение" человека. Под уникальным идентификатором подразумевается какой то признак, предъявляемый человеком в процессе "посещения"? Нужно знать состояние человека при посещении: документы, место жительства, социальный статус и т.п. Вообщем вырисовывается такая структура (убавил щучку): Таблица ЛЮДИ: 1) ИД ЧЕЛОВЕКА (ГУИД) 2) ФАМИЛИЯ 3) ИМЯ 4) ОТЧЕСТВО 5) ДАТА РОЖДЕНИЯ 6) МЕСТО РОЖДЕНИЯ 7) ОГРН УЧРЕЖДЕНИЯ (УНИКАЛЬНЫЙ ИД УЧРЕЖДЕНИЯ) Таблица СОСТОЯНИЯ 1) ИД СОСТОЯНИЯ (СЧЕТЧИК) 2) ИД ЧЕЛОВЕКА (ИЗ ЛЮДИ) 3) АДРЕС 4) ВИД ДОКУМЕНТА 5) СЕРИЯ 6) НОМЕР 7) СТАТУС (ПЕНСИОНЕР,СТРУДЕНТ И Т.П.) Таблица ПОСЕЩЕНИЯ 1) ИД ПОСЕЩЕНИЯ (ГУИД) 2) ИД СОСТОЯНИЯ (ИЗ СОСТОЯНИЯ) 3) ДАТА 4) ПРИЧИНА 5) РЕЗУЛЬТАТ Таким образом мы сможем объединять данные внутри учреждения и внутри территории, а так же иметь информацию о статусе человека при каждом конкретном состоянии.. Пришлось пожертвовать глобальной идентификацией человека :) - как видно идентифицируется уникально только внутри учреждения, в принципе пока и не требуется большего.. Кто чего скажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 15:40 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
ГУИД человека не несёт никакой смысловой нагрузки - заменить на счётчик. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 16:16 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
anjeyкак там счас с аппаратными сканерами отпечатков ??? Хреново. По опыту использования - плохо опознают и хорошо ломаются. Хотя само собой первое больше софтовая проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 16:31 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Schwan Какой суррогатный ключ использовать - GUID? Как он нагрузит БД при таких объемах данны? По каким параматрам объявлять две персоны одной? вероятно, GUID нагрузит СУБД существенно меньше, чем составной естественный ключ по фио с датой рождения Две персоны объявляются совпадающими, если в процессе работы выявилось, что одна персона по ошибке получила более одного идентификатора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 18:14 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
OS/360 вероятно, GUID нагрузит СУБД существенно меньше. да, может быть... но что он даст в контексте исходного вопроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 19:20 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
> Автор: SchwanЕсть список людей, есть список их посещений. > Нужен идентификатор человека для связи этих списков пожизненный.. > Документы (паспорта и т.п.) не подходят, т.к. > Универсального решения к сожалению сейчас нет... Паспорт меняется, ИНН просто не у всех, СНИЛС - хоть и должен быть у всех (это не всегда верно), но к сожалению, по своему опыту могу сказать, что у разных людей может быть один и тот же... в ПФ тоже люди работают... в общем стоит думать об механизмах выявления дублей Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 22:19 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Petro123ГУИД человека не несёт никакой смысловой нагрузки - заменить на счётчик. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! А как объединять базы тогда? Вообще и в талице состояния идентификатор нужно делать тоже ГУИД, но тогда нужна еще отметка "Текущее".. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 10:09 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Должна быть возможность объединять все данные на уровне учреждения и всех учреждений.. Как поведет себя база с большим объемом данных (милионы) при использовании ГУИД в качестве идентификатора во всех трех таблицах ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 10:14 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
SchwanДолжна быть возможность объединять все данные на уровне учреждения и всех учреждений.. Как поведет себя база с большим объемом данных (милионы) при использовании ГУИД в качестве идентификатора во всех трех таблицах ? Не изобретай велосипед. Вопрос объединения БД (репликация) при совпадении кодов товара обмусолен в форуме MS SQL Server тысячу и один раз. ГУИД здесь не поможет и СУБД с ним работает медленнее. С таким-же успехом (если боятся совпадения счётчика) можно добавлять БД№1 в БД№2 не заполняя счётчик в целевой БД (он сам заполнится). А вот как ты будешь искать 2-х Ивановых в БД№1 и в БД№2 если базы заполнялись разрозненно это твои проблемы (проектирования). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 11:13 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
> Должна быть возможность объединять все данные на уровне учреждения и всех учреждений.. Очередной национальный проект? Не занимайтесь фигней, заплатите денег тем, кто умеет решать такие задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 11:31 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Должна быть возможность объединять все данные на уровне учреждения и всех учреждений.. Очередной национальный проект? Не занимайтесь фигней, заплатите денег тем, кто умеет решать такие задачи.вышел закон "О персональных данных" федерального уровня . До 2010 года надо запустить федеральную БД. Чел наверно оттуда )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 11:52 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Нормализации данных нет вообще имхо.... структуру БД надо перестраивать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 12:10 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Сергей СергеевичНормализации данных нет вообще имхо.... структуру БД надо перестраивать... А конкретно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 12:50 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Petro123 SchwanДолжна быть возможность объединять все данные на уровне учреждения и всех учреждений.. Как поведет себя база с большим объемом данных (милионы) при использовании ГУИД в качестве идентификатора во всех трех таблицах ? Не изобретай велосипед. Вопрос объединения БД (репликация) при совпадении кодов товара обмусолен в форуме MS SQL Server тысячу и один раз. ГУИД здесь не поможет и СУБД с ним работает медленнее. С таким-же успехом (если боятся совпадения счётчика) можно добавлять БД№1 в БД№2 не заполняя счётчик в целевой БД (он сам заполнится). А вот как ты будешь искать 2-х Ивановых в БД№1 и в БД№2 если базы заполнялись разрозненно это твои проблемы (проектирования). Есть БД1, есть БД2 - производиться выгрузка данных в какой либо формат, затем данные загружаются в БД3.. (Никакой сети нет!). Если получилось 2 Ивановых, то (если это один и тот же человек), то приводим его к одному (ХП например).. Это если есть ГУИД.. А если нет? Тогда мне непонятно как сохранять связь между данными.. Просветите.. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 12:57 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Schwan Сергей СергеевичНормализации данных нет вообще имхо.... структуру БД надо перестраивать... А конкретно?например1: человек сменил фамилию (ИО). например2: одно посещение по нескольким причинам; по одной причине несколько результатов. например3: у человека несколько статусов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 12:58 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
adv Schwan Сергей СергеевичНормализации данных нет вообще имхо.... структуру БД надо перестраивать... А конкретно?например1: человек сменил фамилию (ИО). например2: одно посещение по нескольким причинам; по одной причине несколько результатов. например3: у человека несколько статусов. 1) Да если человек сменил фамилию, то мы теряем информацию о том какая фамилия у него раньше была.. но нам это не важно, гораздо важнее, что мы знаем, что это тот же самый человек.. 2) Таблицу посещений давайте трогать не будем пока - поля которые я прописал в ней условные, я лишь пытался показать связь между таблицами.. 3) ДА учеловека несколько статусов: эта таблица используется для того чтобы хранить информацию о них - т.е. знать какой статус был у человека при каждом конкретном посещении. Но мы должны естественно знать текущий (последний) статус (либо максимальный код, либо если код ГУИД, то тогда нужна отметка что статус текущий (логическое поле).. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 13:12 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Мне важно принципиальное построение БД для такой задачи: т.к. объемы данных будут довольно большие и использоваться будет много лет.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 13:15 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
1. весело будет искать по фамилии, например, посещения товарища. Или вы по ид искать будете:)? 2. не трогаем по просьбе трудящихся. 3. >т.е. знать какой статус был у человека при каждом конкретном посещении при конкретном посещении, например, два статуса - что делаем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 13:18 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Аффтар! У вас репликация? Или вы это слово не знаете? Если знаете то по какому типу? ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 13:24 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
adv1. весело будет искать по фамилии, например, посещения товарища. Или вы по ид искать будете:)? 2. не трогаем по просьбе трудящихся. 3. >т.е. знать какой статус был у человека при каждом конкретном посещении при конкретном посещении, например, два статуса - что делаем? 1) Запрос типа: SELECT ПОСЕЩЕНИЯ.* FROM (ПОСЕЩЕНИЯ LEFT JOIN СОСТОЯНИЯ ON ИД_ПОСЕЩЕНИЯ.ИД_СОСТОЯНИЯ=СОСТОЯНИЯ.ИД_СОСТОЯНИЯ) LEFT JOIN ЛЮДИ ON (СОСТОЯНИЯ.ИД_ЧЕЛОВЕКА=ЛЮДИ.ИД_ЧЕЛОВЕКА) WHERE ЛЮДИ.ФАМИЛИЯ LIKE "ПЕТРОВ%" Должен вывести посещения всех Петровых и Петровских.. Или Вы имеете ввиду что эти запросы будут "тяжелые"? 2) Как может быть два статуса при одном посещении: в таблице ПОСЕЩЕНИЯ только один код статуса.. Т.е. связь один ко многим (Один статус - много посещений). Если статус изменился создаем новый на основе данных предыдущего.. Не может же быть у человека два паспорта одновременно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 14:08 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Проблема идентификации физлиц уже обсуждались, можете поискать. Конкретно, Dik76 к сожалению прав - универсального 100%-го решения нет. Есть решения с большей или меньшей надежностью - сравнение по ФИО + дата рождения + ИНН + паспорт. Дополнительно - здесь уже кто-то предложил интересный вариант - сравнений цифр в адресе (кроме индекса). Для сравнения ФИО можно попробовать нечеткий поиск - дабы ловить ФИО, набитые с ошибками. Полной гарантии эти способы не дадут, но... приблизят. Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 15:47 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Petro123Аффтар! У вас репликация? Или вы это слово не знаете? Если знаете то по какому типу? ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! Да с репликациями не фонтан.. :) Подскажите тогда как реплицировать БД на двух компьютерах с MSDE и без сети? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 15:49 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
aagПроблема идентификации физлиц уже обсуждались, можете поискать. Конкретно, Dik76 к сожалению прав - универсального 100%-го решения нет. Есть решения с большей или меньшей надежностью - сравнение по ФИО + дата рождения + ИНН + паспорт. Дополнительно - здесь уже кто-то предложил интересный вариант - сравнений цифр в адресе (кроме индекса). Для сравнения ФИО можно попробовать нечеткий поиск - дабы ловить ФИО, набитые с ошибками. Полной гарантии эти способы не дадут, но... приблизят. Nobody faults but mine... (LZ) Для набивки имен и отчеств используются справочники.. Для идентификации человека несколько параметров Ф.И.О.+Дата рождения+место рождения, можно использовать СНИЛС и т.д. Весь вопрос теперь в другом: какую структуру БД создать чтобы была возможность объединения данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 15:53 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
SchwanВесь вопрос теперь в другом: какую структуру БД создать чтобы была возможность объединения данных? репликация, либо административными мерами (ты не трогаешь моих, я не трогаю твоих) :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 16:20 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Schwan1) Запрос типа: SELECT ПОСЕЩЕНИЯ.* FROM (ПОСЕЩЕНИЯ LEFT JOIN СОСТОЯНИЯ ON ИД_ПОСЕЩЕНИЯ.ИД_СОСТОЯНИЯ=СОСТОЯНИЯ.ИД_СОСТОЯНИЯ) LEFT JOIN ЛЮДИ ON (СОСТОЯНИЯ.ИД_ЧЕЛОВЕКА=ЛЮДИ.ИД_ЧЕЛОВЕКА) WHERE ЛЮДИ.ФАМИЛИЯ LIKE "ПЕТРОВ%" Должен вывести посещения всех Петровых и Петровских.. Или Вы имеете ввиду что эти запросы будут "тяжелые"? Я имел ввиду, что если петров поменял фамилию на сидоров, то вашим запросом вы не найдёте его посещения. автор 2) Как может быть два статуса при одном посещении: в таблице ПОСЕЩЕНИЯ только один код статуса.. Т.е. связь один ко многим (Один статус - много посещений). Если статус изменился создаем новый на основе данных предыдущего.. Не может же быть у человека два паспорта одновременно? автор7) СТАТУС (ПЕНСИОНЕР,СТРУДЕНТ И Т.П.)не раскрывая итп товарисчь может быть и пенсионером (ex. военным) и студентом (ex. заочником). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 18:03 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Вчера попытался ответить, подготовил текст, что-то не сложилось. Пробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 18:25 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Есть опыт анализа БД на 400 000 человек. Данные взяты по миллионному городу (6 городских районов). Анализировались два городских района. Данные реальные по избирательным участкам. Сколько ошибок данных пришлось обработать! Разработаны справочники мужских и женских имен, мужских и женских отчеств. Фамилии являются достаточно уникальными - в справочник не встали! Ключ: Фамилия +КодИмени+КодОтчества+годрождения+место рождения. Вероятность повтора 1 на 5 000 000. Попутно были найдены двойники в избирательных списках. Немного, около 100 человек. Неправильно провели границу между участками! Вместо года рождения лучше взять дату рождения. За место рождения в крупном городе - считать адрес прописки родителей на момент рождения. Идеальным, наверное является свидетельство о рождении. Пока все. Но материала много. С уважением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 18:38 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Одним из важных вопросов является реализация алгоритма сравнения введенной ошибочной информации и эталонной (находящейся в справочнике.) Структура БД (MSSQL 2000) не представляет сложностей. Одна из трудностей - работа в реальном времени. Когда у окошка регистрации очередь более 30 человек в течение 3-4 часов. Пропускная способность 2 мин на человека. Около 100-150 человек в пиковом режиме. Документы не у всех. Документы разные. С уважением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 18:49 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Уважаемые модераторы! Почему отправленные сегодня (22.11.2006 18:35-18:40 мск) сообщения задвигаются на 2-ю страницу. Нет среди актуальных ответов? С уважением. 22.11.2006 19:10 мск ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 19:06 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
> Фамилии являются достаточно уникальными - в справочник не встали! Это ошибка. > Ключ: Фамилия +КодИмени+КодОтчества+годрождения+место рождения. Это принципиальная ошибка. Во-первых, составной ключ - плохо по определению. Во-вторых: отчество может отсутствовать; имен может быть несколько; для включения места рождения в ключ необходим справочник населенных пунктов [не только РФ] плюс как минимум история изменений их названий (само собой, плюс локализация и транслитерация). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 21:06 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Мне кажется лучше примерно так: Таблица ЛЮДИ: 1) ИД ЧЕЛОВЕКА (ГУИД) 2) ОГРН УЧРЕЖДЕНИЯ (УНИКАЛЬНЫЙ ИД УЧРЕЖДЕНИЯ) Таблица ДОКУМЕНТЫ 1) ИД СОСТОЯНИЯ (СЧЕТЧИК) 2) ID чел в табл ЛЮДИ 3) АДРЕС (храним ID, значение из справочника) 4) ФАМИЛИЯ (храним ID....) 5) ИМЯ (храним ID....) 6) ОТЧЕСТВО (храним ID....) 7) ДАТА РОЖДЕНИЯ 8) МЕСТО РОЖДЕНИЯ (храним ID.... можно ссылка на КЛАДР) 9) ВИД ДОКУМЕНТА 10) ID последнего документа того-же вида (предыдущего паспорта, предыдущего ИНН) 11) СЕРИЯ 12) НОМЕР 13) ДАТА ВЫДАЧИ 14) документ действителен Таблица СТАТУС 1) ID чел в табл ЛЮДИ 2) СТАТУС (ПЕНСИОНЕР,СТРУДЕНТ И Т.П.) (храним ID, значение из справочника) 3) ДАТА ПОЛУЧЕНИЯ СТАТУСА как уже говорили выше обязательно полная номализация, СУБД с циферками в разы лучше работает при этом самая ёмкая таблица Таблица ДОКУМЕНТЫ 1) int 2) int 3) int 4) int 5) int 6) int 7) date 8) int 9) int 10) int 11) char 12) char 13) date 14) bool На любые атрибуты человека, такие как ФИО, дата рождения.. должен быть некий документ, чел не може прийти и просто сказать - я Вася... ок, Вася, так и запишем должен быть либо паспорт, либо ИНН.... удостоверение... Сменил чел имя => сменил паспорт.. последний актуальный документ тот, у которого дата выдачи самая поздняя и действительны, и история смены документов на лицо, сперва свидетельство о рождении, затем паспорт, ИНН, затем другой паспорт... В туже табличку и ИНН, и пенсионное свидетельство... Аналогично со статусом. На счёт объединения данных: - на рабочем месте, данные экспортируются в txt или XML (или ещё как) без всяких GUID, в полном виде, обязательно должны быть документы, на основании которых внесены данные... <men> <fio>Иванов....</fio> <docum> <type>паспорт</type> <num>9931 231244</num> ..... </docum> </men> - в центре, файл импортируется, ищются совпадения по другому никак. например ФИО и даты совпадают, сопадает номер предыдещего паспорта, но паспортные данные отличаются и более поздняя дата - значит новый паспорт... другими словами, даже не набор правил для сравнения, а комплексный алгоритм, сравниваем по разным критериям, выставляем % совпадения... далее помечаем где вероятность менее 100% и оператор смотрит... в процессе работы, выявляются новые "правила", и совершенствуется алгоритм в принципе ИНН или номер пенс.свид это довольно "уникальный" номер, да, он может меняться у одного человека, но не представляю, чтобы у двух разных людей в одном регионе эти номера совпали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 22:46 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
На сегодня человека идентифицируют (при трагических событиях) по ДНК, а не по найденным документам с номерами(которые у него могли быть случайно чужие). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 00:36 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Т.е. это должна быть некая неотторгаемая и неотчуждаемая административно, сущность, присущая только конкретному индивидууму, независимо от потерянных в результате травм некоторых органов/конечностей.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 00:38 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Однояйцевые близнецы имеют одинаковый ДНК, поэтому абсолютного способа однозначно различить двух человек не существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 02:20 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
автор1) ИД ЧЕЛОВЕКА (ГУИД) вы сможете обосновать необходимость? А то всяк БД начнут на GUID'ах строить. Справочник носков в супермаркете Код: plaintext Справочник собак в Урюпинске Код: plaintext ИНН - ГУИД, паспорт - ГУИД и т.д. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 10:53 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
> абсолютного способа однозначно различить двух человек не существует Рисунок сетчатки глаза. Рисунок капиллярных линий ладони. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 11:50 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Petro123 автор1) ИД ЧЕЛОВЕКА (ГУИД) вы сможете обосновать необходимость? А то всяк БД начнут на GUID'ах строить. Справочник носков в супермаркете Код: plaintext Справочник собак в Урюпинске Код: plaintext ИНН - ГУИД, паспорт - ГУИД и т.д. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! Благодоря ГУИД мы можем загрузить все данные с другого компьютера из дбф например, а затем обработать их и привести к одному человеку например.. Иначе кроме как перебирать данные в дбф по одной записи с обработкой я не вижу.. хотя можно загрузить те что не нарушают уникальных индексов (Фио+дата рождения+место рождения например), а остальные обработать по одной.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 12:04 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
авторБлагодоря ГУИД мы можем загрузить все данные с другого компьютера из дбф например, а затем обработать их и привести к одному человеку например.. Иначе кроме как перебирать данные в дбф по одной записи с обработкой я не вижу.. хотя можно загрузить те что не нарушают уникальных индексов (Фио+дата рождения+место рождения например), а остальные обработать по одной.. приведите пример из 3 записей БД1 и 3-х записей БД2. А то болтать можно бесконечно. ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 12:28 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 14:08 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Почему бы не использовать в качестве идентификатора длинное целое число. Если новые данные в базу заностятся с одной точки, ну или хотя бы синхронизация данных производится довольно часто, то получишь уникальный идентификатор для каждого человека. Сменил человек паспорт, фамилию, кличку собаке - апдейтишь данные по совокупности оставшихся признаков. Так большинство систем работают, и работают ведь. Если совсем уж не устраивает - выдавай идентификатор человеку на руки (проксимити, брелки итд), под кожу вшивай итд =) Благо технологий полно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 14:25 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за offtop. guest_20040621Рисунок сетчатки глаза. Рисунок капиллярных линий ладони.Это конечно, да. Но, допустим, глаза отсутствуют, руки тоже, например, вследствии аварии. Кроме того, все эти варианты, так же как и ДНК должны подразумевать, что такая информация уже должна где-то храниться, чтобы можно было сравнить, что совсем не факт, хотя в свете борьбы с терроризмом во всем мире не исключено, что факт состоится. Про сетчатку глаз пока не слышал :), но отпечатки пальцев уже вроде как подделывают или по крайней мере стирают до неузнаваемости. Уверен, как только это станет актуальным в свете борьбы с нарушением privacy, процедура станет дешевой и общедоступной. Опять же не уверен, что нельзя несколько изменить рисунок сетчатки точечными манипуляциями с лазером. Да и погрешность работы сегодняшних биометрических систем пока достаточно велика, хотя точные цифры не назову. Лень шариться в гугле. Собственно к тому, что в некоторых случаях достаточно честного слова человека, что он - это он, но если будет стоять задача обойти систему контроля, то ее рано или поздно обойдут. На эту тему есть фильм "Гаттака", хотя и сильно сдобренный художественным вымыслом. Но даже это ерунда, иногда проще заменить информацию там, где она хранится. Как пример, все новомодные биометрические паспорта, в которых информация доступна практически в открытом виде. Точное сравнение сетчатки, отпечатков или ДНК - задачи сами по себе ресурсоемкие, поэтому для массового применения, насколько понимаю, абсолютно не годятся, по крайней мере - пока. P.S. Еще раз sorry за неуместный треп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 19:46 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
> должны подразумевать, что такая информация уже должна где-то храниться Да не должны они ничего подразумевать. Странно, что элементарная задача вызывает столько проблем. В данном случае не стоит задача идентификации человека как биологической особи, задача - идентифицировать гражданина государства. Все. Никакой другой задачи нет. Как это можно сделать? Правильно, на основании идентификаторов, выдаваемых гражданину государства государственными же структурами. Никак иначе. Какой вид имеют эти идентификаторы, кто и как их выдает - дело десятое. Биометрические это идентификаторы или набор букв - абсолютно фиолетово. Задача идентификации биологической особи - это совершенно другая задача. Не очевидно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 20:11 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Наверное, правильная постановка задачи будет такая (где автор?). Определения. 1. Есть событие, назовем его событием регистрации (СР). СР характеризуется набором признаков, имеет этапы. СР может быть закончена или нет. Цель СР – определить уникальность предмета среди ограниченного количества похожих предметов (похожих в смыле определенного множества признаков из набор), используя наборы признаков (идентификация). Определяющий момент – первичное СР (ПСР). 2. При ПСР предмет впервые получает набор признаков,который должен однозначно определить его как уникальный объект. Признаки могуть быть объективными, постоянными, субъективными, меняющимися. Набор признаков может быть пустым, состоять из одного или нескольких элементов. 3. Вторичным СР (ВСР) назовем любое СР, следующее по времени за ПСР. 4. ВСР предполагает, что набор признаков полученных при ПСР существует и используется при идентификации. 5. Конечное СР (КСР). Событие регистрации обратное ПСР. 6. Набор признаков. Признаки должны быть объективными. Признаки должны иметь систему отсчета, измерений одинаковую для всех предметов, проходящих идентификацию. Количество признаков –ограничено. 7. Самое важное: идентификация должна проводиться по формальным алгоритмам сравнения, доступным современным компьютерным программам. Задача. Определить набор признаков для ПСР , ВСР, КСР. Определить, какие признаки из набора, их комбинации является необходимыми для идентификации при ПСР , ВСР, КСР. По моему, вся наука до сих пор не решила эту задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 20:35 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
2 laleks: Автор переваривал все вышенаписанное.. :) Ваши мысли заставили меня переосмыслить структуру, сэнкс Кифирчик, но я думаю нормализация хороша только до определенной степени и не является самоцелью.. Думаю так: Таблица ЛЮДИ: 1) ИД ЧЕЛОВЕКА 2) ФАМИЛИЯ 3) ИМЯ 4) ОТЧЕСТВО 5) ДАТА РОЖДЕНИЯ 6) МЕСТО РОЖДЕНИЯ 7) СНИЛС Таблица ДОКУМЕНТЫ 1) ИД ДОКУМЕНТА 2) ИД ЧЕЛОВЕКА (ИЗ ЛЮДИ) 3) ВИД ДОКУМЕНТА 4) СЕРИЯ 5) НОМЕР 6) ДАТА ВЫДАЧИ 7) КЕМ ВЫДАН Таблица РАБОТА 1) ИД РАБОТЫ 2) ИД ЧЕЛОВЕКА (ИЗ ЛЮДИ) 3) КОД СТРАХОВОЙ КОМПАНИИ 4) СЕРИЯ ПОЛИСА 5) НОМЕР ПОЛИСА 6) ДАТА ВЫДАЧИ ПОЛИСА 7) МЕСТО ЖИТЕЛЬСТВА 8) МЕСТО РАБОТЫ 9) СОЦИАЛЬНЫЙ СТАТУС Таблица ПОСЕЩЕНИЯ 1) ИД ПОСЕЩЕНИЯ 2) ИД ДОКУМЕНТА (ИЗ ДОКУМЕНТЫ) 3) ИД РАБОТЫ (ИЗ РАБОТА) 4) ДАТА ОБРАЩЕНИЯ 4) ПРИЧИНА 5) РЕЗУЛЬТАТ Таким образом мы получаем испорию документов: свид-во о рождении, паспорт1, паспорт2 и по дате выдачи можем определить последний.. Все остальные данные не влияющие на смену документа вынесены в таблицу РАБОТА: например смена полиса или адреса или статуса не вызывает замену паспорта, однако смена адреса, статуса или места работы вызывает замену полиса.. Я специально не показывал тип идентификатора - думаю мне пока важнее определиться со структурой БД, а уже потом решить какие типы идентификаторов использовать.. Более глубокую разбивку считаю нецелесообразной, т.к. это существенно затруднит работу с данными и разработку отчетов, тем более, что таблица ПОСЕЩЕНИЯ так-же имеет 4 подчиненных таблицы (пока :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 08:20 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
to Schwan Скажите, а на какие объёмы вы делаете систему? сколько примерно "человек"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 08:36 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
laleksПочему отправленные сегодня (22.11.2006 18:35-18:40 мск) сообщения задвигаются на 2-ю страницу. Далеко не всем понравится идея читать тему снизу вверх. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 11:03 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Кифирчик_to Schwan Скажите, а на какие объёмы вы делаете систему? сколько примерно "человек"? В учреждениях (P4 или Celeron D): Людей: 10-200 тыс. (зависит от учреждения) Посещений: 50-1000 тыс (в год) По территории (2xXeon 3,0GHz): Людей: 1,5-2 млн Посещений: около 10 млн (в год) Предполагается накапливать данные несколько лет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 17:22 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
неувязочка.. ... 7) МЕСТО ЖИТЕЛЬСТВА 8) МЕСТО РАБОТЫ 9) СОЦИАЛЬНЫЙ СТАТУС ... мне кажется, что место работы связанно с социальным статутом косвенно, человек, учясь в институте, может работать системным администратором наример... какой у него соц. статус? а когда он закончил институт и работатет тамже? вы не отследите чётко когдаменяется статус да и мед.полис могут менять не один раз на одной работе, а если на двух работах одновременно? не два же полюса будут делать? и страховые компании могут быть разными авторЯ специально не показывал тип идентификатора - думаю мне пока важнее определиться со структурой БД, а уже потом решить какие типы идентификаторов использовать. ИМХО длинное целое, или просто целое, либо счётчик в таблице, либо извратиться, и сперва, например ставить год рождения :) например 1973ХХХХХХ авторБолее глубокую разбивку считаю нецелесообразной, т.к. это существенно затруднит работу с данными и разработку отчетов, тем более, что таблица ПОСЕЩЕНИЯ так-же имеет 4 подчиненных таблицы (пока :) ) ой зря вы так, при ваших-то объёмах... всё, что может повториться, должно быть вынесено в отдельный справочник, вы этим увеличите производительность, думаю не совру, если скажу что на 40...60% и уменьшите объёмы данных, и отчёты в разы быстрее генериться будут маленький пример: как-то парился с тел справочником, то, что было - плоская таблица (~10тыс записей, Access) объём - ~2 метра после нормализации, где я просто для улиц отдельную таблицу вынес, объём уменьшился до 600кб а можно было бы ещё и именами и фамилиями заняться :) так было всего 10тыс записей!!!! а если 500тыс? с данными работать будет не сложнее, все сложности решаются средствами СУБД, например вьюхами и процедурками ещё вам просто прописанны: - набор таблиц аля-КЛАДР - набор таблиц "ХОЗЯЙСТВУЮЩИЕ СУБЪЕКТЫ" (место работы, страховые компании...) хотя решать конечно вам и хотябы базку со справочниками в интернет выставить, очень упростит синхронизацию и актуализацию... а лучше всю базу, DB account+VPN+ЭЦП - думаю достаточно безопасно и ещё... а если будет такая ситуация, в учреждении ошибаются с вводом, например с именем, года рождения... - чел, определяется, как новенький, и нет связи с его предыдущими посещениями - данные могут дублироваться с кем-нибудь, дата паспорта более поздняя...запись как двойник удаляется, и.. "а такого чела вообще к нам не приходило..." может стоить придать записям статус.. - "новая" - как ввели в учреждении - "к обработке" - как получили из учреждения ПРОВЕРКА - "ошибочная" - с указанием ошибки, отправляется опять на места для уточнения - "верная" - когда всё нормально обработалось, тоже можно послать об этом уведомление PS вы случаем не новый вариант "Катарсиса" делаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 18:35 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
> Людей: 1,5-2 млн Офигеть. Куда катится эта страна?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 20:59 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Поздновато, но 5 копеек: свидетельство о рождении - у меня их 2 - так получилось. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 14:11 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Настоятельно советую хранить и пол человека тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 17:39 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Если вернуться к первому топику, то основная задача - это идентификация человека в любое врем и в любом месте. Т.е., если появилса какой то человек, то нужно определить есть ли он уже в Базе или нет. Если есть, то определяется его ID, если нет, то присваиваетс новый ID. Вся остальная информация (работа, посещения и т.п.) вешается уже на этот ID. Поэтому попробую описать свои мысли: ---- 1. Исходим из того, что БД имеет иерархическую структуру. Т.е. есть некое Центральное хранилище (ЦХ), где есть все данные и подчиненные БД. Между этими БД и ЦХ регулярно проводятся процедуры по обмену данными. Процедуры идентификации и правила обмена общие и единые для всей системы. 2. При появлении человека с каким-то набором документов запускается процедура идентификации по этому набору. 3. Если человек идентифицирован, то набор документов с которыми он пришел, заносится в БД (если эти документов ещё нет или они изменены), человеку сопостовляется имеющийся в БД ID и далее вся работа идёт по этому ID. Добавленные/измененные реквизиты отправляются в ЦХ для уточнения данных. Возможно по этим данным может быть запущена процедура слияния с другим человеком, если выявится дублирование. 4. Если человек не идентифицирован, то набор документов с которыми он пришел, заносится в БД, человеку присваивается временный ID и далее вся работа идёт по этому ID. 5. При получении ЦХ временного ID со своими данными запускается процедура поиска по данным. Если подтверждается информация, что это новый чел., то ему присваивается постоянный ID и он спускается "вниз". Если человек найден, то "вниз" спускается найденный ID. ---- Упрощённо получаем такую структуру: Таблица ЛЮДИ: 1) ИД ЧЕЛОВЕКА 2) ФАМИЛИЯ 3) ИМЯ 4) ОТЧЕСТВО 5) ДАТА РОЖДЕНИЯ 6) МЕСТО РОЖДЕНИЯ 7) Реквизит 1 ... N) Реквизит N Таблица ДОКУМЕНТЫ 1) ИД ДОКУМЕНТА 2) ИД ЧЕЛОВЕКА (ИЗ ЛЮДИ) 3) ТИП (ВИД) ДОКУМЕНТА 4) ДАТА ВЫДАЧИ 5) Реквизит 1 ... N) Реквизит N Реквизиты в таблице людей желательно оставить только те которые действуют на данный момент и однозначны (зависит от конкретной задачи). По этим данным можно делать быстрые выборки (обычно нужны тек. данные, а не то что когда-то было :) ). Таблица ДОКУМЕНТЫ служит для накопления данных по разным источникам. Документы одного Типа должны отличаться датой или реквизитами. Пример типов: Паспорт; ФИО; Место фактического проживания и т.д. и т.п. Реквизит одного номера и одного типа документа должны говорить об одном. ИМХО, но реквизитов 5 должно хватить на все виды документов. В общем, как писал Кифирчик, главное разработать правила для процедуры идентификации и репликаций баз данных. Получилось длинно и немного сумбурно, поэтому прошу ногами не бить. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 19:45 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
не осилил последние страницы, но если подойти чисто теоритически: есть первичный ключ, есть уникальные (или альтернативные ключи). Для первичного - лучше GUID-а ничего нет. Если удается найти хороший уникальный ключ - отлично, пусть он служит как стандартное ограничение, но не используйте его в качестве первичного . Если не удается - путь только один анализ конфликтов репликации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 21:10 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
> Для первичного - лучше GUID-а ничего нет. Почему, можно поинтересоваться (в предположении, что RFC4122 и SQL-2003 автор осилил)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 22:26 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
strelets12Настоятельно советую хранить и пол человека тоже. на момент рождения или текущий ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 23:22 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Для первичного - лучше GUID-а ничего нет. Почему, можно поинтересоваться (в предположении, что RFC4122 и SQL-2003 автор осилил)? По различным причинам, которые неоднократно обсуждались. Как основная - ничтожно малая вероятность проблем с репликацией и отстутсвие необходимости распределения диапазонов по серверам (как в случае с identity). Впрочем и у GUID-а тоже есть недостатки, но на сегодняшний день это, пожалуй, наилучший вариант для ПК. Если вы знаете более лучший, буду признателен за его обнародование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:03 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
strelets12Настоятельно советую хранить и пол человека тоже. Да пол будет в таблице ЛЮДИ обязательно.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:35 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
Роман Дынник guest_20040621> Для первичного - лучше GUID-а ничего нет. Почему, можно поинтересоваться (в предположении, что RFC4122 и SQL-2003 автор осилил)? По различным причинам, которые неоднократно обсуждались. Как основная - ничтожно малая вероятность проблем с репликацией и отстутсвие необходимости распределения диапазонов по серверам (как в случае с identity). Впрочем и у GUID-а тоже есть недостатки, но на сегодняшний день это, пожалуй, наилучший вариант для ПК. Если вы знаете более лучший, буду признателен за его обнародование. автор вроде сказал, что репликации и центральной БД у него не будет. Без этого ГУИД не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:55 |
|
||
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#18+
> По различным причинам, которые неоднократно обсуждались. Видимо, без меня. Их можно еще раз сформулировать? > Как основная - ничтожно малая вероятность проблем с репликацией > и отстутсвие необходимости распределения диапазонов по серверам Проблема легко решается традиционными способами. Применительно к данному случаю UUID вреден как минимум по трем причинам: 1. необходим идентификатор источника данных, и его в случае использования UUID потребуется указывать явно; 2. жуткий оверхед, который в данном случае ничем не оправдан: берем калькулятор и считаем, во что обойдется использование UUID + идентификатор источника вместо int8 (например); 3. абсолютная непереносимость. Так что по поводу "лучше" я бы не был так категоричен. Возможно, лучше, когда источники данных независимы (и то с оговорками), но не в данном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1544870]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
108ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 577ms |

| 0 / 0 |
