4 ms·
The "natural key" for a (natural) person is compound: full name and mother's full name, plus date, time and place of birth. Your birth certificate is your prima
by tuatoru 1y ago
The "natural key" for a (natural) person is compound: full name and mother's full name, plus date, time and place of birth. Your birth certificate is your primary identification document.
However that still runs into problems of nondurability of the key in cultures that delay naming for a few years. To name one problem.
So yeah, use a big enough integer as your key, and have appropriate checks on groups of attributes like this.
However, if you are only interested in citizens, then a "natural" key is the citizen id issued by the government department responsible for doing that. (Citizen is a role played by a natural person so probably doesn't have too many attributes.) I still wouldn't use that as a primary key on the citizen table, though.
- bouke 1y agoThat natural key isn’t guaranteed to be unique.
- b-man 1y agoDepends on the universe of discourse adopted.
- stevoski 1y agoI know someone who doesn’t know when she was born, nor who her mother is. She doesn’t have a birth certificate. She was born in a country that was enduring several years of brutal war. I know another person whose national ID was changed. Systems that use national ID as primary key failed to accept this change.
- anon7000 1y agohttps://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...
- globular-toast 1y ago> The "natural key" for a (natural) person is compound: full name and mother's full name, plus date, time and place of birth. All it would take for a Bobby Tables[0] moment is a mother to have twins delivered by caesarean and given the same name... The same name thing has already been done[1]. [0] https://xkcd.com/327/ https://xkcd.com/327/ [1] https://www.walesonline.co.uk/news/real-life/mum-gives-twin-girls-exact-29686859 https://www.walesonline.co.uk/news/real-life/mum-gives-twin-...
- b-man 1y ago> I still wouldn't use that as a primary key on the citizen table, though. Why not?
- HelloNurse 1y agoWe need a new term of art: "naive key".