Cách tạo, thêm và xóa các ràng buộc duy nhất trong SQL Server
Hãy cùng Bizfly Cloud tìm hiểu các thủ thuật tạo và thêm và xóa các ràng buộc trong SQL Server.
1. Ràng buộc duy nhất trong SQL Server là gì?
Ràng buộc duy nhất là một trường hoặc kết hợp các trường dữ liệu, xác định một cách duy nhất một bản ghi. Một số trường có thể chứa giá trị NULL, miễn là sự kết hợp các giá trị là duy nhất.
2. Khác biệt giữa ràng buộc duy nhất và khóa chính
Ràng buộc duy nhất (Unique Constraint)
Một số trường của ràng buộc duy nhất có thể chứa giá trị NULL, miễn là sự kết hợp các giá trị là duy nhất.
Khóa chính (Primary Key)
Không trường nào trong khóa chính được phép chứa giá trị NULL.
3. Tạo ràng buộc duy nhất bằng lệnh CREATE TABLE
CREATE TABLE ten_bang
(
cot1 kieudulieu [ NULL | NOT NULL ];
cot2 kieudulieu [ NULL | NOT NULL ];
…
CONSTRAINT ten_rangbuoc UNIQUE (cot1_rb, cot2_rb, … cot_n_rb)
);
ten_bang
Tên của bảng muốn tạo
cot1, cot2
Cột muốn tạo trong bảng
ten_rangbuoc
Tên của ràng buộc duy nhất
cot1_rb, cot2_rb, … cot_n_rb
Các cột tạo nên ràng buộc duy nhất.
Các kiểu dữ liệu trong SQL Server
Ví dụ
CREATE TABLE nhanvien
( id_nhanvien INT PRIMARY KEY,
so_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT nhanvien_duynhat UNIQUE (so_nhanvien)
);
Ở ví dụ này, ta đã tạo ràng buộc duy nhất có tên là nhanvien_duynhat trên bảng nhanvien vừa tạo bằng lệnh CREATE TABLE, gồm 1 trường duy nhất là so_nhanvien.
Có thể tạo ràng buộc duy nhất với nhiều hơn 1 trường như trong ví dụ dưới đây.
CREATE TABLE nhanvien
( id_nhanvien INT PRIMARY KEY,
so_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT nhanvien_duynhat UNIQUE (ho, ten)
);
4. Tạo ràng buộc duy nhất bằng lệnh ALTER TABLE
ALTER TABLE ten_bang
ADD CONSTRAINT ten_rangbuoc UNIQUE (cot1, cot2, … cot_n);
ten_bang
Tên của bảng muốn chính sửa. Đây là bảng bạn muốn thêm ràng buộc duy nhất.
ten_rangbuoc
Tên của ràng buộc duy nhất muốn tạo.
cot1, cot2… cot_n
Các cột tạo nên ràng buộc duy nhất.
Ví dụ
Ví dụ trên dùng lệnh ALTER TABLE tạo ràng buộc duy nhất trên bảng đã có sẵn nhanvien, gọi là nhanvien_duy nhat, gồm trường so_nhanvien. Để tạo ràng buộc có nhiều hơn 1 trường, xem ví dụ bên dưới.
ALTER TABLE nhanvien
ADD CONSTRAINT ten_nhanvien_duynhat UNIQUE (ho, ten);
5. Xóa ràng buộc duy nhất
Cú pháp
ALTER TABLE ten_bang
DROP CONSTRAINT ten_rangbuoc;
ten_bang
Tên của bảng muốn chính sửa. Đây là bảng bạn muốn xóa ràng buộc duy nhất.
ten_rangbuoc
Tên của ràng buộc duy nhất muốn xóa.
Ví dụ
ALTER TABLE nhanvien
DROP CONSTRAINT nhanvien_duynhat;
Ví dụ trên xóa ràng buộc duy nhất có tên là nhanvien_duynhat trên bảng nhanvien.
Nguồn: quantrimang.com
>> Có thể bạn quan tâm: SQL là gì? Những thông tin về ngôn ngữ SQL bạn nên biết
BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.
BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.
Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.
DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud