Tôi là một người mới trong cơ sở dữ liệu. Tôi đọc xung quanh và phát hiện ra rằng có lẽ không nên sử dụng địa chỉ email làm khóa chính vì việc so sánh chuỗi chậm hơn sẽ ảnh hưởng đến hiệu suất trong các phép nối phức tạp và nếu một email thay đổi tôi sẽ phải thay đổi tất cả các khóa ngoại yêu cầu rất nhiều của nỗ lực.
Nhưng nếu bảng người dùng của tôi yêu cầu mỗi người dùng phải có một địa chỉ email và mỗi địa chỉ email đó phải là duy nhất, liệu việc thêm một chỉ mục duy nhất trên cột email có đủ không? Bởi vì các trường duy nhất afaik cho phép giá trị null, trong khi tôi yêu cầu mọi người dùng phải có địa chỉ email, không cho phép giá trị null. Có điều gì tôi đang thiếu ở đây? Hoặc tôi cho rằng làm cho cột email trở nên độc đáo và đảm bảo trong quá trình xác thực dữ liệu trên máy chủ mà người dùng nhập địa chỉ email để mỗi người dùng có một địa chỉ?