SQL Server: Ràng buộc UNIQUE

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Ràng buộc UNIQUE

Ràng buộc khóa duy nhất (UNIQUE) được sử dụng để bảo đảm rằng chỉ các giá trị duy nhất được nhập vào trong cột hoặc một tập hợp các cột. Nó cho phép nhà phát triển chắc chắn rằng không có các giá trị trùng lặp được nhập vào.

Ví dụ, mỗi một sinh viên có một email riêng không giống các email khác. Để đảm bảo điều này thì cột lưu email của sinh viên nên đặt ràng buộc UNIQUE.

Ràng buộc khóa chính (Primary Key) chính là thể hiện của ràng buộc UNIQUE.

Ràng buộc UNIQUE đảm bảo toàn vẹn thực thể cho bảng bởi vì khi nó được áp dụng sẽ không thể có hai hàng trong bảng có thể có cùng một giá trị đối với cột đặt ràng buộc UNIQUE.

Một bảng có thể có nhiều ràng buộc UNIQUE.

Ràng buộc UNIQUE có thể đặt trên một cột hoặc môt tập cột.

Cột đặt ràng buộc UNIQUE có thể lưu trữ giá trị NULL nhưng chỉ lưu trữ được duy nhất một lần, có nghĩa trong cột đó không được lưu trữ hai giá trị NULL.

Để tạo ràng buộc UNIQUE ta có các cách sau:

Cách 1: Được thể hiện ở ví dụ sau:

CREATE TABLE Student(
studentid int not null primary key,
studentname nvarchar(30),
dateofbirth date,
email varchar(50) UNIQUE
);

Cách 2: Được thể hiện ở ví dụ sau:

CREATE TABLE Student(
studentid int not null primary key,
studentname nvarchar(30),
dateofbirth date,
email varchar(50),
UNIQUE(email)
);

Cách 3: Được thể hiện ở ví dụ sau:

CREATE TABLE Student(
studentid int not null primary key,
studentname nvarchar(30),
dateofbirth date,
email varchar(50),
constraint un_email UNIQUE(email)
);

Cách 4: Sử dụng cú pháp sau:

ALTER TABLE Tên_bảng ADD UNIQUE(Các_cột);

Ví dụ:

ALTER TABLE Student ADD UNIQUE(email);

Cách 5: Sử dụng cú pháp sau:

ALTER TABLE Tên_bảng ADD CONSTRAINT Tên_ràng_buộc UNIQUE(Các_cột);

Ví dụ:

ALTER TABLE Student ADD CONSTRAINT un_email UNIQUE(email);

Xem thêm

  1. Khóa ngoại
  2. Ràng buộc CHECK
» Tiếp: INSERT
« Trước: Ràng buộc DEFAULT
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!