Khóa chính xác định duy nhất mỗi bản ghi trong một bảng. Không có hai hàng nào có cùng giá trị khóa chính. Khóa không được phép là null. Nó phải là duy nhất và ổn định. Trong bảng khách hàng, khóa chính có thể là ID khách hàng. Trong bảng đơn hàng, nó có thể là số đơn hàng. Khóa chính là điểm neo cho bản ghi. Các bảng khác tham chiếu đến nó thông qua các khóa ngoại. Nếu không có khóa chính, việc xác định, cập nhật hoặc xóa bản ghi một cách đáng tin cậy sẽ rất khó khăn.
Khóa chính có hai dạng. Khóa tự nhiên được tạo ra từ chính dữ liệu. Ví dụ: số an sinh xã hội, địa chỉ email hoặc mã sản phẩm (SKU). Chúng có ý nghĩa nhưng có thể thay đổi. Mọi người thay đổi địa chỉ email. Các công ty thay đổi mã sản phẩm. Khóa thay thế được hệ thống tạo ra. Chúng là các số nguyên tự tăng hoặc UUID. Chúng không có ý nghĩa nào bên ngoài cơ sở dữ liệu. Chúng không bao giờ thay đổi. Khóa thay thế thường được ưu tiên hơn vì tính ổn định quan trọng hơn ý nghĩa. Một khóa tự nhiên thay đổi sẽ buộc phải cập nhật trên mọi bảng tham chiếu đến nó. Một khóa thay thế sẽ giữ nguyên mãi mãi. Một số bảng sử dụng khóa chính phức hợp được tạo thành từ hai hoặc nhiều cột. Một mặt hàng trong đơn đặt hàng có thể được xác định bằng sự kết hợp của ID đơn đặt hàng và số dòng. Khóa phức hợp hoạt động nhưng làm phức tạp các phép nối và tham chiếu khóa ngoại. Một khóa thay thế đơn giản hơn.
Thuộc tính khóa chính
- Độc nhất — không trùng lặp
- Không rỗng — luôn có giá trị
- Ổn định — không thay đổi theo thời gian
- Đơn hoặc phức hợp — một cột hoặc nhiều cột
- Đã được lập chỉ mục — tự động để tra cứu nhanh
Khóa chính là định danh. Nó cho biết bản ghi này là bản ghi này và không phải bản ghi nào khác. Nếu không có nó, dữ liệu sẽ không có điểm neo.
Comments
No comments yet. Be the first to share a thought.
Leave a comment