What are some good candidate keys for ‘person’?

331 views Asked by At

In an application that will be used world-wide, What are some good candidates for natural keys to uniquely identify users/persons ?

How do we deal with edge cases? - people without country or official documents (refugees) - people who have changed their name or gender/sex

The key should be robust and unique.

4

There are 4 answers

0
Steve Chambers On BEST ANSWER

As others have commented, getting something 100% unique is going to be difficult - a balance may need to be struck between how far to go with the edge cases and what's practical.

Being pragmatic, you could assume the following combination of fields is likely to uniquely identify a person the vast majority of the time:

  • Date of birth
  • Full name (forename, middle names and surname) on birth certificate

But with common names this falls down - if your name is James Smith and you were born during a baby boom, it's not all that unlikely there's someone else out there with your name and date of birth.

To narrow it down further you could add the time and place of birth - but these may be harder to come by. And even then, there's no 100% cast iron guarantee - it's not completely impossible that at some point in history, two babies were born in the same hospital on the same day with the same recorded time of birth and the same name...

0
nvogel On

This is impossible to answer without context. As with any information system you need to understand the requirement and the operating processes that generate and use the data. If people will interact with or be served by your system then what attributes need to form part of those interactions and services? If the people in question have to sign up online or if they have to agree to a contract or if there is some other information gathering process then those interactions will most likely define the keys, e.g. a login name, contract identifier or digital signature.

Notice that in many cases, perhaps almost all cases, it is the interaction or contract with a person that is being identified in a system, not necessarily the individual person themselves.

1
Erwin Smout On

Simple. They don't exist. Highly sensitive security systems employ fingerprints or iris scans, but that excludes legal persons and at any rate such scans are not naturally available off-hand. Countries that currently don't even have an actual government "identify" their citizens with, eurhm, less advanced means which are then by definition also less "robust" (/dependable).

1
Andrea On

Imo, one of the most unique values that could be used to identify people being unique and at the same time not random generated could be a code generated by some math calculation of the constants of the account. Some of them could be date and place of birth or the name on the birth certificate. This would generate an id which should be almost unique (how ofter are people born with the same name, the same date and in the same place?) and also natural, because it's not random generated. A nice example would be what is currently used in Italy as uniquely identifying individuals in the health system also the Italian fiscal code (do not confuse with ID)

I think this could answer your question, elsewise i think that more context is needed.

more information at https://en.wikipedia.org/wiki/Italian_fiscal_code_card