Khóa duy nhất (Unique Key)

Khóa duy nhất (Unique Key) là một ràng buộc trong cơ sở dữ liệu đảm bảo rằng tất cả các giá trị trong một hoặc nhiều cột là duy nhất trên tất cả các hàng của bảng. Điều này có nghĩa là không có hai hàng nào có thể có cùng một giá trị trong các cột được chỉ định là khóa duy nhất.

Đặc điểm của Khóa duy nhất:

  1. Duy nhất: Mỗi giá trị trong cột hoặc tập hợp các cột được xác định là khóa duy nhất phải là duy nhất trong toàn bộ bảng.

  2. Cho phép giá trị NULL: Không giống như khóa chính, khóa duy nhất cho phép giá trị NULL. Tuy nhiên, mỗi giá trị NULL trong một cột khóa duy nhất vẫn được coi là duy nhất.

  3. Nhiều khóa duy nhất: Một bảng có thể có nhiều khóa duy nhất.

So sánh Khóa duy nhất và Khóa chính:

Tiêu chí
Khóa chính (Primary Key)
Khóa duy nhất (Unique Key)

Duy nhất và Không NULL

Giá trị phải duy nhất và không được phép NULL

Giá trị phải duy nhất nhưng cho phép NULL

Số lượng trên mỗi bảng

Chỉ có một khóa chính

Có thể có nhiều khóa duy nhất

Chỉ mục tự động

Tự động tạo chỉ mục

Tự động tạo chỉ mục

Mục đích

Xác định duy nhất mỗi hàng trong bảng

Đảm bảo giá trị duy nhất trên một hoặc nhiều cột

Tạo Khóa duy nhất:

Bạn có thể tạo khóa duy nhất trong khi tạo bảng hoặc thêm vào bảng hiện có.

Khi tạo bảng:

CREATE TABLE users (
    id INT PRIMARY KEY,
    email VARCHAR(255) UNIQUE,
    username VARCHAR(255),
    UNIQUE (username)
);

Thêm vào bảng hiện có:

Ví dụ:

Giả sử bạn có một bảng users với các cột emailusername, bạn muốn đảm bảo rằng không có hai người dùng nào có cùng email hoặc username.

Tạo bảng với khóa duy nhất:

Trong ví dụ này:

  • email phải là duy nhất cho mỗi người dùng.

  • username phải là duy nhất cho mỗi người dùng.

Tổng kết:

  • Khóa duy nhất đảm bảo rằng các giá trị trong một hoặc nhiều cột là duy nhất trong toàn bộ bảng.

  • Một bảng có thể có nhiều khóa duy nhất, nhưng chỉ có thể có một khóa chính.

  • Khóa duy nhất có thể chứa giá trị NULL, nhưng mỗi giá trị NULL vẫn được coi là duy nhất.

Last updated