Thứ Tư, 27 tháng 5, 2015

SQL - Bài 9: Unique key constraint - Tạo ràng buộc duy nhất

Chúng ta sử dụng ràng buộc duy nhất để thực thi tính năng giá trị độc nhất của cột, tức là không cho phép giá trị nhân bản nào trong một cột, kể cả NULL cũng chỉ có duy nhất một giá trị không được phép có 2 giá trị NULL trên một cột (điều này khác với lý thuyết CSDL :D). Chúng ta có thể thêm thuộc tính khóa ràng buộc này bằng 2 cách:

Cách thứ nhất sử dụng giao diện của SSMS:
1. Chuột phải vào bảng và chọn Design
2. Chuột phải vào cột và chon Indexes/Keys...
3. Click vào Add
4. Trong Columns, chọn tên cột mà bạn muốn unique
5. Trong Type chọn Unique Key
6. Click Close, lưu bảng lại.

Để tạo ra ràng buộc sử dụng câu lệnh truy vấn ta thực hiện như sau
Alter Table Table_Name
Add Constraint Constraint_Name Unique(Column_Name)

Cả hai khóa chính và khóa unique đều được sử dụng để thực thi tính năng duy nhất. Vậy nên chúng ta chọn cái nào hơn cái nào? Một bảng chỉ có thể có duy nhất một khóa chính. Nếu bạn thực thi thuộc tính duy nhất trên 2 hoặc nhiều cột thì chỉ còn cách sử dụng unique constraint :)))).

Sự khác nhau giữa Primary key constraint và Unique key constraint là gì? Câu hỏi này được sử dụng rất thường xuyên trong các cuộc phỏng vấn.
1. Một bảng chỉ có duy nhất một khóa chính, nhưng có thể có nhiều hơn unique key
2. Primary key không cho phép các giá trị null, trong khi đso unique cho phép 1 giá trị null.

Để xóa một ràng buộc unique
1. Click chuột phải vào constraint and delete
hoặc
2. Sử dụng câu lênh truy vấn
Alter Table tblPerson
Drop COnstraint UQ_tblPerson_Email

Không có nhận xét nào:

Đăng nhận xét