Soy un novato en bases de datos. Leí y descubrí que probablemente no sea una buena idea usar la dirección de correo electrónico como clave principal porque las comparaciones de cadenas son más lentas, lo que afecta el rendimiento en combinaciones complejas y si un correo electrónico cambia, tendría que cambiar todas las claves externas, lo que requiere mucho de esfuerzo
Pero si mi tabla de usuarios requiere que cada usuario tenga una dirección de correo electrónico y cada una de esas direcciones de correo electrónico debe ser única, ¿será suficiente agregar un índice único en la columna de correo electrónico? Porque los campos únicos de afaik permiten valores nulos, mientras que requiero que cada usuario tenga una dirección de correo electrónico, no permitiendo valores nulos. ¿Hay algo que me falta aquí? ¿O se supone que debo hacer que la columna de correo electrónico sea única y asegurarme durante la validación de datos en el servidor de que el usuario ingrese una dirección de correo electrónico para que cada usuario tenga una?