|
|
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Народ, мне требуется помощь или, скорее всего, просто совет. Я разработал 2 программы клиентская (стоит в районах) и общая. Данные вводятся в районах, затем выгружаются в файл xml и загружаются в общую. Так вот, в обеих базах есть таблица с людьми (ФИО, дата рождения, СНИЛС, адрес и др). Вопрос в том, как уникально идентифицировать человека (построить первичный ключ). Теоретически один человек может быть заведен сначала в одном районе и загружен в общую. Потом человека могут завести в другом районе и при загрузке в общую базу его надо найти. Первоначально я думал использовать СНИЛС для идентификации человека, но потом выяснилось, что СНИЛС может и не быть (иностранцы, беженцы). Тогда как построить первичный ключ. Альтернативный вариант: использовать ФИО и дату рождения. Но это не вариант. Были у нас в области разные люди, у который полностью совпадали ФИО и ДР. Плюс еще одна проблема: нашли ошибку, например, в имени. Исправили и все, ключ изменился, при загрузке в общую базу будет создан новый человек. Может, посоветуете, как все-таки построить первичный ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:06 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Владимир37, Отличить одного человека от другого в общем случае нетривиальная задача. С технической точки зрения используйте в качестве первичного ключа целочисленное поле с автоинкрементом (не надо тут мудрить). Что касается слияния, то тут панацеи быть не может. Вы можете точно сказать, что если у человека совпадает снилс или серия и номер паспорта, то один и тот же человек. Но во всех остальных случаях надо либо вручную решать новый это пользователь или старый, либо какой-то маркер на клиентах хранить, который будет установлен, если данные уже ранее импортировались в общую базу и не установлен в обратном случае (тогда можно будет хоть какие-то вероятностные предположения делать о том, является ли пользователь искомым или он точно новый). Но это тоже в общем случае не решит проблемы на 100%. Придется ручками разруливать пользователей, поменявших паспорт и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:23 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
JeStone, Вот насчет маркера - хорошая идея. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:26 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Владимир37Может, посоветуете, как все-таки построить первичный ключ. Первичный ключ для этого не годится. Я в своё время расписывал алгоритм сопоставления людей для бюро кредитных историй, это было три страницы в ворде. Если грубо, смысл в том, что почти любой признак человека может поменяться и в любом может быть ошибка. Скажем, Мария Ивановна Петрова взяла кредит в одном банке, потом вышла замуж, стала Марией Ивановной Сидоровой, поменяла паспорт и пришла за кредитом в другой банк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:31 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarerВладимир37Может, посоветуете, как все-таки построить первичный ключ. Первичный ключ для этого не годится. Я в своё время расписывал алгоритм сопоставления людей для бюро кредитных историй, это было три страницы в ворде. Если грубо, смысл в том, что почти любой признак человека может поменяться и в любом может быть ошибка. Скажем, Мария Ивановна Петрова взяла кредит в одном банке, потом вышла замуж, стала Марией Ивановной Сидоровой, поменяла паспорт и пришла за кредитом в другой банк. Ну как вы сопоставляли таких людей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:36 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Владимир37, Вы хотите, чтобы я сходу ещё раз написал те три страницы? Смотрел для всех атрибутов совпадают - не совпадают - неизвестно. Если набиралось достаточное по весу количество совпадений и не было несовпадений, считал одним человеком (это разные вещи, потому что например в одной записи может быть СНИЛС и не быть ИНН, во второй - наоборот). Если было, кажется, одиночное несовпадение при похожести данных - считал одним человеком и индицировал ошибку ввода. Если было достаточное по весу количество различий, считал разными людьми, при этом при наличии совпадений сообщал об этом, и в банки шли запросы на тему проверить ещё раз и ввести правильные реквизиты. Отрабатывал вот этот вариант со сменой фамилии из-за семейного положения. Проверял номера не только по текущим реквизитам, а и по старым (например, человек уже поменял паспорт, а из банка продолжают приходить его выплаты со старыми реквизитами). Ну а сомнительные случаи отправлял на ручной разбор, тот чаще всего заключался в звонках в банк и в выяснении ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:51 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Владимир37Может, посоветуете, как все-таки построить первичный ключ. Формально "по закону" люди отличаются друг от друга по паспорту, даже не по паспортным данным, т.к. они могут совпадать. У нас в РК для каждого жителя вводиться ИИН. Он же является уникальным ключём. В рамках предприятия обычно хватает полное ФИО и дата рождения. Если количество полных тезек возможно будет мало, то можно ограничиться ФИО+дата рождения. Если же нужно точно отличать, то смотрел бы на удостоверяющий документ (паспорт). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 12:57 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Владимир37Народ, мне требуется помощь или, скорее всего, просто совет. Я разработал 2 программы клиентская (стоит в районах) и общая. Данные вводятся в районах, затем выгружаются в файл xml и загружаются в общую. Так вот, в обеих базах есть таблица с людьми (ФИО, дата рождения, СНИЛС, адрес и др). Вопрос в том, как уникально идентифицировать человека (построить первичный ключ). Теоретически один человек может быть заведен сначала в одном районе и загружен в общую. Потом человека могут завести в другом районе и при загрузке в общую базу его надо найти. Первоначально я думал использовать СНИЛС для идентификации человека, но потом выяснилось, что СНИЛС может и не быть (иностранцы, беженцы). Тогда как построить первичный ключ. Альтернативный вариант: использовать ФИО и дату рождения. Но это не вариант. Были у нас в области разные люди, у который полностью совпадали ФИО и ДР. Плюс еще одна проблема: нашли ошибку, например, в имени. Исправили и все, ключ изменился, при загрузке в общую базу будет создан новый человек. Может, посоветуете, как все-таки построить первичный ключ. Задача простая и вы, если подумаете, решите ее без форумных советчиков. Нужно добавить к "идентификатору" человека, т.е. его ФИО, еще и место и время его рождения. Если мало, то задать одного или обоих родителей. Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось. Фамилия, Имя, Отчество + место рождения + дата рождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 14:56 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarerВладимир37, Вы хотите, чтобы я сходу ещё раз написал те три страницы? Смотрел для всех атрибутов совпадают - не совпадают - неизвестно. Если набиралось достаточное по весу количество совпадений и не было несовпадений, считал одним человеком (это разные вещи, потому что например в одной записи может быть СНИЛС и не быть ИНН, во второй - наоборот). Если было, кажется, одиночное несовпадение при похожести данных - считал одним человеком и индицировал ошибку ввода. Если было достаточное по весу количество различий, считал разными людьми, при этом при наличии совпадений сообщал об этом, и в банки шли запросы на тему проверить ещё раз и ввести правильные реквизиты. Отрабатывал вот этот вариант со сменой фамилии из-за семейного положения. Проверял номера не только по текущим реквизитам, а и по старым (например, человек уже поменял паспорт, а из банка продолжают приходить его выплаты со старыми реквизитами). Ну а сомнительные случаи отправлял на ручной разбор, тот чаще всего заключался в звонках в банк и в выяснении ситуации. А вы ведь коллега лет 10 уже здесь тусите?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 14:59 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось. Люблю стратегов (тех, которые из известного анекдота про ёжиков). Если мне не изменяет память, согласно инструкциям ЦБ у нас в стране есть 24 типа документов, удостоверяющих личность [то есть тех, которые могут быть предъявлены человеком в банке]. Домашнее задание: выяснить, в скольких из них указываются имя при рождении, место рождения и время рождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 15:35 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123А вы ведь коллега лет 10 уже здесь тусите?:) В профиле есть поле "дата регистрации", а поиском по нику можно примерно выяснить, сколько времени я присутствовал здесь до регистрации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 15:36 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
А вы ведь коллега лет 10 уже здесь тусите?:) тамбовский волк вамбе коллега, всех любителей естественных ключей для персон -- строго в биореактор только суррогат и только процедуры поиска претендентов на дубли. а по частичным уникъю (снилс, INN) -- nullable уникъю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 15:38 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123Задача простая и вы, если подумаете, решите ее без форумных советчиков. Нужно добавить к "идентификатору" человека, т.е. его ФИО, еще и место и время его рождения. Если мало, то задать одного или обоих родителей. Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось. Фамилия, Имя, Отчество + место рождения + дата рождения. МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей, и вероятность появления среди них полных тезок отличается от 0. Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС. Любопытно, как ТС будет налаживать с ними взаимодействие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 15:47 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
baracsМВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. С год назад у нас на форуме упоминалась замечательная история. Кратко - дама пару лет воюет с приставами, вынесшими её квартиру. Вынесли они на основании судебного решения, принятого в отсутствие ответчика. Решение было принято из-за кредита, взятого и не возвращённого её тёзкой. Причём факт "кредит брала не она" доказан и в общем-то сомнению не подлежит, но органы занимают позицию "судебное решение вынесено именно в её адрес, пересматривать оснований нет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 16:04 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarerbaracsМВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. С год назад у нас на форуме упоминалась замечательная история. Кратко - дама пару лет воюет с приставами, вынесшими её квартиру. Вынесли они на основании судебного решения, принятого в отсутствие ответчика. Решение было принято из-за кредита, взятого и не возвращённого её тёзкой. Причём факт "кредит брала не она" доказан и в общем-то сомнению не подлежит, но органы занимают позицию "судебное решение вынесено именно в её адрес, пересматривать оснований нет". OffTopФормально приставы правы - не они выносили решение, не им его и отменять. Если факт "кредит брала не она" доказан, по логике, должно появиться судебное решение, отменяющее предыдущее. К счастью, я не знаком с практикой возврата отобранного приставами имущества, поэтому не знаю, что дальше делать с этим решением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 17:45 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
baracsprog123Задача простая и вы, если подумаете, решите ее без форумных советчиков. Нужно добавить к "идентификатору" человека, т.е. его ФИО, еще и место и время его рождения. Если мало, то задать одного или обоих родителей. Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось. Фамилия, Имя, Отчество + место рождения + дата рождения. МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей, и вероятность появления среди них полных тезок отличается от 0. Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС. Любопытно, как ТС будет налаживать с ними взаимодействие. Подтверждаю. При мне человек в отделение милиции приходил жаловаться, что на каждом стационарном посту ГАИ на МКАД его тормозят и задерживают. Смысл был в том, что в розыске был его полный тезка, причем совпадали даже даты рождения (место отличалось). Ну и Поток по номеру пробивал владельца, владелец определялся как розыскник, со всеми сопутствующими последствиями. К сожалению, просто на ФИО ориентироваться бессмысленно. Про банальный случай смены фамилии писать нет смысла. Но через ЗАГС легко меняется и имя. Знаю девушку, которой не понравилось свое имя, и она его сменила. Или вот еще пример: как дубль определились близнецы, у которых фамилия и отчество совпали, дата и место рождения тоже. Папа имена дал им очень похожие (разница в одной букве). Система посчитала это за опечатку. Задача поиска дублей очень нетривиальная, есть системы очистки данных, поиска таких дублей и тп, например Фактор . По хорошему нужно несколько сценариев определения дубликатов, и все равно, 100% точности это не гарантирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 17:46 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Владимир37Народ, мне требуется помощь или, скорее всего, просто совет. Я разработал 2 программы клиентская (стоит в районах) и общая. Данные вводятся в районах, затем выгружаются в файл xml и загружаются в общую. Так вот, в обеих базах есть таблица с людьми (ФИО, дата рождения, СНИЛС, адрес и др). Вопрос в том, как уникально идентифицировать человека (построить первичный ключ). Теоретически один человек может быть заведен сначала в одном районе и загружен в общую. Потом человека могут завести в другом районе и при загрузке в общую базу его надо найти. Первоначально я думал использовать СНИЛС для идентификации человека, но потом выяснилось, что СНИЛС может и не быть (иностранцы, беженцы). Тогда как построить первичный ключ. Альтернативный вариант: использовать ФИО и дату рождения. Но это не вариант. Были у нас в области разные люди, у который полностью совпадали ФИО и ДР. Плюс еще одна проблема: нашли ошибку, например, в имени. Исправили и все, ключ изменился, при загрузке в общую базу будет создан новый человек. Может, посоветуете, как все-таки построить первичный ключ. Мне нравятся суррогатные ключи. И я бы для клиентов выбрал GUID, а не автоинкремент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 17:49 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Эти смешные проблемы возникают, когда вместо баз данных используется "реляционная технология")) Суррогатный ключ - это точно такое же свойство сущности, как и фамилия - то есть, это тоже атрибут отношения. А в базах данных используются идентификаторы. Идентификатор принципиально не является свойством сущности (и "находится" вне свойств), и отражает факт существования сущности независимо от ее свойств. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 17:55 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
baracs OffTopФормально приставы правы - не они выносили решение, не им его и отменять. Если факт "кредит брала не она" доказан, по логике, должно появиться судебное решение, отменяющее предыдущее. К счастью, я не знаком с практикой возврата отобранного приставами имущества, поэтому не знаю, что дальше делать с этим решением. OffTopПо приставам понятно, хотя они могли бы притормозить. Но там была целая эпопея, поскольку суд тоже отказывался пересматривать решение. В общем, её упорно пытались заворачивать по формальным критериям, а в банке ей просто прямо заявили "мы хотим получить наши деньги и нам наплевать, с кого". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 18:09 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Arm79Мне нравятся суррогатные ключи. И я бы для клиентов выбрал GUID, а не автоинкремент GUID безсмысленно расходует место в индексе. И его возможности выходят за рамки обычного sequence. Это факт. Но вы эти возможности собираетесь использовать? Или GUID просто берете для "красоты"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 19:22 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Arm79Мне нравятся суррогатные ключи. И я бы для клиентов выбрал GUID, а не автоинкремент Суррогатные ключи всем нравятся, но здесь это не поможет. Ведь вопрос у ТС в том, что один человек может зарегистрироваться в двух районах, эти учетки получат разный GUID (или автоинкремент), а нужно как раз понять, что это один и тот же человек. Здесь нужно различать сущности "человек" и его "учетные записи". Человеков много, учеток много, и с некоторой вероятностью, по некоторому алгоритму, мы можем сопоставлять людей с учетками (или учетки между собой). В большинстве случаев - с вероятностью, близкой к 100%, но иногда с меньшей, что влечет определенные последствия для различных видов бизнеса. Для одних случаев на возможные ошибки можно наплевать, в других, наоборот, в них самый сок. Для конструктивного развития темы вопрос к ТС : какова цена ошибок - ошибочного сопоставления разных людей, либо, наоборот, разделения одной личности? Какие возможности исправления ошибок? Какие интересы бизнеса и клиентов по исправлению/сокрытию ошибок? Тогда можно что-то советовать дальше. Универсальных рецептов нет, но конкретные могут быть полезны. 100% надежно человека идентифицировать невозможно, но мир от этого не рухнул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 19:48 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
mayton, Возможно имелась ввиду такая характеристика GUID, как глобальная уникальность? Хотя не понятно как в контексте задачи ТС можно такое свойство использовать. Вот если бы не авторТеоретически один человек может быть заведен сначала в одном районе ... Потом человека могут завести в другом районе то смысл был бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 19:51 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
JeStonemayton, Возможно имелась ввиду такая характеристика GUID, как глобальная уникальность? Хотя не понятно как в контексте задачи ТС можно такое свойство использовать. Вот если бы не авторТеоретически один человек может быть заведен сначала в одном районе ... Потом человека могут завести в другом районе то смысл был бы Нет, про GUID имелось ввиду следующее. Если программа установлена много где, и вполне может применяться по схеме головной офис - филиалы. Тогда возникает вопрос репликации. Только лишь из-за этого, разумеется, вопрос с определением дубликатов guid никак не решает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 20:06 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
baracsprog123Задача простая и вы, если подумаете, решите ее без форумных советчиков. Нужно добавить к "идентификатору" человека, т.е. его ФИО, еще и место и время его рождения. Если мало, то задать одного или обоих родителей. Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось. Фамилия, Имя, Отчество + место рождения + дата рождения. МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей , и вероятность появления среди них полных тезок отличается от 0. Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС. Любопытно, как ТС будет налаживать с ними взаимодействие. Требуйте указания адреса рождения и тема закрыта. Так сказать место возникновения события "рождение" субьекта. Место, это не значит только город, люди не на вокзале рождаются:) Таким образом: Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 04:48 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123baracsпропущено... МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей , и вероятность появления среди них полных тезок отличается от 0. Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС. Любопытно, как ТС будет налаживать с ними взаимодействие. Требуйте указания адреса рождения и тема закрыта. Так сказать место возникновения события "рождение" субьекта. Место, это не значит только город, люди не на вокзале рождаются:) Таким образом: Код: sql 1. 2. Для альтернативно одарённых: ФИО - разумеется на дату рождения:) , Названия элементов адреса рождения - тоже, т.е всё с соответствующих документов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 04:53 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Для любого мента "пробивающего" человека ясно как божий день, что ФИО повторяются, причем часто. Поэтому они вслед за ФИО смотрят на реквизит Уроженец: , ну и естественно дату рождения . ЗЫ Все эти вопросы полностью решены в глубокой древности еще во времена СССР. Банки - это особый случай, банковские эксцессы в простейших вопросах, - результат работы "эффективных" менеджеров. Впрочем, такая "пичалька" встречается не только в банках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 04:59 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Arm79baracsпропущено... МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей, и вероятность появления среди них полных тезок отличается от 0. Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС. Любопытно, как ТС будет налаживать с ними взаимодействие. Подтверждаю. При мне человек в отделение милиции приходил жаловаться, что на каждом стационарном посту ГАИ на МКАД его тормозят и задерживают. Смысл был в том, что в розыске был его полный тезка, причем совпадали даже даты рождения (место отличалось). Ну и Поток по номеру пробивал владельца, владелец определялся как розыскник, со всеми сопутствующими последствиями. К сожалению, просто на ФИО ориентироваться бессмысленно. Про банальный случай смены фамилии писать нет смысла. Но через ЗАГС легко меняется и имя. Знаю девушку, которой не понравилось свое имя, и она его сменила. Или вот еще пример: как дубль определились близнецы, у которых фамилия и отчество совпали, дата и место рождения тоже. Папа имена дал им очень похожие (разница в одной букве). Система посчитала это за опечатку. Задача поиска дублей очень нетривиальная, есть системы очистки данных, поиска таких дублей и тп, например Фактор . По хорошему нужно несколько сценариев определения дубликатов, и все равно, 100% точности это не гарантирует. Даже простейшая базёнка должна обеспечивать "исторические" данные. Этим всё и сказано по теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 05:02 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Одна буковка не совпала или сотня буковок - всё едино в вопросе идентификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 05:04 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Иногда для решения подобных вопросов полезно забыть о существовании компьютеров вообще. Это очень поможет продвинуть по пути к радикальному и абсолютному решению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 05:24 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Возможна также некая процедура натурализации эмигранта. Он может взять себе имя и возможно что то еще. Это событие в любом случае будет делаться на основании уже существующей информации о персоне. Здесь мы переходим к шагу о реализации истории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 05:28 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Некоторые смешные люди забывают о близнецах, которым родители дают одно имя. Но мы не будем над ними смеяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 15:04 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Alibek B.Некоторые смешные люди забывают о близнецах, которым родители дают одно имя. Но мы не будем над ними смеяться. Нет, не об этом забывают. А о том, что сущности существуют независимо от значений их свойств. И этот факт отражает идентификатор, который принципиально не является одним из свойств)) И, следовательно, записе-ориентированные системы (например, реляционные системы) не могут использоваться для эксплуатации баз данных)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 16:44 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Если чел еще попал под программу защиты свидетелей то ему дают новое имя, фамилию и еще кучу новых социальных идентификаторов. И тогда вопрос идентичности людей становится еще более сложным. Мы спускаемся на уровни ДНК, слепков зубов e.t.c. Не лучше-ли ребята нам на этом уже остановится. Пускай установлением личности занимаются соотв. ведомства а наша задача - решать эти вопросы в рамках простых реляционных инструментов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 17:04 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Если чел попал под программу защиты свидетелей, то отождествлять его не нужно. А вот если он просто вышел замуж или сменил имя, то расклад очень простой. Ошибочное неотождествление - причина возможно неверного решения по кредиту, источник претензий. Ошибочное отождествление - причина, из-за которой контору по полной натянут за нарушение закона о персональных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 17:21 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123Даже простейшая базёнка должна обеспечивать "исторические" данные. Этим всё и сказано по теме. Самое нелепое, что я читал в этом трэде. Откуда у обычной программы доступ к историческим записям БД ЗАГС? Это если таковая существует. Исторических сведений в СВОЕЙ программе для задачи определения дублей клиента категорически не хватает. У клиента может меняться ВСЕ. ФИО (через ЗАГС), место рождения (некоторые системы при очистке меняют на текущие названия, например Ленинград/СПб), дата рождения (у моей матери даты рождения в свидетельстве о рождении и в паспорте различаются), серия и номер ДУЛ (например, при смене или утере паспорта). Да и не забываем об обычном человеческом факторе при вводе данных... Поэтому в нормальных системах есть еще и обратная операция - разъединение клиентов. Алгоритм разъединения еще сложнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 17:52 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за советы. Решил я пока проблему следующим образом: по совету JeStone установил признак того, что человек уже выгружен. Благодаря этому мы при загрузке знаем точно, есть человек в общей базе или нет. Т.е. при загрузке, если человек точно должен быть, но его не удается найти, то программа выдает предупреждение, что человек не найден и предлагает выбрать его вручную, создать или пропустить. Если нашлось несколько человек, то так же выдается предупреждение и есть возможность выбрать человек руками. В качестве ключа использую СНИЛС, если есть, и ФИО+ДР, если нет снилса. Для моей задачи, я думаю, этого хватит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 18:10 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarerЕсли чел попал под программу защиты свидетелей, то отождествлять его не нужно. Самый лучший момент, чтобы взять кредит в банке =D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 18:11 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Arm79prog123Даже простейшая базёнка должна обеспечивать "исторические" данные. Этим всё и сказано по теме. Самое нелепое, что я читал в этом трэде. Откуда у обычной программы доступ к историческим записям БД ЗАГС? Это если таковая существует. Исторических сведений в СВОЕЙ программе для задачи определения дублей клиента категорически не хватает. У клиента может меняться ВСЕ. ФИО (через ЗАГС), место рождения (некоторые системы при очистке меняют на текущие названия, например Ленинград/СПб), дата рождения (у моей матери даты рождения в свидетельстве о рождении и в паспорте различаются), серия и номер ДУЛ (например, при смене или утере паспорта). Да и не забываем об обычном человеческом факторе при вводе данных... Поэтому в нормальных системах есть еще и обратная операция - разъединение клиентов. Алгоритм разъединения еще сложнее... >У клиента может меняться ВСЕ. У многих объектов может меняться всё. Это простейшая ситуация для человека, понимающего как организовать историю. >Откуда у обычной программы доступ к историческим записям БД ЗАГС? Вы должны отвечать за своё!:) Нужно разруливать проблему недостаточности данных. Если у объекта менялись данных 10 раз, то все варианты должны быть введены. (Если человек пришел с третьей по счёту своей фамилией, но пытается скрыть предыдущие, то это криминал.) Программа должна в любом случае принять данные на дату рождения . Так что все уже сказано выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 21:14 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123Если у объекта менялись данных 10 раз, то все варианты должны быть введены. (Если человек пришел с третьей по счёту своей фамилией, но пытается скрыть предыдущие, то это криминал. Это не криминал, это ваше незнание предметной области и нежелание подумать. Почему я должен кому-то рассказывать про все свои смены фамилии? С какой стати я должен при посещении любого учреждения давать подробную историю? О каком криминале идет речь? Именно для интеграции разных информационных систем в одно и прозрачной идентификации клиентов придумывают всякие master data и прочее. К сожалению, в общегосударственном масштабе в публичном доступе таких систем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 22:02 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123 <> >Откуда у обычной программы доступ к историческим записям БД ЗАГС? Вы должны отвечать за своё!:) Нужно разруливать проблему недостаточности данных. Если у объекта менялись данных 10 раз, то все варианты должны быть введены. (Если человек пришел с третьей по счёту своей фамилией, но пытается скрыть предыдущие, то это криминал.) Программа должна в любом случае принять данные на дату рождения . Так что все уже сказано выше. у человека, которого система не наблюдала на дату рождения, эти самые "данные на дату рождения" могут смениться в системе много раз. в первый раз он представился системе паниковским второй раз -- и вовсе типа вас -- козлевичем а на самом деле он костя остнебакен, но система об этом никогда не узнает, так и не узнав истинного "естественного первичного ключа" -- потому, что костю спустили в биореатор правильные пацаны, приняв за балаганова ну и не забываем, что даже если система сладит за остенбакеным с рожения, то инфу она принимает через операторов и датчики -- и первый ввод "ключа" может быть начисто случайно или умышленно ошибочным. Если система "хранит исторические данные" то данный ошибочный ввод должен сохраниться в её истории, и не может быть "исправлен" (селф) -- так как инфа об ошибке лежит в её "пк". но может быть создана иная сущность, с другим "ебстественным" пк, но надо как-то указать на связь между этими сущностями, но благодаря козлевичу, спроектировавшему БД с использованием "ебстественного ключа" мы это (без неуместного геморроя) сделать аккурат и не можем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2014, 13:27 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123Требуйте указания адреса рождения и тема закрыта prog123смотрят на реквизит Уроженец: , ну и естественно дату рождения ... ЗЫ Все эти вопросы полностью решены в глубокой древности еще во времена СССР. Вы уж извините, но Вы выдвигаете до того наивные утверждения... Даже в моей семье (не говоря уж обо всей стране), у бабушек и дедушек, есть различные документы, выданные во времена СССР (в довоенные и послевоенные годы), где место рождения не совпадает со 100% точностью между документами одного и того же человека. Это и разный порядок следования слов в адресе, и различные сокращение, и опечатки, и т.д. softwarer вкратце правильно описал идею нахождения одинаковых людей в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2014, 14:26 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Да и дата рождения не является константой по документам: в ней могут встречаться как банальные ошибки (опечатки), так и более экзотическая вещь, как смена летосчисления :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2014, 14:36 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
катит о снилс и инн. говорят, они НЕ уникальны. сценарий простой. однофамильцы. заказали инн. им делают два. потом последовательно приходят за инн в контору. и выдают первый из двух. второй остается неиспользованый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2014, 15:16 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
prog123baracsпропущено... МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей , и вероятность появления среди них полных тезок отличается от 0. Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС. Требуйте указания адреса рождения и тема закрыта. Так сказать место возникновения события "рождение" субьекта. Начните с себя: вспомните без шпаргалок точный адрес собственного рождения. prog123Место, это не значит только город, люди не на вокзале рождаются:) И на вокзале, и на посту ДПС, и в карете Скорой помощи... У вас фантазии не хватит на все варианты. А самое главное, это требование не исключает тезок, т.к. роддом не имеет никакого отношения к именованию новорожденных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 10:27 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
MasterZivкатит о снилс и инн. говорят, они НЕ уникальны. На счет уникальности не знаю, но ИНН, точно, может меняться при смене постоянного места жительства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 10:30 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
baracsможет меняться при смене постоянного места жительства У меня менялось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 10:42 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Для Украинских ИНН место жительства не кодируется в номере. Но кодируется пол и дата рождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 13:10 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Дактилоскопия. Ей пофигу на всякие смены ФИО и прочих реквизитов, а также ошибки в них... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 19:53 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Софт для сличения пальчиков стоит отдельных денег. Думаю что он отдельно сертифицируется и требует особого обращения. Вобщем это вам не плагин к бд поставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 20:02 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
100 летДактилоскопия. Ей пофигу на всякие смены ФИО и прочих реквизитов, а также ошибки в них... Зато не пофиг на шрамы, ожоги и ампутации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 20:07 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Тут смысл в другом. Личность соответствует своему био-паспорту. Если чел потерял палец - его повторно дактиллоскопируют по отпечатку ладони. Если получил ожоги - всё равно повторно можно снять рисунок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 20:11 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Ну биопаспорту все же соответствует не личность, а та часть тела, которую личность предъявляет. Подложив отрезанный палец пройти аутентификацию можно, хотя личность не та. Для перфекционаста даже геном не будет достаточно надежным токеном, так как не защищает от клона и/или перепрограммированной личности. Более правильным было бы использовать хэш от мозговой функции. Но и у хешей свои недостатки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 20:19 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Alibek B.Ну биопаспорту все же соответствует не личность, а та часть тела, которую личность предъявляет. Подложив отрезанный палец пройти аутентификацию можно, хотя личность не та. Для перфекционаста даже геном не будет достаточно надежным токеном, так как не защищает от клона и/или перепрограммированной личности. Более правильным было бы использовать хэш от мозговой функции. Но и у хешей свои недостатки. Предлагаю клона не учитывать т.к. в настоящий момент ни вы ни я ни наука не могут дать определение клона. Хеш от мозговой функции тоже предлагаю не учитывать по вышеуказанным причинам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 20:43 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
maytonAlibek B.Ну биопаспорту все же соответствует не личность, а та часть тела, которую личность предъявляет. Подложив отрезанный палец пройти аутентификацию можно, хотя личность не та. Для перфекционаста даже геном не будет достаточно надежным токеном, так как не защищает от клона и/или перепрограммированной личности. Более правильным было бы использовать хэш от мозговой функции. Но и у хешей свои недостатки. Предлагаю клона не учитывать т.к. в настоящий момент ни вы ни я ни наука не могут дать определение клона. Хеш от мозговой функции тоже предлагаю не учитывать по вышеуказанным причинам. На самом деле геном тоже не панацея. Однояйцевые близнецы имеют одинаковый геном. Поэтому тест на отцовство не дает 100% гарантии. Там 99 с чем то % ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2014, 21:59 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Alibek B.100 летДактилоскопия. Ей пофигу на всякие смены ФИО и прочих реквизитов, а также ошибки в них... Зато не пофиг на шрамы, ожоги и ампутации.Как велика вероятность сего по сравнению с вероятностью смены ФИО или допущения ошибки при вводе ФИО/места рождения/прочих идентифицирующих реквизитов? ИМХО, 100% гарантии не дает даже господь бог, и не стоит расшибать лоб в попытках добиться ее в рамках означенной задачи... Не думаю что цена ошибки идентификации человека настолько велика, чтобы гоняться не знамо за чем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 12:57 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
100 лет<>Как велика вероятность сего по сравнению с вероятностью смены ФИО или допущения ошибки при вводе ФИО/места рождения/прочих идентифицирующих реквизитов? ИМХО, 100% гарантии не дает даже господь бог, и не стоит расшибать лоб в попытках добиться ее в рамках означенной задачи... Не думаю что цена ошибки идентификации человека настолько велика, чтобы гоняться не знамо за чем... вот и продолжайте "не думать" . у вас хорошо получается. решение предложено давно -- суррогат. точка. а все "ошибки идентификации человека" тем или иным способом -- в общую очередь необязательных процедур. и отпечатки туда и ожоги туда и фио с загсом и текущим созвездием и гадание на бараньих рёбрышках, куриных потрошках и кофейной жижке и всё, что придумаете и рулите на уровне приложения всеми этими проверками и их жестокостью -- во всю силу соей дури. кто ж вам запретит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 14:13 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
эттарешение предложено давно -- суррогат. точка. Как суррогат поможет идентифицировать человека? Вот приходит к Вам Вася Пупкин и говорит "зарегистрируйте меня в вашей базе". Вы смотрите - у Вас есть уже 3 Василия Пупкина (с суррогатами, да). Что дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 14:33 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
100 летКак велика вероятность сего по сравнению с И какова же вероятность? Или это было написано, чтобы поболтать? Дело не в величине вероятности, а в ее принципиальной возможности. Такая возможность существует. А значит если ее не учитывать, то в архитектуре системы будет заложена принципиальная невозможность разрешения такой ситуации. Закладывать такую принципиальную невозможность, когда это можно решить — глупость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 14:34 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинКак суррогат поможет идентифицировать человека? Он в этом не поможет. Но зато он позволит осуществить слияние или разделение объектов нормальным способом, а не хардкором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 14:36 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Alibek B.Кот МатроскинКак суррогат поможет идентифицировать человека? Он в этом не поможет. Ну так задача-то именно в этом (смотрите исходный пост) Что будет стоять в ограничении primary key таблицы - это вобще неинтересный кодерский вопрос. Но при этом факт заключается в том, что если мы не хотим иметь мусор в базе - нам надо иметь алгоритм идентификации (а чтобы особо ушлые операторы на него не забивали - некий unique constraint). И из того, что его нельзя сделать универсально, для всех случаев - не значит что на него можно совсем забить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 14:49 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинAlibek B.пропущено... Он в этом не поможет. Ну так задача-то именно в этом (смотрите исходный пост) Что будет стоять в ограничении primary key таблицы - это вобще неинтересный кодерский вопрос. Но при этом факт заключается в том, что если мы не хотим иметь мусор в базе - нам надо иметь алгоритм идентификации (а чтобы особо ушлые операторы на него не забивали - некий unique constraint). И из того, что его нельзя сделать универсально, для всех случаев - не значит что на него можно совсем забить. задача -- ввести "пк" для человека суррогат -- это оно а вся идентификация -- рюшечки со стороны приложения: -- приходит такой "кот матроськин" -- а вы, такой, проверяете его по радужке -- и говорите, извини, братан, но у нас 3 кота в матросах уже есть, а в этом сезоне предписание -- регистрировать только уникальные радужки -- ходи давай начальника -- васе пупкина -- ана разрешение даст -- заведём и с радужкой и со снилсом. а не даст -- можем ваши денежки на счет такого же матроскина ввести. суррогат такой-то , перечень хвостов, лап, ушей -- такой то. заведён тогда-то, по предъявлении паспорта номер такой-та. согласны ? -- и вся недолга. а пройдёт мода на радужку -- по снимку рабочего окружения компа будем идентифицировать, и характерному поведению в социальных. тоже метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:14 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
эттаа вся идентификация -- рюшечки со стороны приложения: Я уже говорил,идентификация в виде "рюшечек со стороны приложения" - это плохо, потому что приложения/операторы не всегда полностью контролируются. Кто-то вот провел идентификцию по радужке, а кто-то нет - и опаньки, в базе мусор, база же дает заводить что угодно, знай суррогаты шлепает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:24 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинКто-то вот провел идентификцию по радужке, а кто-то нет - и опаньки, в базе мусор, база же дает заводить что угодно, знай суррогаты шлепает. Когда база не даёт заводить информацию, которая вот перед тобой стоит, это гораздо хуже. Никогда не попадали в ситуацию, когда, например, стоите с товаром в руке, а кассирша говорит "Я не могу вам его продать, у нас по базе остаток ноль и касса не даст оформить продажу". Поэтому во многих случаях целесообразно разделять ввод данных и их верификацию, по результатам которой ставить тот или иной признак "не мусор". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:27 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Согласно библии это будет апокалипсис. Тотальный контроль над человеками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:35 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarerКот МатроскинКто-то вот провел идентификцию по радужке, а кто-то нет - и опаньки, в базе мусор, база же дает заводить что угодно, знай суррогаты шлепает. Когда база не даёт заводить информацию, которая вот перед тобой стоит, это гораздо хуже. Это зависит от области применения. Иногда хуже "не завести", иногда - "завести фигню". Поэтому вопрос идентификации людей - он вообще только частично технический, как минимум тут должен участовать бизнес-аналитик, а по хорошему вообще куча людей, включая топов. И универсального решения для всех случаев и на все времена - да, не существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:36 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинЭто зависит от области применения. Иногда хуже "не завести", иногда - "завести фигню". Нет, от области применения это не зависит. Может зависеть от [плохого] дизайна БД, когда "завести фигню, смешав её с не фигнёй" становится ещё хуже, чем "не завести". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:39 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Был такой чел. Альфонс Бертильон. Давайте отдадим и ему должное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:48 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarerКот МатроскинЭто зависит от области применения. Иногда хуже "не завести", иногда - "завести фигню". Нет, от области применения это не зависит. Может зависеть от [плохого] дизайна БД,. При чем тут дизайн БД? вот пришел человек сделать у Вас некую транзакцию. Вам надо выдать ему подтверждение, что он-таки транзакцию совершил. Вы ее в какой момент будете выдавать? До "верификации"(tm)? - значит верификация бесполезна, обверифицируйтесь потом, но за транзакцию придется отвечать. После верификации? "Ок, мы приняли данные, теперь подождите пару суток, пока у нас дойдут руки проверить"? Тоже может нехорошо выйти ... "Жизнь сложнее схем" (с), и уж тем более - сложнее схем БД ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 15:53 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
maytonБыл такой чел. Альфонс Бертильон. Давайте отдадим и ему должное. Да, один из первых в мире специалистов по очистке данных :) Но сегодня его упоминание укладывается в уже обсуждённую дактилоскопию. Кот МатроскинПри чем тут дизайн БД? вот пришел человек сделать у Вас некую транзакцию. Это бессмысленная постановка вопроса. Человек не может "пришёл сделать транзакцию", он и слов-то таких не знает. На самом деле есть несколько фактов: - человек предъявил такой-то документ - человек внёс столько-то денег - человек распорядился сделать с ними то-то - итд. Это всё - достоверная информация, которая может и должна быть зафиксирована и по результатам которой должны быть предприняты какие-то бизнес-действия. А если бизнес-действие - это "охранник ударил сзади по голове и оттащил в ОВД за фальшивый паспорт" - то тем более факты должны быть зафиксированы. Кот МатроскинВам надо выдать ему подтверждение, что он-таки транзакцию совершил. Вы ее в какой момент будете выдавать? До "верификации"(tm)? - значит верификация бесполезна, обверифицируйтесь потом, но за транзакцию придется отвечать. Глупость. Вот то самое БКИ, присылает мне банк "гражданка Петрова, паспорт 12345, принесла платёж по кредиту десять тысяч золотых рупий". А у меня паспорт 12345 записан на гражданку Сидорову. И по-Вашему, я должен зарубить нафиг транзакцию и велеть банку сказать "Нет, гражданка Петрова, не возьмём мы ваших странных денег, пока Вы не отыщете Сидорову и не решите, у кого из вас правильный паспорт". Кот Матроскин"Жизнь сложнее схем" (с), Верно. И именно поэтому любая "верификация, блокирующая вход" блокирует жизнь, как только та по каким-то причинам не впишется в схему. Хотя бы классический пример с дублирующимися ИНН: вот внёс один идиот unique key у себя в базе, а в результате какая-нибудь гражданка Сидорова не сможет оплатить штраф в ГАИ. Будет тыкать бумажкой в лицо: вот, смотрите, печать налоговой, они выдали мне такой ИНН, а сотрудники ей - гражданочка, ну не принимает программа ваш ИНН, ничего сделать не можем, это ваши проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 16:36 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
про код днк уже писали втут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 17:16 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarerКот МатроскинВам надо выдать ему подтверждение, что он-таки транзакцию совершил. Вы ее в какой момент будете выдавать? До "верификации"(tm)? - значит верификация бесполезна, обверифицируйтесь потом, но за транзакцию придется отвечать. Глупость. Что "глупость"? Что придется отвечать, если выдали подтверждение? softwarer Вот то самое БКИ, присылает мне банк "гражданка Петрова, паспорт 12345, принесла платёж по кредиту десять тысяч золотых рупий". А у меня паспорт 12345 записан на гражданку Сидорову. И по-Вашему, я должен зарубить нафиг транзакцию и велеть банку сказать "Нет, гражданка Петрова, не возьмём мы ваших странных денег, пока Вы не отыщете Сидорову и не решите, у кого из вас правильный паспорт". По-моему, Вы должны вопрос "зарубать или нет" - согласовать с кучей заинтересованных лиц, включая юристов, риски, внутренний контроль и т.п., и по консенсусу построить систему. А не решать "я тут придумал супердизайн БД, так что чего париться, я сам знаю как система должна в этом случае действовать". Это вопрос не дизайна БД. softwarerКот Матроскин"Жизнь сложнее схем" (с), Верно. И именно поэтому любая "верификация, блокирующая вход" блокирует жизнь, как только та по каким-то причинам не впишется в схему. Кот МатроскинИногда хуже "не завести", иногда - "завести фигню". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 17:36 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин По-моему, Вы должны вопрос "зарубать или нет" - согласовать с кучей заинтересованных лиц, ... Это вопрос не дизайна БД. Неверно. Это два разных вопроса. Есть вопрос бизнес-логики: какое решение должна принять система в таких-то условиях. Я его ни с кем не должен согласовывать, его должны просто решить "заинтересованные лица", а я - в идеале - просто реализовать. В жизни, к сожалению, мне приходится таки выступить медиатором между этими заинтересованными лицами, дабы они не решили полной чуши. А есть вопрос технической архитектуры, в том числе транзакции, и здесь дело системы - зафиксировать факты и принятое решение. Возможно, Вам будет понятнее, если Вы задумаетесь над алгоритмом работы банкомата и банка в случае "Вы вставили карточку и запросили стотыщ, а на счёте нет денег". Если Вы думаете, что при этом делается rollback транзакции и от неё не остаётся никаких следов - подумайте получше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 18:00 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarer. А есть вопрос технической архитектуры, в том числе транзакции. Эээ, Вы поняли в моем сообщении слово "транзакция" как "транзакция БД"? Нет, конечно, я имел в виду транзакцию как [некую] операцию в рельаном мире - посылка телеграммы, снятие денег, голосование на выборах, etc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 18:11 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинЭээ, Вы поняли в моем сообщении слово "транзакция" как "транзакция БД"? Нет, конечно, я имел в виду транзакцию как [некую] операцию в рельаном мире Тогда напомню, с чего всё начиналось: 17023895 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 18:20 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
Мы начали с идентификации человека. А закончили просто ручным аппрувом операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 18:45 |
|
||
|
Первичный ключ для человека
|
|||
|---|---|---|---|
|
#18+
softwarerКот МатроскинЭээ, Вы поняли в моем сообщении слово "транзакция" как "транзакция БД"? Нет, конечно, я имел в виду транзакцию как [некую] операцию в рельаном мире Тогда напомню, с чего всё начиналось: 17023895 Ну да, именно - здесь идет речь не о транзакции в БД, а о транзакции в реальном мире. И я говорю - бывает так, что лучше-таки отбросить и не дать совершиться сомнительной транзакцию реального мира, (для Вашего примере - сказать "Да, мы не можем продать этот товар. Наши извинения"), чем принять какие-то подозрительные данные, выдать человеку подтверждение транзакции (для Вашего примера - чек), а потом с помощью супердизайна БД разбираться, а что же это за фигня была и зачем. И вопрос "Нужно отбрасываать или нужно фиксировать и потом разбираться" - это не вопрос дизайна БД. В БД Вы можете зафиксировать "Вот была попытка купить такой-то товар, но обломилась по таким-то причинам", можно потом с этим разбираться - но с точки зрения реального мира транзакции (продажи товара, отправки телеграммы, получения Бюллетеня для голсования) - не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2014, 18:52 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1540704]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
94ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 331ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...