powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Первичный ключ для человека
77 сообщений из 77, показаны все 4 страниц
Первичный ключ для человека
    #38832162
Владимир37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, мне требуется помощь или, скорее всего, просто совет. Я разработал 2 программы клиентская (стоит в районах) и общая. Данные вводятся в районах, затем выгружаются в файл xml и загружаются в общую. Так вот, в обеих базах есть таблица с людьми (ФИО, дата рождения, СНИЛС, адрес и др). Вопрос в том, как уникально идентифицировать человека (построить первичный ключ). Теоретически один человек может быть заведен сначала в одном районе и загружен в общую. Потом человека могут завести в другом районе и при загрузке в общую базу его надо найти. Первоначально я думал использовать СНИЛС для идентификации человека, но потом выяснилось, что СНИЛС может и не быть (иностранцы, беженцы). Тогда как построить первичный ключ. Альтернативный вариант: использовать ФИО и дату рождения. Но это не вариант. Были у нас в области разные люди, у который полностью совпадали ФИО и ДР. Плюс еще одна проблема: нашли ошибку, например, в имени. Исправили и все, ключ изменился, при загрузке в общую базу будет создан новый человек.
Может, посоветуете, как все-таки построить первичный ключ.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832177
JeStone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир37,
Отличить одного человека от другого в общем случае нетривиальная задача. С технической точки зрения используйте в качестве первичного ключа целочисленное поле с автоинкрементом (не надо тут мудрить). Что касается слияния, то тут панацеи быть не может. Вы можете точно сказать, что если у человека совпадает снилс или серия и номер паспорта, то один и тот же человек. Но во всех остальных случаях надо либо вручную решать новый это пользователь или старый, либо какой-то маркер на клиентах хранить, который будет установлен, если данные уже ранее импортировались в общую базу и не установлен в обратном случае (тогда можно будет хоть какие-то вероятностные предположения делать о том, является ли пользователь искомым или он точно новый). Но это тоже в общем случае не решит проблемы на 100%. Придется ручками разруливать пользователей, поменявших паспорт и т.д.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832181
Владимир37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JeStone,

Вот насчет маркера - хорошая идея. Спасибо.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832188
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир37Может, посоветуете, как все-таки построить первичный ключ.
Первичный ключ для этого не годится. Я в своё время расписывал алгоритм сопоставления людей для бюро кредитных историй, это было три страницы в ворде. Если грубо, смысл в том, что почти любой признак человека может поменяться и в любом может быть ошибка. Скажем, Мария Ивановна Петрова взяла кредит в одном банке, потом вышла замуж, стала Марией Ивановной Сидоровой, поменяла паспорт и пришла за кредитом в другой банк.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832196
Владимир37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerВладимир37Может, посоветуете, как все-таки построить первичный ключ.
Первичный ключ для этого не годится. Я в своё время расписывал алгоритм сопоставления людей для бюро кредитных историй, это было три страницы в ворде. Если грубо, смысл в том, что почти любой признак человека может поменяться и в любом может быть ошибка. Скажем, Мария Ивановна Петрова взяла кредит в одном банке, потом вышла замуж, стала Марией Ивановной Сидоровой, поменяла паспорт и пришла за кредитом в другой банк.
Ну как вы сопоставляли таких людей?
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832211
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир37, Вы хотите, чтобы я сходу ещё раз написал те три страницы? Смотрел для всех атрибутов совпадают - не совпадают - неизвестно. Если набиралось достаточное по весу количество совпадений и не было несовпадений, считал одним человеком (это разные вещи, потому что например в одной записи может быть СНИЛС и не быть ИНН, во второй - наоборот). Если было, кажется, одиночное несовпадение при похожести данных - считал одним человеком и индицировал ошибку ввода. Если было достаточное по весу количество различий, считал разными людьми, при этом при наличии совпадений сообщал об этом, и в банки шли запросы на тему проверить ещё раз и ввести правильные реквизиты. Отрабатывал вот этот вариант со сменой фамилии из-за семейного положения. Проверял номера не только по текущим реквизитам, а и по старым (например, человек уже поменял паспорт, а из банка продолжают приходить его выплаты со старыми реквизитами). Ну а сомнительные случаи отправлял на ручной разбор, тот чаще всего заключался в звонках в банк и в выяснении ситуации.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832359
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир37Может, посоветуете, как все-таки построить первичный ключ.
Формально "по закону" люди отличаются друг от друга по паспорту, даже не по паспортным данным, т.к. они могут совпадать.
У нас в РК для каждого жителя вводиться ИИН.
Он же является уникальным ключём.
В рамках предприятия обычно хватает полное ФИО и дата рождения.
Если количество полных тезек возможно будет мало, то можно ограничиться ФИО+дата рождения.
Если же нужно точно отличать, то смотрел бы на удостоверяющий документ (паспорт).
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832529
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир37Народ, мне требуется помощь или, скорее всего, просто совет. Я разработал 2 программы клиентская (стоит в районах) и общая. Данные вводятся в районах, затем выгружаются в файл xml и загружаются в общую. Так вот, в обеих базах есть таблица с людьми (ФИО, дата рождения, СНИЛС, адрес и др). Вопрос в том, как уникально идентифицировать человека (построить первичный ключ). Теоретически один человек может быть заведен сначала в одном районе и загружен в общую. Потом человека могут завести в другом районе и при загрузке в общую базу его надо найти. Первоначально я думал использовать СНИЛС для идентификации человека, но потом выяснилось, что СНИЛС может и не быть (иностранцы, беженцы). Тогда как построить первичный ключ. Альтернативный вариант: использовать ФИО и дату рождения. Но это не вариант. Были у нас в области разные люди, у который полностью совпадали ФИО и ДР. Плюс еще одна проблема: нашли ошибку, например, в имени. Исправили и все, ключ изменился, при загрузке в общую базу будет создан новый человек.
Может, посоветуете, как все-таки построить первичный ключ.

Задача простая и вы, если подумаете, решите ее без форумных советчиков. Нужно добавить к "идентификатору" человека, т.е. его ФИО, еще и место и время его рождения. Если мало, то задать одного или обоих родителей. Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось.

Фамилия, Имя, Отчество + место рождения + дата рождения.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832532
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerВладимир37, Вы хотите, чтобы я сходу ещё раз написал те три страницы? Смотрел для всех атрибутов совпадают - не совпадают - неизвестно. Если набиралось достаточное по весу количество совпадений и не было несовпадений, считал одним человеком (это разные вещи, потому что например в одной записи может быть СНИЛС и не быть ИНН, во второй - наоборот). Если было, кажется, одиночное несовпадение при похожести данных - считал одним человеком и индицировал ошибку ввода. Если было достаточное по весу количество различий, считал разными людьми, при этом при наличии совпадений сообщал об этом, и в банки шли запросы на тему проверить ещё раз и ввести правильные реквизиты. Отрабатывал вот этот вариант со сменой фамилии из-за семейного положения. Проверял номера не только по текущим реквизитам, а и по старым (например, человек уже поменял паспорт, а из банка продолжают приходить его выплаты со старыми реквизитами). Ну а сомнительные случаи отправлял на ручной разбор, тот чаще всего заключался в звонках в банк и в выяснении ситуации.

А вы ведь коллега лет 10 уже здесь тусите?:)
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832587
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось.
Люблю стратегов (тех, которые из известного анекдота про ёжиков). Если мне не изменяет память, согласно инструкциям ЦБ у нас в стране есть 24 типа документов, удостоверяющих личность [то есть тех, которые могут быть предъявлены человеком в банке]. Домашнее задание: выяснить, в скольких из них указываются имя при рождении, место рождения и время рождения.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832594
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123А вы ведь коллега лет 10 уже здесь тусите?:)
В профиле есть поле "дата регистрации", а поиском по нику можно примерно выяснить, сколько времени я присутствовал здесь до регистрации.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832600
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вы ведь коллега лет 10 уже здесь тусите?:)
тамбовский волк вамбе коллега,


всех любителей естественных ключей для персон -- строго в биореактор
только суррогат
и только процедуры поиска претендентов на дубли.
а по частичным уникъю (снилс, INN) -- nullable уникъю
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832613
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123Задача простая и вы, если подумаете, решите ее без форумных советчиков. Нужно добавить к "идентификатору" человека, т.е. его ФИО, еще и место и время его рождения. Если мало, то задать одного или обоих родителей. Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось.

Фамилия, Имя, Отчество + место рождения + дата рождения. МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей, и вероятность появления среди них полных тезок отличается от 0.

Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС.
Любопытно, как ТС будет налаживать с ними взаимодействие.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832652
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baracsМВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются.
С год назад у нас на форуме упоминалась замечательная история. Кратко - дама пару лет воюет с приставами, вынесшими её квартиру. Вынесли они на основании судебного решения, принятого в отсутствие ответчика. Решение было принято из-за кредита, взятого и не возвращённого её тёзкой. Причём факт "кредит брала не она" доказан и в общем-то сомнению не подлежит, но органы занимают позицию "судебное решение вынесено именно в её адрес, пересматривать оснований нет".
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832834
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerbaracsМВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются.
С год назад у нас на форуме упоминалась замечательная история. Кратко - дама пару лет воюет с приставами, вынесшими её квартиру. Вынесли они на основании судебного решения, принятого в отсутствие ответчика. Решение было принято из-за кредита, взятого и не возвращённого её тёзкой. Причём факт "кредит брала не она" доказан и в общем-то сомнению не подлежит, но органы занимают позицию "судебное решение вынесено именно в её адрес, пересматривать оснований нет".
OffTopФормально приставы правы - не они выносили решение, не им его и отменять. Если факт "кредит брала не она" доказан, по логике, должно появиться судебное решение, отменяющее предыдущее.
К счастью, я не знаком с практикой возврата отобранного приставами имущества, поэтому не знаю, что дальше делать с этим решением.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832835
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baracsprog123Задача простая и вы, если подумаете, решите ее без форумных советчиков. Нужно добавить к "идентификатору" человека, т.е. его ФИО, еще и место и время его рождения. Если мало, то задать одного или обоих родителей. Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось.

Фамилия, Имя, Отчество + место рождения + дата рождения. МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей, и вероятность появления среди них полных тезок отличается от 0.

Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС.
Любопытно, как ТС будет налаживать с ними взаимодействие.
Подтверждаю. При мне человек в отделение милиции приходил жаловаться, что на каждом стационарном посту ГАИ на МКАД его тормозят и задерживают. Смысл был в том, что в розыске был его полный тезка, причем совпадали даже даты рождения (место отличалось). Ну и Поток по номеру пробивал владельца, владелец определялся как розыскник, со всеми сопутствующими последствиями.

К сожалению, просто на ФИО ориентироваться бессмысленно. Про банальный случай смены фамилии писать нет смысла. Но через ЗАГС легко меняется и имя. Знаю девушку, которой не понравилось свое имя, и она его сменила.

Или вот еще пример: как дубль определились близнецы, у которых фамилия и отчество совпали, дата и место рождения тоже. Папа имена дал им очень похожие (разница в одной букве). Система посчитала это за опечатку.

Задача поиска дублей очень нетривиальная, есть системы очистки данных, поиска таких дублей и тп, например Фактор . По хорошему нужно несколько сценариев определения дубликатов, и все равно, 100% точности это не гарантирует.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832836
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир37Народ, мне требуется помощь или, скорее всего, просто совет. Я разработал 2 программы клиентская (стоит в районах) и общая. Данные вводятся в районах, затем выгружаются в файл xml и загружаются в общую. Так вот, в обеих базах есть таблица с людьми (ФИО, дата рождения, СНИЛС, адрес и др). Вопрос в том, как уникально идентифицировать человека (построить первичный ключ). Теоретически один человек может быть заведен сначала в одном районе и загружен в общую. Потом человека могут завести в другом районе и при загрузке в общую базу его надо найти. Первоначально я думал использовать СНИЛС для идентификации человека, но потом выяснилось, что СНИЛС может и не быть (иностранцы, беженцы). Тогда как построить первичный ключ. Альтернативный вариант: использовать ФИО и дату рождения. Но это не вариант. Были у нас в области разные люди, у который полностью совпадали ФИО и ДР. Плюс еще одна проблема: нашли ошибку, например, в имени. Исправили и все, ключ изменился, при загрузке в общую базу будет создан новый человек.
Может, посоветуете, как все-таки построить первичный ключ.
Мне нравятся суррогатные ключи. И я бы для клиентов выбрал GUID, а не автоинкремент
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832841
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эти смешные проблемы возникают, когда вместо баз данных используется "реляционная технология")) Суррогатный ключ - это точно такое же свойство сущности, как и фамилия - то есть, это тоже атрибут отношения. А в базах данных используются идентификаторы. Идентификатор принципиально не является свойством сущности (и "находится" вне свойств), и отражает факт существования сущности независимо от ее свойств.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832856
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baracs
OffTopФормально приставы правы - не они выносили решение, не им его и отменять. Если факт "кредит брала не она" доказан, по логике, должно появиться судебное решение, отменяющее предыдущее.
К счастью, я не знаком с практикой возврата отобранного приставами имущества, поэтому не знаю, что дальше делать с этим решением.

OffTopПо приставам понятно, хотя они могли бы притормозить. Но там была целая эпопея, поскольку суд тоже отказывался пересматривать решение. В общем, её упорно пытались заворачивать по формальным критериям, а в банке ей просто прямо заявили "мы хотим получить наши деньги и нам наплевать, с кого".
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832908
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Мне нравятся суррогатные ключи. И я бы для клиентов выбрал GUID, а не автоинкремент
GUID безсмысленно расходует место в индексе. И его возможности выходят за рамки обычного
sequence. Это факт. Но вы эти возможности собираетесь использовать?

Или GUID просто берете для "красоты"?
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832924
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Мне нравятся суррогатные ключи. И я бы для клиентов выбрал GUID, а не автоинкремент

Суррогатные ключи всем нравятся, но здесь это не поможет. Ведь вопрос у ТС в том, что один человек может зарегистрироваться в двух районах, эти учетки получат разный GUID (или автоинкремент), а нужно как раз понять, что это один и тот же человек.

Здесь нужно различать сущности "человек" и его "учетные записи". Человеков много, учеток много, и с некоторой вероятностью, по некоторому алгоритму, мы можем сопоставлять людей с учетками (или учетки между собой). В большинстве случаев - с вероятностью, близкой к 100%, но иногда с меньшей, что влечет определенные последствия для различных видов бизнеса. Для одних случаев на возможные ошибки можно наплевать, в других, наоборот, в них самый сок.

Для конструктивного развития темы вопрос к ТС : какова цена ошибок - ошибочного сопоставления разных людей, либо, наоборот, разделения одной личности? Какие возможности исправления ошибок? Какие интересы бизнеса и клиентов по исправлению/сокрытию ошибок? Тогда можно что-то советовать дальше. Универсальных рецептов нет, но конкретные могут быть полезны.

100% надежно человека идентифицировать невозможно, но мир от этого не рухнул.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832926
JeStone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Возможно имелась ввиду такая характеристика GUID, как глобальная уникальность? Хотя не понятно как в контексте задачи ТС можно такое свойство использовать. Вот если бы не
авторТеоретически один человек может быть заведен сначала в одном районе ... Потом человека могут завести в другом районе

то смысл был бы
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38832936
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JeStonemayton,
Возможно имелась ввиду такая характеристика GUID, как глобальная уникальность? Хотя не понятно как в контексте задачи ТС можно такое свойство использовать. Вот если бы не
авторТеоретически один человек может быть заведен сначала в одном районе ... Потом человека могут завести в другом районе

то смысл был бы

Нет, про GUID имелось ввиду следующее. Если программа установлена много где, и вполне может применяться по схеме головной офис - филиалы. Тогда возникает вопрос репликации. Только лишь из-за этого, разумеется, вопрос с определением дубликатов guid никак не решает
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833020
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
baracsprog123Задача простая и вы, если подумаете, решите ее без форумных советчиков. Нужно добавить к "идентификатору" человека, т.е. его ФИО, еще и место и время его рождения. Если мало, то задать одного или обоих родителей. Такая информация хранится например в базах МВД и никогда никаких проблем, в отличие от софтварера:), не наблюдалось.

Фамилия, Имя, Отчество + место рождения + дата рождения. МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей , и вероятность появления среди них полных тезок отличается от 0.

Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС.
Любопытно, как ТС будет налаживать с ними взаимодействие.

Требуйте указания адреса рождения и тема закрыта. Так сказать место возникновения события "рождение" субьекта. Место, это не значит только город, люди не на вокзале рождаются:)

Таким образом:

Код: sql
1.
2.
PRIMARY KEY(ID_Person),
UNIQUE(PersonIdSummary) -- ФИО+Детальное место рождения+дата рождения
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833021
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
prog123baracsпропущено...
МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей , и вероятность появления среди них полных тезок отличается от 0.

Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС.
Любопытно, как ТС будет налаживать с ними взаимодействие.

Требуйте указания адреса рождения и тема закрыта. Так сказать место возникновения события "рождение" субьекта. Место, это не значит только город, люди не на вокзале рождаются:)

Таким образом:

Код: sql
1.
2.
PRIMARY KEY(ID_Person),
UNIQUE(PersonIdSummary) -- ФИО+Детальное место рождения+дата рождения



Для альтернативно одарённых: ФИО - разумеется на дату рождения:) , Названия элементов адреса рождения - тоже, т.е всё с соответствующих документов.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833022
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для любого мента "пробивающего" человека ясно как божий день, что ФИО повторяются, причем часто. Поэтому они вслед за ФИО смотрят на реквизит Уроженец: , ну и естественно дату рождения .

ЗЫ Все эти вопросы полностью решены в глубокой древности еще во времена СССР. Банки - это особый случай, банковские эксцессы в простейших вопросах, - результат работы "эффективных" менеджеров. Впрочем, такая "пичалька" встречается не только в банках.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833023
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79baracsпропущено...
МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей, и вероятность появления среди них полных тезок отличается от 0.

Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС.
Любопытно, как ТС будет налаживать с ними взаимодействие.
Подтверждаю. При мне человек в отделение милиции приходил жаловаться, что на каждом стационарном посту ГАИ на МКАД его тормозят и задерживают. Смысл был в том, что в розыске был его полный тезка, причем совпадали даже даты рождения (место отличалось). Ну и Поток по номеру пробивал владельца, владелец определялся как розыскник, со всеми сопутствующими последствиями.

К сожалению, просто на ФИО ориентироваться бессмысленно. Про банальный случай смены фамилии писать нет смысла. Но через ЗАГС легко меняется и имя. Знаю девушку, которой не понравилось свое имя, и она его сменила.

Или вот еще пример: как дубль определились близнецы, у которых фамилия и отчество совпали, дата и место рождения тоже. Папа имена дал им очень похожие (разница в одной букве). Система посчитала это за опечатку.

Задача поиска дублей очень нетривиальная, есть системы очистки данных, поиска таких дублей и тп, например Фактор . По хорошему нужно несколько сценариев определения дубликатов, и все равно, 100% точности это не гарантирует.

Даже простейшая базёнка должна обеспечивать "исторические" данные. Этим всё и сказано по теме.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833024
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одна буковка не совпала или сотня буковок - всё едино в вопросе идентификации.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833026
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иногда для решения подобных вопросов полезно забыть о существовании компьютеров вообще. Это очень поможет продвинуть по пути к радикальному и абсолютному решению.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833027
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможна также некая процедура натурализации эмигранта. Он может взять себе имя и возможно что то еще. Это событие в любом случае будет делаться на основании уже существующей информации о персоне. Здесь мы переходим к шагу о реализации истории.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833130
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторые смешные люди забывают о близнецах, которым родители дают одно имя.
Но мы не будем над ними смеяться.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833157
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Некоторые смешные люди забывают о близнецах, которым родители дают одно имя.
Но мы не будем над ними смеяться.
Нет, не об этом забывают. А о том, что сущности существуют независимо от значений их свойств. И этот факт отражает идентификатор, который принципиально не является одним из свойств)) И, следовательно, записе-ориентированные системы (например, реляционные системы) не могут использоваться для эксплуатации баз данных))
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833166
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если чел еще попал под программу защиты свидетелей то ему дают новое имя,
фамилию и еще кучу новых социальных идентификаторов. И тогда вопрос
идентичности людей становится еще более сложным. Мы спускаемся на уровни
ДНК, слепков зубов e.t.c.

Не лучше-ли ребята нам на этом уже остановится. Пускай установлением
личности занимаются соотв. ведомства а наша задача - решать эти вопросы
в рамках простых реляционных инструментов.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833169
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если чел попал под программу защиты свидетелей, то отождествлять его не нужно. А вот если он просто вышел замуж или сменил имя, то расклад очень простой. Ошибочное неотождествление - причина возможно неверного решения по кредиту, источник претензий. Ошибочное отождествление - причина, из-за которой контору по полной натянут за нарушение закона о персональных данных.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833179
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123Даже простейшая базёнка должна обеспечивать "исторические" данные. Этим всё и сказано по теме.
Самое нелепое, что я читал в этом трэде. Откуда у обычной программы доступ к историческим записям БД ЗАГС? Это если таковая существует. Исторических сведений в СВОЕЙ программе для задачи определения дублей клиента категорически не хватает.

У клиента может меняться ВСЕ. ФИО (через ЗАГС), место рождения (некоторые системы при очистке меняют на текущие названия, например Ленинград/СПб), дата рождения (у моей матери даты рождения в свидетельстве о рождении и в паспорте различаются), серия и номер ДУЛ (например, при смене или утере паспорта). Да и не забываем об обычном человеческом факторе при вводе данных...

Поэтому в нормальных системах есть еще и обратная операция - разъединение клиентов. Алгоритм разъединения еще сложнее...
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833186
Владимир37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за советы. Решил я пока проблему следующим образом: по совету JeStone установил признак того, что человек уже выгружен. Благодаря этому мы при загрузке знаем точно, есть человек в общей базе или нет. Т.е. при загрузке, если человек точно должен быть, но его не удается найти, то программа выдает предупреждение, что человек не найден и предлагает выбрать его вручную, создать или пропустить. Если нашлось несколько человек, то так же выдается предупреждение и есть возможность выбрать человек руками. В качестве ключа использую СНИЛС, если есть, и ФИО+ДР, если нет снилса. Для моей задачи, я думаю, этого хватит.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833187
JeStone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЕсли чел попал под программу защиты свидетелей, то отождествлять его не нужно.
Самый лучший момент, чтобы взять кредит в банке =D
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833254
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79prog123Даже простейшая базёнка должна обеспечивать "исторические" данные. Этим всё и сказано по теме.
Самое нелепое, что я читал в этом трэде. Откуда у обычной программы доступ к историческим записям БД ЗАГС? Это если таковая существует. Исторических сведений в СВОЕЙ программе для задачи определения дублей клиента категорически не хватает.

У клиента может меняться ВСЕ. ФИО (через ЗАГС), место рождения (некоторые системы при очистке меняют на текущие названия, например Ленинград/СПб), дата рождения (у моей матери даты рождения в свидетельстве о рождении и в паспорте различаются), серия и номер ДУЛ (например, при смене или утере паспорта). Да и не забываем об обычном человеческом факторе при вводе данных...

Поэтому в нормальных системах есть еще и обратная операция - разъединение клиентов. Алгоритм разъединения еще сложнее...

>У клиента может меняться ВСЕ.
У многих объектов может меняться всё. Это простейшая ситуация для человека, понимающего как организовать историю.

>Откуда у обычной программы доступ к историческим записям БД ЗАГС?
Вы должны отвечать за своё!:) Нужно разруливать проблему недостаточности данных. Если у объекта менялись данных 10 раз, то все варианты должны быть введены. (Если человек пришел с третьей по счёту своей фамилией, но пытается скрыть предыдущие, то это криминал.) Программа должна в любом случае принять данные на дату рождения .

Так что все уже сказано выше.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833273
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123Если у объекта менялись данных 10 раз, то все варианты должны быть введены. (Если человек пришел с третьей по счёту своей фамилией, но пытается скрыть предыдущие, то это криминал.
Это не криминал, это ваше незнание предметной области и нежелание подумать.

Почему я должен кому-то рассказывать про все свои смены фамилии? С какой стати я должен при посещении любого учреждения давать подробную историю? О каком криминале идет речь?

Именно для интеграции разных информационных систем в одно и прозрачной идентификации клиентов придумывают всякие master data и прочее. К сожалению, в общегосударственном масштабе в публичном доступе таких систем нет.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833413
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
prog123 <>

>Откуда у обычной программы доступ к историческим записям БД ЗАГС?
Вы должны отвечать за своё!:) Нужно разруливать проблему недостаточности данных. Если у объекта менялись данных 10 раз, то все варианты должны быть введены. (Если человек пришел с третьей по счёту своей фамилией, но пытается скрыть предыдущие, то это криминал.) Программа должна в любом случае принять данные на дату рождения .

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

ну и не забываем, что даже если система сладит за остенбакеным с рожения, то инфу она принимает через операторов и датчики -- и первый ввод "ключа" может быть начисто случайно или умышленно ошибочным. Если система "хранит исторические данные" то данный ошибочный ввод должен сохраниться в её истории, и не может быть "исправлен" (селф) -- так как инфа об ошибке лежит в её "пк". но может быть создана иная сущность, с другим "ебстественным" пк, но надо как-то указать на связь между этими сущностями, но благодаря козлевичу, спроектировавшему БД с использованием "ебстественного ключа" мы это (без неуместного геморроя) сделать аккурат и не можем.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833437
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123Требуйте указания адреса рождения и тема закрыта
prog123смотрят на реквизит Уроженец: , ну и естественно дату рождения
...
ЗЫ Все эти вопросы полностью решены в глубокой древности еще во времена СССР.
Вы уж извините, но Вы выдвигаете до того наивные утверждения... Даже в моей семье (не говоря уж обо всей стране), у бабушек и дедушек, есть различные документы, выданные во времена СССР (в довоенные и послевоенные годы), где место рождения не совпадает со 100% точностью между документами одного и того же человека. Это и разный порядок следования слов в адресе, и различные сокращение, и опечатки, и т.д.

softwarer вкратце правильно описал идею нахождения одинаковых людей в базе.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833442
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и дата рождения не является константой по документам: в ней могут встречаться как банальные ошибки (опечатки), так и более экзотическая вещь, как смена летосчисления :)
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833473
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катит о снилс и инн.
говорят, они НЕ уникальны.

сценарий простой.
однофамильцы.

заказали инн.
им делают два.
потом последовательно приходят за инн в контору.
и выдают первый из двух.
второй остается неиспользованый.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833845
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123baracsпропущено...
МВД действительно так идентифицирует человека, но проблемы, таки, иногда наблюдаются. В городах с миллионным населением за день рождается немало детей , и вероятность появления среди них полных тезок отличается от 0.

Про базы МВД, в которых хранятся данные о родителях - ваши фантазии. Это епрахия органов ЗАГС.
Требуйте указания адреса рождения и тема закрыта. Так сказать место возникновения события "рождение" субьекта. Начните с себя: вспомните без шпаргалок точный адрес собственного рождения. prog123Место, это не значит только город, люди не на вокзале рождаются:) И на вокзале, и на посту ДПС, и в карете Скорой помощи... У вас фантазии не хватит на все варианты.
А самое главное, это требование не исключает тезок, т.к. роддом не имеет никакого отношения к именованию новорожденных.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833851
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivкатит о снилс и инн.
говорят, они НЕ уникальны. На счет уникальности не знаю, но ИНН, точно, может меняться при смене постоянного места жительства.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38833868
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
baracsможет меняться при смене постоянного места жительства
У меня менялось
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38834047
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Украинских ИНН место жительства не кодируется в номере.
Но кодируется пол и дата рождения.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38834506
100 лет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дактилоскопия.
Ей пофигу на всякие смены ФИО и прочих реквизитов, а также ошибки в них...
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38834510
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Софт для сличения пальчиков стоит отдельных денег. Думаю что он отдельно
сертифицируется и требует особого обращения.

Вобщем это вам не плагин к бд поставить.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38834516
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100 летДактилоскопия.
Ей пофигу на всякие смены ФИО и прочих реквизитов, а также ошибки в них...
Зато не пофиг на шрамы, ожоги и ампутации.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38834519
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут смысл в другом. Личность соответствует своему био-паспорту.
Если чел потерял палец - его повторно дактиллоскопируют по отпечатку
ладони. Если получил ожоги - всё равно повторно можно снять рисунок.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38834522
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну биопаспорту все же соответствует не личность, а та часть тела, которую личность предъявляет. Подложив отрезанный палец пройти аутентификацию можно, хотя личность не та.
Для перфекционаста даже геном не будет достаточно надежным токеном, так как не защищает от клона и/или перепрограммированной личности.
Более правильным было бы использовать хэш от мозговой функции. Но и у хешей свои недостатки.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38834526
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Ну биопаспорту все же соответствует не личность, а та часть тела, которую личность предъявляет. Подложив отрезанный палец пройти аутентификацию можно, хотя личность не та.
Для перфекционаста даже геном не будет достаточно надежным токеном, так как не защищает от клона и/или перепрограммированной личности.
Более правильным было бы использовать хэш от мозговой функции. Но и у хешей свои недостатки.
Предлагаю клона не учитывать т.к. в настоящий момент ни вы ни я ни наука не могут
дать определение клона.

Хеш от мозговой функции тоже предлагаю не учитывать по вышеуказанным причинам.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38834554
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonAlibek B.Ну биопаспорту все же соответствует не личность, а та часть тела, которую личность предъявляет. Подложив отрезанный палец пройти аутентификацию можно, хотя личность не та.
Для перфекционаста даже геном не будет достаточно надежным токеном, так как не защищает от клона и/или перепрограммированной личности.
Более правильным было бы использовать хэш от мозговой функции. Но и у хешей свои недостатки.
Предлагаю клона не учитывать т.к. в настоящий момент ни вы ни я ни наука не могут
дать определение клона.

Хеш от мозговой функции тоже предлагаю не учитывать по вышеуказанным причинам.
На самом деле геном тоже не панацея. Однояйцевые близнецы имеют одинаковый геном. Поэтому тест на отцовство не дает 100% гарантии. Там 99 с чем то %
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838038
100 лет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alibek B.100 летДактилоскопия.
Ей пофигу на всякие смены ФИО и прочих реквизитов, а также ошибки в них...
Зато не пофиг на шрамы, ожоги и ампутации.Как велика вероятность сего по сравнению с вероятностью смены ФИО или допущения ошибки при вводе ФИО/места рождения/прочих идентифицирующих реквизитов?
ИМХО, 100% гарантии не дает даже господь бог, и не стоит расшибать лоб в попытках добиться ее в рамках означенной задачи...
Не думаю что цена ошибки идентификации человека настолько велика, чтобы гоняться не знамо за чем...
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838119
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
100 лет<>Как велика вероятность сего по сравнению с вероятностью смены ФИО или допущения ошибки при вводе ФИО/места рождения/прочих идентифицирующих реквизитов?
ИМХО, 100% гарантии не дает даже господь бог, и не стоит расшибать лоб в попытках добиться ее в рамках означенной задачи...
Не думаю что цена ошибки идентификации человека настолько велика, чтобы гоняться не знамо за чем...

вот и продолжайте "не думать" . у вас хорошо получается.

решение предложено давно -- суррогат.
точка.
а все "ошибки идентификации человека" тем или иным способом -- в общую очередь необязательных процедур.
и отпечатки туда
и ожоги туда
и фио с загсом и текущим созвездием
и гадание на бараньих рёбрышках, куриных потрошках и кофейной жижке
и всё, что придумаете
и рулите на уровне приложения всеми этими проверками и их жестокостью -- во всю силу соей дури. кто ж вам запретит.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838141
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттарешение предложено давно -- суррогат.
точка.


Как суррогат поможет идентифицировать человека?
Вот приходит к Вам Вася Пупкин и говорит "зарегистрируйте меня в вашей базе". Вы смотрите - у Вас есть уже 3 Василия Пупкина (с суррогатами, да). Что дальше?
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838144
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100 летКак велика вероятность сего по сравнению с
И какова же вероятность?
Или это было написано, чтобы поболтать?
Дело не в величине вероятности, а в ее принципиальной возможности.
Такая возможность существует. А значит если ее не учитывать, то в архитектуре системы будет заложена принципиальная невозможность разрешения такой ситуации. Закладывать такую принципиальную невозможность, когда это можно решить — глупость.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838147
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинКак суррогат поможет идентифицировать человека?
Он в этом не поможет.
Но зато он позволит осуществить слияние или разделение объектов нормальным способом, а не хардкором.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838168
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Кот МатроскинКак суррогат поможет идентифицировать человека?
Он в этом не поможет.

Ну так задача-то именно в этом (смотрите исходный пост)
Что будет стоять в ограничении primary key таблицы - это вобще неинтересный кодерский вопрос.
Но при этом факт заключается в том, что если мы не хотим иметь мусор в базе - нам надо иметь алгоритм идентификации (а чтобы особо ушлые операторы на него не забивали - некий unique constraint). И из того, что его нельзя сделать универсально, для всех случаев - не значит что на него можно совсем забить.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838207
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинAlibek B.пропущено...

Он в этом не поможет.

Ну так задача-то именно в этом (смотрите исходный пост)
Что будет стоять в ограничении primary key таблицы - это вобще неинтересный кодерский вопрос.
Но при этом факт заключается в том, что если мы не хотим иметь мусор в базе - нам надо иметь алгоритм идентификации (а чтобы особо ушлые операторы на него не забивали - некий unique constraint). И из того, что его нельзя сделать универсально, для всех случаев - не значит что на него можно совсем забить.

задача -- ввести "пк" для человека
суррогат -- это оно

а вся идентификация -- рюшечки со стороны приложения:
-- приходит такой "кот матроськин" -- а вы, такой, проверяете его по радужке -- и говорите, извини, братан, но у нас 3 кота в матросах уже есть, а в этом сезоне предписание -- регистрировать только уникальные радужки -- ходи давай начальника -- васе пупкина -- ана разрешение даст -- заведём и с радужкой и со снилсом.
а не даст -- можем ваши денежки на счет такого же матроскина ввести. суррогат такой-то , перечень хвостов, лап, ушей -- такой то. заведён тогда-то, по предъявлении паспорта номер такой-та.
согласны ?

-- и вся недолга.
а пройдёт мода на радужку -- по снимку рабочего окружения компа будем идентифицировать, и характерному поведению в социальных. тоже метод.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838227
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттаа вся идентификация -- рюшечки со стороны приложения:


Я уже говорил,идентификация в виде "рюшечек со стороны приложения" - это плохо, потому что приложения/операторы не всегда полностью контролируются.
Кто-то вот провел идентификцию по радужке, а кто-то нет - и опаньки, в базе мусор, база же дает заводить что угодно, знай суррогаты шлепает.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838232
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинКто-то вот провел идентификцию по радужке, а кто-то нет - и опаньки, в базе мусор, база же дает заводить что угодно, знай суррогаты шлепает.
Когда база не даёт заводить информацию, которая вот перед тобой стоит, это гораздо хуже. Никогда не попадали в ситуацию, когда, например, стоите с товаром в руке, а кассирша говорит "Я не могу вам его продать, у нас по базе остаток ноль и касса не даст оформить продажу". Поэтому во многих случаях целесообразно разделять ввод данных и их верификацию, по результатам которой ставить тот или иной признак "не мусор".
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838241
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласно библии это будет апокалипсис. Тотальный контроль над человеками.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838243
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКот МатроскинКто-то вот провел идентификцию по радужке, а кто-то нет - и опаньки, в базе мусор, база же дает заводить что угодно, знай суррогаты шлепает.
Когда база не даёт заводить информацию, которая вот перед тобой стоит, это гораздо хуже.

Это зависит от области применения. Иногда хуже "не завести", иногда - "завести фигню".
Поэтому вопрос идентификации людей - он вообще только частично технический, как минимум тут должен участовать бизнес-аналитик, а по хорошему вообще куча людей, включая топов.
И универсального решения для всех случаев и на все времена - да, не существует.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838248
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЭто зависит от области применения. Иногда хуже "не завести", иногда - "завести фигню".
Нет, от области применения это не зависит. Может зависеть от [плохого] дизайна БД, когда "завести фигню, смешав её с не фигнёй" становится ещё хуже, чем "не завести".
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838263
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Был такой чел. Альфонс Бертильон. Давайте отдадим и ему должное.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838270
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКот МатроскинЭто зависит от области применения. Иногда хуже "не завести", иногда - "завести фигню".
Нет, от области применения это не зависит. Может зависеть от [плохого] дизайна БД,.

При чем тут дизайн БД? вот пришел человек сделать у Вас некую транзакцию. Вам надо выдать ему подтверждение, что он-таки транзакцию совершил. Вы ее в какой момент будете выдавать? До "верификации"(tm)? - значит верификация бесполезна, обверифицируйтесь потом, но за транзакцию придется отвечать.
После верификации? "Ок, мы приняли данные, теперь подождите пару суток, пока у нас дойдут руки проверить"? Тоже может нехорошо выйти ...

"Жизнь сложнее схем" (с), и уж тем более - сложнее схем БД ;)
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838329
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБыл такой чел. Альфонс Бертильон. Давайте отдадим и ему должное.
Да, один из первых в мире специалистов по очистке данных :) Но сегодня его упоминание укладывается в уже обсуждённую дактилоскопию.

Кот МатроскинПри чем тут дизайн БД? вот пришел человек сделать у Вас некую транзакцию.
Это бессмысленная постановка вопроса. Человек не может "пришёл сделать транзакцию", он и слов-то таких не знает. На самом деле есть несколько фактов:

- человек предъявил такой-то документ
- человек внёс столько-то денег
- человек распорядился сделать с ними то-то
- итд.

Это всё - достоверная информация, которая может и должна быть зафиксирована и по результатам которой должны быть предприняты какие-то бизнес-действия. А если бизнес-действие - это "охранник ударил сзади по голове и оттащил в ОВД за фальшивый паспорт" - то тем более факты должны быть зафиксированы.

Кот МатроскинВам надо выдать ему подтверждение, что он-таки транзакцию совершил. Вы ее в какой момент будете выдавать? До "верификации"(tm)? - значит верификация бесполезна, обверифицируйтесь потом, но за транзакцию придется отвечать.
Глупость. Вот то самое БКИ, присылает мне банк "гражданка Петрова, паспорт 12345, принесла платёж по кредиту десять тысяч золотых рупий". А у меня паспорт 12345 записан на гражданку Сидорову. И по-Вашему, я должен зарубить нафиг транзакцию и велеть банку сказать "Нет, гражданка Петрова, не возьмём мы ваших странных денег, пока Вы не отыщете Сидорову и не решите, у кого из вас правильный паспорт".

Кот Матроскин"Жизнь сложнее схем" (с),
Верно. И именно поэтому любая "верификация, блокирующая вход" блокирует жизнь, как только та по каким-то причинам не впишется в схему. Хотя бы классический пример с дублирующимися ИНН: вот внёс один идиот unique key у себя в базе, а в результате какая-нибудь гражданка Сидорова не сможет оплатить штраф в ГАИ. Будет тыкать бумажкой в лицо: вот, смотрите, печать налоговой, они выдали мне такой ИНН, а сотрудники ей - гражданочка, ну не принимает программа ваш ИНН, ничего сделать не можем, это ваши проблемы.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838376
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про код днк уже писали втут?
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838391
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКот МатроскинВам надо выдать ему подтверждение, что он-таки транзакцию совершил. Вы ее в какой момент будете выдавать? До "верификации"(tm)? - значит верификация бесполезна, обверифицируйтесь потом, но за транзакцию придется отвечать.
Глупость.

Что "глупость"? Что придется отвечать, если выдали подтверждение?

softwarer
Вот то самое БКИ, присылает мне банк "гражданка Петрова, паспорт 12345, принесла платёж по кредиту десять тысяч золотых рупий". А у меня паспорт 12345 записан на гражданку Сидорову. И по-Вашему, я должен зарубить нафиг транзакцию и велеть банку сказать "Нет, гражданка Петрова, не возьмём мы ваших странных денег, пока Вы не отыщете Сидорову и не решите, у кого из вас правильный паспорт".

По-моему, Вы должны вопрос "зарубать или нет" - согласовать с кучей заинтересованных лиц, включая юристов, риски, внутренний контроль и т.п., и по консенсусу построить систему. А не решать "я тут придумал супердизайн БД, так что чего париться, я сам знаю как система должна в этом случае действовать". Это вопрос не дизайна БД.

softwarerКот Матроскин"Жизнь сложнее схем" (с),
Верно. И именно поэтому любая "верификация, блокирующая вход" блокирует жизнь, как только та по каким-то причинам не впишется в схему.

Кот МатроскинИногда хуже "не завести", иногда - "завести фигню".
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838408
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскин По-моему, Вы должны вопрос "зарубать или нет" - согласовать с кучей заинтересованных лиц, ... Это вопрос не дизайна БД.
Неверно. Это два разных вопроса. Есть вопрос бизнес-логики: какое решение должна принять система в таких-то условиях. Я его ни с кем не должен согласовывать, его должны просто решить "заинтересованные лица", а я - в идеале - просто реализовать. В жизни, к сожалению, мне приходится таки выступить медиатором между этими заинтересованными лицами, дабы они не решили полной чуши. А есть вопрос технической архитектуры, в том числе транзакции, и здесь дело системы - зафиксировать факты и принятое решение.

Возможно, Вам будет понятнее, если Вы задумаетесь над алгоритмом работы банкомата и банка в случае "Вы вставили карточку и запросили стотыщ, а на счёте нет денег". Если Вы думаете, что при этом делается rollback транзакции и от неё не остаётся никаких следов - подумайте получше.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838414
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer. А есть вопрос технической архитектуры, в том числе транзакции.

Эээ, Вы поняли в моем сообщении слово "транзакция" как "транзакция БД"?
Нет, конечно, я имел в виду транзакцию как [некую] операцию в рельаном мире - посылка телеграммы, снятие денег, голосование на выборах, etc.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838422
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЭээ, Вы поняли в моем сообщении слово "транзакция" как "транзакция БД"?
Нет, конечно, я имел в виду транзакцию как [некую] операцию в рельаном мире
Тогда напомню, с чего всё начиналось: 17023895
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838441
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы начали с идентификации человека. А закончили просто ручным аппрувом операции.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838447
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКот МатроскинЭээ, Вы поняли в моем сообщении слово "транзакция" как "транзакция БД"?
Нет, конечно, я имел в виду транзакцию как [некую] операцию в рельаном мире
Тогда напомню, с чего всё начиналось: 17023895

Ну да, именно - здесь идет речь не о транзакции в БД, а о транзакции в реальном мире. И я говорю - бывает так, что лучше-таки отбросить и не дать совершиться сомнительной транзакцию реального мира, (для Вашего примере - сказать "Да, мы не можем продать этот товар. Наши извинения"), чем принять какие-то подозрительные данные, выдать человеку подтверждение транзакции (для Вашего примера - чек), а потом с помощью супердизайна БД разбираться, а что же это за фигня была и зачем.
И вопрос "Нужно отбрасываать или нужно фиксировать и потом разбираться" - это не вопрос дизайна БД.
В БД Вы можете зафиксировать "Вот была попытка купить такой-то товар, но обломилась по таким-то причинам", можно потом с этим разбираться - но с точки зрения реального мира транзакции (продажи товара, отправки телеграммы, получения Бюллетеня для голсования) - не было.
...
Рейтинг: 0 / 0
Первичный ключ для человека
    #38838453
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы тут в кучу понамешали кучу задач. Если стоит задача - фиксация заявки - то она была 100%.
И транзакция на заявку была. И реквизиты внесены были ОК. Даже если клиент был трижды умершим.
...
Рейтинг: 0 / 0
77 сообщений из 77, показаны все 4 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Первичный ключ для человека
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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