Thông thường trong một bảng không có khóa tự nhiên, nó vẫn hữu ích cho người dùng để có thể có một định danh được tạo duy nhất. Nếu bảng có khóa chính thay thế (và trong trường hợp như vậy, bạn chắc chắn sẽ mong đợi nó) nếu khóa đó được hiển thị cho người dùng hoặc nên sử dụng trường khác cho mục đích đó?
Một lý do không để lộ khóa thay thế là bây giờ bạn không thể thực hiện các thao tác duy trì mối quan hệ giữa các bản ghi, nhưng thay đổi các giá trị khóa, chẳng hạn như xóa / chèn lại một số loại, nhiều phương pháp sao chép dữ liệu từ một cơ sở dữ liệu sang khác, v.v.
Ưu điểm chính của việc lộ khóa thay thế là sự đơn giản trong việc sử dụng một lĩnh vực mà bạn có.
Trong trường hợp nào thì tốt hơn là để lộ trực tiếp khóa thay thế cho người dùng?