Tiếp tục với một loại ràng buộc khác trong SQL là UNIQUE, qua bài viết này, các bạn sẽ hiểu được khái niệm và biết cách sử dụng ràng buộc này. Đừng quên những lưu ý quan trọng trong bài vì ràng buộc là yếu tố hàng đầu khi làm việc với dữ liệu trong SQL. Trước đó, nếu bạn chưa biết ràng buộc là gì hãy tham khảo bài viết dưới đây.
Tham khảo: Ràng buộc là gì trong SQL?
1. Ràng buộc UNIQUE trong SQL
Ràng buộc UNIQUE sẽ yêu cầu tất cả các giá trị trong một cột phải khác nhau.
Cả hai loại ràng buộc UNIQUE và PRIMARY KEY đều đảm bảo tính duy nhất của một cột hoặc tập hợp các cột.
Một ràng buộc PRIMARY KEY sẽ tự động có một ràng buộc UNIQUE.
Tuy nhiên, bạn có thể có nhiều ràng buộc UNIQUE trong mỗi bảng nhưng chỉ có một ràng buộc PRIMARY KEY trong mỗi bảng.
2. Tạo ràng buộc UNIQUE
Có hai cách để tạo ràng buộc trong SQL, cách thứ nhất là thêm ràng buộc khi tạo bảng bằng câu lệnh CREATE TABLE. Cách thứ hai để tạo ràng buộc là sử dụng câu lệnh ALTER TABLE, cách này thường dùng để chỉnh sửa ràng buộc có sẵn hoặc thêm mới.
Tham khảo: Cách sử dụng câu lệnh ALTER TABLE trong SQL
Để thực hiện các ví dụ này, bạn cần nhập cơ sở dữ liệu mẫu Northwind vào SQL Server Management Studio. Hãy xem bài viết hướng dẫn ngay dưới đây:
Tham khảo: Hướng dẫn tải và cài đặt dữ liệu mẫu Northwind trong SQL Server Management Studio
- Sử dụng CREATE TABLE
Câu lệnh SQL dưới đây sẽ tạo ra một ràng buộc UNIQUE trên cột “ID” khi tạo bảng Persons:
CREATE TABLE Persons (
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Tiến hành kiểm tra bảng vừa tạo bằng cách nhập thêm dữ liệu vào bảng, nhấp chuột phải vào tên bảng và chọn Edit. Trường hợp không thấy bảng trong thư mục Table hãy nhấp chuột phải vào thư mục và chọn Refresh.
Khi bạn nhập giá trị cột ID trùng với một dòng đã có trước đó, sẽ có một thông báo lỗi như ảnh dưới đây và bạn buộc phải thay đổi.
Ngoài ra, khi cần tạo ràng buộc cho nhiều trường, thay vì khai báo ở từng dòng, bạn có thể đặt tên cho ràng buộc UNIQUE theo cú pháp sau:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
Câu lệnh trên sẽ tạo ra một bảng Persons với các cột ID, LastName, FirstName và Age. Trong đó, hai cột ID và LastName sẽ có ràng buộc UNIQUE với tên ràng bược là UC_Person.
- Sử dụng ALTER TABLE
Trong trường hợp bạn đã tạo bảng nhưng chưa thêm ràng buộc có thể dùng câu lệnh ALTER TABLE theo cú pháp sau:
ALTER TABLE Persons
ADD UNIQUE (ID);
Câu lệnh trên sẽ thêm ràng buộc UNIQUE cho cột ID, để thêm ràng buộc cho nhiều cột cùng lúc, bạn có thể dùng câu lệnh sau:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
Tương tự như trên, bạn có thể kiểm tra lại ràng buộc bằng cách nhập các giá trị giống nhau. Nếu như nhận được thông báo lỗi có nghĩa là ràng buộc đã được thêm thành công.
Ngoài ra, với việc đặt tên cho ràng buộc, bạn có thể dùng cú pháp sau để xóa bỏ ràng buộc:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;
Ràng buộc UNIQUE khá hữu ích khi bạn có những trường không muốn dữ liệu trùng nhau như ID, mã số,…. Vì vậy, không ngạc nhiên khi đây là một trong những kiểu ràng buộc phổ biến nhất trong SQL. Trong các bài viết tiếp theo, chúng ta sẽ tìm hiểu thêm về nhiều loại ràng buộc khác, đừng quên đón đọc tại BAC’s Blog.
Nguồn tham khảo:
Nhu cầu đào tạo doanh nghiệp
BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
Các bài viết liên quan SQL:
Các bài viết liên quan Power BI:
- Power BI là gì?
- Chỉnh sửa và định hình dữ liệu trong Power BI Desktop
- Kết hợp dữ liệu trong Power BI Desktop
- Hướng dẫn kết nối dữ liệu trong Power BI Desktop
- Hướng dẫn tải & cài đặt Power BI trên máy tính
- Khóa học Phân tích và trực quan hóa dữ liệu với Power BI
Các bài viết liên quan:
BAC – Biên soạn và tổng hợp nội dung