|
|
|
Идентификатор человека
|
|||
|---|---|---|---|
|
#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 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34148332&tid=1544870]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 497ms |

| 0 / 0 |
