Person unique identification I am working on a sports database.
I have table for persons(players), teams, leagues etc.
The problem is, how do I identify a person uniqely? I was thinking that a new person could be added by either league organizer, team, or the player themselves, by registering to the website with this database.
One player can play in multiple leagues. So when they are already in the database and a new league will want to add him again, there will be a duplicate.
The only solution I can think of is using the persons national ID, as there potentially could be two persons with the same name, birthplace, and birth date.
Another solution I can think of is alerting the user that there is already a person with the same or similar data. Then they can check if it is really new person or just a duplicate. However, this doesn't work well as the user could still add duplicates.
What are your opinions on this problem? Can you give me some advice?
This isn't really a database administration question, but one about your business rules (real or imaginary). If you look at the internets, the most common way to uniquely identify users is by their email addresses or usernames (handles, aliases etc.).
Storing national IDs, which constitute sensitive private information, is a bad idea, as  your application then will need to comply with all sorts of regulations that apply to the processors of SPI.
Allowing users to view other users' data is an even worse idea, as that would be a direct violation of various privacy laws.