Jestem nowicjuszem w bazach danych. Przeczytałem i przekonałem się, że prawdopodobnie nie jest dobrym pomysłem używanie adresu e-mail jako klucza podstawowego, ponieważ porównania ciągów są wolniejsze, co wpływa na wydajność w złożonych sprzężeniach, a jeśli e-mail się zmieni, musiałbym zmienić wszystkie klucze obce, co wymaga dużo wysiłku.
Ale jeśli moja tabela użytkowników wymaga, aby każdy użytkownik miał adres e-mail i każdy z tych adresów powinien być unikalny, czy dodanie unikalnego indeksu w kolumnie e-mail wystarczy? Ponieważ unikalne pola afaik dopuszczają wartości zerowe, podczas gdy wymagam od każdego użytkownika adresu e-mail, nie dopuszczając wartości zerowych. Czy czegoś tu brakuje? Czy też przypuszczam, aby kolumna e-mail była unikalna i upewnić się, że podczas sprawdzania poprawności danych na serwerze użytkownik wprowadzi adres e-mail, aby każdy użytkownik go miał?