Sự khác biệt về khóa: Khóa chính không thể cho phép null và chỉ có thể được tạo một lần trong bảng. Một khóa duy nhất cho phép null và có thể được tạo nhiều lần trong một bảng. Các phím đóng vai trò quan trọng khi lưu trữ và truy xuất dữ liệu.
Microsoft SQL là một hệ thống quản lý cơ sở dữ liệu quan hệ được phát triển bởi Microsoft. Chức năng chính của nó bao gồm lưu trữ và truy xuất dữ liệu khi được yêu cầu bởi các ứng dụng phần mềm khác chạy trên cùng một máy tính hoặc các máy tính khác nhau trên một mạng.
Các phím đóng vai trò quan trọng khi lưu trữ và truy xuất dữ liệu. Dữ liệu được lưu trữ trên máy chủ là một loạt các bảng có cột. Các cột này lưu trữ nhiều loại thông tin khác nhau và có thể được truy xuất bằng hướng dẫn. Khóa chính và Khóa duy nhất là hai loại khóa xác định cách lưu trữ dữ liệu trong hệ thống.
Các đối tượng trong cơ sở dữ liệu SQL Server được tổ chức dưới dạng bảng và chỉ mục và được lưu trữ dưới dạng tập hợp các trang 8 KB. Các khóa giúp xác định nơi thông tin được lưu trữ trong cơ sở dữ liệu. Cả hai phím đều khác nhau. Tuy nhiên, khóa chính là một loại khóa duy nhất. Chúng cũng tương tự về chức năng nhưng cung cấp các chức năng khác nhau.
Các khóa chính được xác định thông qua ràng buộc PRIMARY KEY và có thể được chỉ định trong quá trình tạo bảng. Trong Tiêu chuẩn SQL, các khóa chính có thể bao gồm một hoặc nhiều cột. Mỗi cột tham gia vào khóa chính được định nghĩa ngầm là KHÔNG NULL. Khóa chính cung cấp 3 chức năng chính:
Mỗi bảng không thể có nhiều hơn một khóa chính.
Trên một số hệ thống cơ sở dữ liệu, khóa chính tạo một chỉ mục được nhóm theo mặc định.
Các khóa duy nhất tương tự như các khóa chính và có thể được xác định trong quá trình tạo bảng. Các khóa duy nhất cũng cho phép dữ liệu hoặc hàng không được lặp lại trong bất kỳ bảng nào khác. 3 tính năng chính mà một khóa duy nhất cung cấp bao gồm:
Một khóa duy nhất có thể cho phép null, nhưng chỉ một (một khóa duy nhất có thể được xác định trên các cột cho phép null.)
Mỗi bảng có thể có nhiều khóa duy nhất.
Trên một số hệ thống cơ sở dữ liệu, một khóa duy nhất tạo ra một chỉ mục không bao gồm theo mặc định.
So sánh giữa Khóa chính và Khóa duy nhất:
Khóa chính | Khóa duy nhất | |
Định nghĩa | Khóa chính là một loại khóa duy nhất. Đây là khóa được phép di chuyển sang các thực thể khác để xác định các mối quan hệ tồn tại giữa các thực thể. | Khóa duy nhất là một tập hợp các thuộc tính 0, một hoặc nhiều thuộc tính. Giá trị của các thuộc tính này được yêu cầu là duy nhất cho mỗi bộ (hàng) trong một mối quan hệ. Không nên lặp lại giá trị hoặc kết hợp các giá trị của các thuộc tính khóa duy nhất cho bất kỳ bộ dữ liệu nào cho bất kỳ bộ dữ liệu nào khác trong mối quan hệ đó. |
Được dùng trong | Các hệ thống quản lý cơ sở dữ liệu quan hệ như MySQL, Oracle, v.v. | Các hệ thống quản lý cơ sở dữ liệu quan hệ như MySQL, Oracle, v.v. |
Giá trị Null | Không chấp nhận bất kỳ giá trị null | Chỉ chấp nhận một giá trị null trong bảng |
Loại chỉ mục | Là một chỉ mục cụm và dữ liệu trong bảng cơ sở dữ liệu được tổ chức vật lý theo trình tự của chỉ mục được phân cụm | Là một chỉ mục không phân cụm duy nhất |
Số lượng phím được phép | Chỉ có một khóa chính trong bảng | Có thể có nhiều hơn một khóa duy nhất trong một bảng |
Chuyển đổi | Có thể được tạo thành một khóa ngoại vào một bảng khác | Có thể được tạo thành một khóa ngoại vào một bảng khác |