Trong trường hợp của bạn, các trường này là khóa tự nhiên .
Phím thay thế:
Các khóa thay thế là các khóa không có ý nghĩa kinh doanh trực tuyến và chỉ được sử dụng để xác định một bản ghi trong bảng. Các khóa như vậy là cơ sở dữ liệu được tạo (ví dụ: Danh tính trong SQL Server, Chuỗi trong Oracle, Chuỗi / Nhận dạng trong UDB của DB2, v.v.) hoặc các giá trị được tạo bởi hệ thống (như được tạo thông qua một bảng trong lược đồ).
Khóa tự nhiên:
Các khóa là tự nhiên nếu thuộc tính mà nó đại diện được sử dụng để nhận dạng độc lập với lược đồ cơ sở dữ liệu. Điều này về cơ bản có nghĩa là các khóa là tự nhiên nếu mọi người sử dụng chúng ví dụ: Số hóa đơn, Mã số thuế, SSN, v.v.
Khóa thay thế so với Khóa tự nhiên cho Khóa chính
Tôi thích thêm khóa thay thế để quản lý mô hình cơ sở dữ liệu và kinh doanh riêng biệt. Một câu hỏi khác là sử dụng chỉ mục được phân cụm và không bao gồm trên khóa chính .. Nếu bạn thay đổi bảng (bảng không tĩnh, nó có chèn hoặc cập nhật chuyên sâu cao), bạn sẽ gặp vấn đề với hiệu suất trong trường hợp sử dụng chỉ mục được phân cụm trên khóa tăng không đơn điệu.