Database of common name aliases / nicknames of people

A google search on "Database of Nicknames" turned up pdNickName (for pay).

In addition, I think you only need a single table for this job, not two, with NameID, Name, and MasterNameID. All the nicknames go into the Name column. One name is considered the "canonical" one. All the nickname records use the MasterNameID column to point back to that record, with the canonical name pointing to itself.

Your two table schema contains no additional information and, depending on how you fill in the nickname table, you might need extra code to handle the canonical cases.


I'm adding another source for anyone who comes across this question via Google. This project provides a very good lookup for this purpose.

https://github.com/carltonnorthern/nickname-and-diminutive-names-lookup

It's somewhat simpler and less complete than pdNickName but on the other hand it's free and easy to use.