Я новичок в базах данных. Я прочитал вокруг и обнаружил, что, вероятно, не очень хорошая идея использовать адрес электронной почты в качестве первичного ключа, потому что сравнение строк медленнее, что влияет на производительность в сложных объединениях, и если электронное письмо изменится, мне придется изменить все внешние ключи, что требует много усилий.
Но если моя таблица пользователей требует, чтобы у каждого пользователя был адрес электронной почты, и каждый из этих адресов электронной почты должен быть уникальным, будет ли достаточно добавить уникальный индекс в столбец электронной почты? Потому что уникальные поля afaik допускают нулевые значения, тогда как я требую, чтобы у каждого пользователя был адрес электронной почты, а недопустимые нулевые значения. Есть что-то, чего я здесь не хватает? Или я предполагаю сделать столбец электронной почты уникальным и убедиться, что во время проверки данных на сервере, что пользователь вводит адрес электронной почты, чтобы он был у каждого пользователя?