Cả khóa chính và khóa duy nhất đều là khóa duy nhất trong cơ sở dữ liệu quan hệ đảm bảo tính duy nhất của các giá trị trên một cột hoặc một tập hợp các cột. Đã có một ràng buộc khóa duy nhất được xác định trước trong một ràng buộc khóa chính. Mặc dù khóa chính được sử dụng đặc biệt để xác định từng bản ghi trong bảng, nhưng một khóa duy nhất, mặt khác, được sử dụng để ngăn các mục trùng lặp trong một cột ngoại trừ mục nhập null. Tuy nhiên, cả hai khóa có thể chứa nhiều hơn một cột từ một bảng nhất định và cả hai đều đóng vai trò quan trọng trong việc lưu trữ và truy xuất dữ liệu. Dữ liệu là một chuỗi các bảng có các cột và các cột này lưu trữ thông tin của tất cả các loại có thể được truy cập hoặc truy xuất thêm bằng cách sử dụng các hướng dẫn. Đây là nơi các phím đến với hình ảnh. Khóa chính và Khóa duy nhất là hai khóa duy nhất xác định cách lưu trữ dữ liệu trong hệ thống.
Khóa chính (cũng đi theo từ khóa chính), là một khóa duy nhất trong cơ sở dữ liệu quan hệ xác định từng bản ghi trong bảng cơ sở dữ liệu. Đó là một loại định danh duy nhất, chẳng hạn như số an sinh xã hội của một người, số điện thoại, số bằng lái xe hoặc số biển số xe. Một cơ sở dữ liệu phải có một khóa chính.
Một bảng trong cơ sở dữ liệu chứa một cột hoặc một tập hợp các cột chứa các giá trị xác định duy nhất mỗi hàng trong bảng. Cột này hoặc một tập hợp các cột được gọi là khóa chính của bảng phải chứa các giá trị duy nhất và không thể chứa các giá trị null. Không có khóa chính, cơ sở dữ liệu quan hệ sẽ không hoạt động.
Khóa chính được tạo bằng cách xác định ràng buộc PRIMARY KEY khi tạo hoặc sửa đổi bảng. Trong Tiêu chuẩn SQL, khóa chính có thể chứa một hoặc nhiều cột, trong khi mỗi cột được định nghĩa ngầm là KHÔNG NULL. Nếu bạn xác định ràng buộc CHÍNH CHÍNH trên nhiều cột, điều đó có thể dẫn đến trùng lặp các giá trị trong một cột, đó là lý do tại sao mỗi tổ hợp giá trị phải là duy nhất cho tất cả các cột.
Khóa duy nhất là một tập hợp của một hoặc nhiều cột / trường của bảng xác định duy nhất một bản ghi trong bảng cơ sở dữ liệu. Ràng buộc UNIQUE KEY đảm bảo tất cả các giá trị trong một cột là duy nhất trong cơ sở dữ liệu. Giống như một khóa chính, một khóa duy nhất cũng có thể chứa nhiều hơn một cột. Tuy nhiên, một khóa duy nhất chỉ có thể chấp nhận một giá trị null. Không có hai hàng có cùng giá trị trong bảng cơ sở dữ liệu.
Khóa duy nhất khá giống với khóa chính và có thể được xác định trong quá trình tạo bảng. Khi một cột hoặc một tập hợp các cột được đánh dấu là duy nhất trong hệ thống cơ sở dữ liệu quan hệ, nó sẽ kiểm tra tính toàn vẹn của các giá trị trước khi gán ràng buộc để ngăn hai bản ghi có các giá trị giống hệt nhau trong một cột cụ thể.
ĐỘC ĐÁO là một ràng buộc đối với cột KEY KHÔNG CHÍNH HÃNG, đặc trưng cho các mục sau:
Khóa chính là một loại định danh khóa duy nhất xác định duy nhất một hàng trong bảng cơ sở dữ liệu, trong khi đó một khóa duy nhất xác định tất cả các hàng có thể tồn tại trong một bảng chứ không chỉ các hàng hiện có.
Khóa chính được sử dụng để xác định một bản ghi trong bảng cơ sở dữ liệu, trong khi đó một khóa duy nhất được sử dụng để ngăn các giá trị trùng lặp trong một cột ngoại trừ mục nhập null.
Theo mặc định, khóa chính tạo một chỉ mục duy nhất được phân cụm trong khi một khóa duy nhất là một chỉ mục không phân cụm duy nhất trong bảng cơ sở dữ liệu theo mặc định.
Khóa chính không thể chấp nhận giá trị NULL trong bảng cơ sở dữ liệu trong khi khóa duy nhất chỉ có thể chấp nhận một giá trị NULL trong bảng.
Chỉ có thể có một và chỉ một khóa chính trên một bảng, tuy nhiên, có thể có nhiều khóa duy nhất cho một bảng trong hệ thống cơ sở dữ liệu.
Khóa chính | Khóa duy nhất |
Khóa chính được sử dụng để xác định duy nhất một bản ghi / hàng trong bảng cơ sở dữ liệu. | Khóa duy nhất được sử dụng để xác định duy nhất tất cả các hàng có thể có trong một bảng và không chỉ các hàng hiện có. |
Nó không chấp nhận giá trị NULL. | Nó chỉ có thể chấp nhận một giá trị NULL trong một bảng. |
Nó được phân cụm theo mặc định, có nghĩa là dữ liệu được tổ chức theo chuỗi chỉ mục được phân cụm. | Nó là một chỉ mục không phân cụm duy nhất theo mặc định. |
Chỉ có một khóa chính trong bảng. | Một bảng có thể có nhiều khóa duy nhất. |
Khóa chính được xác định bằng cách sử dụng ràng buộc PRIMARY KEY. | Khóa duy nhất được biểu diễn bằng ràng buộc ĐỘC ĐÁO. |
Được sử dụng để xác định một hàng trong bảng. | Được sử dụng để ngăn các giá trị trùng lặp trong một cột. |
Giá trị khóa chính không thể thay đổi hoặc xóa. | Giá trị khóa duy nhất có thể được sửa đổi. |