I have a database table to store technicians (employees) which is structured like this:
| firstName | lastName | phone | alternatePhone | email | canadaTravel | canDrive | notes |
In this table, only the first two columns are required. Any other values can be null. I would like to prevent against duplicate employees, but I realize this key cannot be made based on name; There may be two John Smiths that we hire.
My initial thought was to expand a key to (first, last, phone) or (first, last, email) but because those are nullable fields, it is not guaranteed to be unique.
Is there a way to design the table to allow for two different people with the same name, but prevent the same person being entered twice?