Bạn đã gặp phải một trong những cuộc "thánh chiến" lớn về thiết kế cơ sở dữ liệu. Cuộc tranh luận mà bạn đang đề cập đến là lập luận "thay thế so với khóa tự nhiên" đã hoành hành trong thời gian dài như đã có RDBMS (gần như tôi có thể nói).
Cuộc tranh luận về cơ bản chỉ tập trung vào việc liệu một khóa đại diện (thay thế, ví dụ như cột IDENTITY) có nên được sử dụng thay vì sử dụng dữ liệu thực tế mô tả duy nhất một bản ghi (khóa tự nhiên) hay không.
Tôi sẽ nói rằng không có câu trả lời "đúng". Các thước đo hiệu suất là một yếu tố tạo nên nền tảng và cần được đánh giá bằng thử nghiệm, nhưng hiệu suất có thể không phải là mối quan tâm chính.
Điều tôi coi là đối số chính cho khóa thay thế là tính bất biến của khóa chính. Nếu bạn chọn sử dụng khóa tự nhiên, bạn sẽ từ bỏ tùy chọn thay đổi khóa đó sau khi nó được thiết lập. Bạn cũng từ bỏ khả năng rằng nó có thể trở nên không phải là duy nhất vào một thời điểm nào đó trong tương lai. Vì những lý do đó, tôi thường (không phải lúc nào cũng) sử dụng các khóa thay thế cho hầu hết các bảng của mình.
Tuy nhiên, như tôi đã đề cập, có một cuộc tranh luận rất lâu dài với các cuộc thảo luận về các chiến lược lập chỉ mục và sự tuân thủ dạng bình thường sẽ được đọc nếu bạn có khuynh hướng như vậy.
Tôi muốn Google "thay thế so với khóa tự nhiên". Dưới đây là một số liên kết để giúp bạn bắt đầu:
Hy vọng điều này sẽ hữu ích.