Вероятно, хорошей идеей будет принять только одно имя от вашего пользователя и разрешить ему "псевдоним" или "публичное имя". Это дает им свободу иметь юридическое имя, возможно, для рассылки или выставления счетов, и общедоступное имя для взаимодействия на вашем сайте.
Кроме того, я не думаю, что позволил бы моим пользователям иметь несколько имен, если моя система не требовала этого. Если бы я это сделал, я бы разбил его на две таблицы:
Пользователи:
- ИД пользователя (например: 1821)
USERNAMES:
- ИД пользователя (например: 1821)
- firstName (например, Джонатан)
- фамилия (например, Сэмпсон)
Кроме того, вы можете добавить в таблицу usernames
поле с именем 'isPrimary
'. Это будет логическое значение, которое сообщит вам, какое имя следует рассматривать как основное имя пользователя. Это похоже на то, как в википедии хранится история данных / изменений. Они сохраняют все, но помечают, который является «активным», или в вашем случае «основным».