Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sự khác biệt giữa khóa chính và khóa thay thế là gì?

Khóa chính là khóa duy nhất trong bảng của bạn mà bạn chọn để xác định duy nhất một bản ghi trong bảng. Tất cả các bảng phải có khóa chính, vì nếu bạn cần cập nhật hoặc xóa bản ghi, bạn cần biết cách xác định duy nhất nó.

Khóa thay thế là một khóa được tạo nhân tạo. Chúng hữu ích khi bản ghi của bạn về cơ bản không có khóa tự nhiên (chẳng hạn như Person bảng, vì có thể hai người sinh cùng ngày có cùng tên hoặc ghi vào nhật ký, vì có thể xảy ra hai sự kiện mà họ mang cùng một dấu thời gian). Thông thường, bạn sẽ thấy những thứ này được triển khai dưới dạng số nguyên trong trường tăng dần tự động hoặc dưới dạng GUID được tạo tự động cho mỗi bản ghi. Số ID hầu như luôn luôn là chìa khóa thay thế.

Tuy nhiên, không giống như khóa chính, không phải tất cả các bảng đều cần khóa thay thế. Nếu bạn có một bảng liệt kê các tiểu bang ở Mỹ, bạn không thực sự cần số ID cho chúng. Bạn có thể sử dụng chữ viết tắt của tiểu bang làm mã khóa chính.

Ưu điểm chính của khóa thay thế là chúng dễ đảm bảo là duy nhất. Bất lợi chính là chúng không có bất kỳ ý nghĩa nào. Ví dụ:"28" là Wisconsin không có nghĩa là gì, nhưng khi bạn nhìn thấy 'WI' trong cột Bang của bảng Địa chỉ, bạn sẽ biết mình đang nói về bang nào mà không cần phải tra cứu xem bang của mình là bang nào bảng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Varchar không hợp lệ cho toán tử Sum

  2. Cho phép người dùng chuyển tên bảng và tên cột trong khi ngăn chặn việc đưa vào SQL

  3. Sử dụng tham số đầu ra từ quy trình được lưu trữ của SQL Server trong Access

  4. Bí quyết khôi phục các bản ghi đã xóa trong SQL Server

  5. Cách tham gia vào hàng đầu tiên