Как найти минимальные поля, необходимые для идентификации уникальной строки в наборе данных - PullRequest
0 голосов
/ 24 января 2012

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

Примером решения может быть: «Я могу сделать запрос, который задает имя, имя пользователя, адрес электронной почты и почтовый индекс, и который будет возвращать ровно одну или ноль строк.»

Я спросил это так, чтобы это имело смысл?Я ищу технику, алгоритм или программный пакет, который бы решал эту проблему для данного набора данных.Все, что может дать ответ, сработает.Спасибо!

ПРИМЕРНЫЕ ДАННЫЕ (реальные вещи гораздо сложнее):

FNAME        LNAME         DOB          ZIP       email

John         Smith         1/1/12       77777     dude@fake.com
Sean         Smith         1/2/08       77777     dude@fake.com
Sean         William       4/2/07       77789     stuff@fake.com
Richard      Ross          1/1/12       78989     foo@fake.com

Решением для этого набора данных будет (FNAME, LNAME) или (EMAIL, DOB) или(EMIAL, FNAME).

1 Ответ

1 голос
/ 24 января 2012

Я думаю, вам понадобится итеративный подход.

возможно, вы можете начать с каждого столбца и попытаться создать уникальный индекс.

если у вас есть успех, то готово.

Если вы не можете создать уникальный индекс, добавьте еще один столбец и повторите попытку.

делайте это для всех столбцов, пока не сможете успешно создать индекс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...