Ràng buộc UNIQUE trong Microsoft SQL Server

Ưu điểm của việc sử dụng các ràng buộc UNIQUE trong các ràng buộc khóa chính

Bằng cách tạo ra một ràng buộc UNIQUE, các quản trị viên SQL Server xác định rằng một cột có thể không chứa các giá trị trùng lặp. Khi bạn tạo một ràng buộc UNIQUE mới, SQL Server sẽ kiểm tra cột được đề cập để xác định xem nó có chứa bất kỳ giá trị trùng lặp nào không. Nếu bảng chứa các bản sao có sẵn, lệnh tạo ràng buộc không thành công. Tương tự, khi bạn có một ràng buộc UNIQUE trên một cột, cố gắng thêm hoặc sửa đổi dữ liệu có thể gây ra các bản sao tồn tại cũng không thành công.

Tại sao sử dụng các ràng buộc UNIQUE

Một ràng buộc UNIQUE và khóa chính đều thực thi tính duy nhất, nhưng có những lúc mà một ràng buộc UNIQUE là sự lựa chọn tốt hơn.

Tạo ra một hạn chế UNIQUE

Có nhiều cách bạn có thể tạo ra một ràng buộc UNIQUE trong SQL Server. Nếu bạn muốn sử dụng Transact-SQL để thêm một ràng buộc UNIQUE vào một bảng hiện có, bạn có thể sử dụng câu lệnh ALTER TABLE, như minh họa dưới đây:

ALTER BẢNG THÊM XÂY DỰNG UNIQUE ()

Nếu bạn thích tương tác với SQL Server bằng cách sử dụng các công cụ GUI, bạn cũng có thể tạo ra một ràng buộc UNIQUE bằng cách sử dụng SQL Server Management Studio . Dưới đây là cách thực hiện:

  1. Mở SQL Server Management Studio .
  2. Mở rộng thư mục Tables của cơ sở dữ liệu mà bạn muốn tạo ràng buộc.
  3. Bấm chuột phải vào bảng nơi bạn muốn thêm ràng buộc và bấm Thiết kế .
  4. Trong trình đơn Thiết kế Bảng, bấm Chỉ mục / Khóa .
  5. Trong các Chỉ mục / Phím hộp thoại hộp, bấm vào Thêm .
  6. Chọn Khóa duy nhất trong danh sách thả xuống Loại .

Ràng buộc UNIQUE so với chỉ số UNIQUE

Đã có một số sự nhầm lẫn về sự khác biệt giữa một ràng buộc UNIQUE và một chỉ số UNIQUE. Trong khi bạn có thể sử dụng các lệnh Transact-SQL khác nhau để tạo chúng (ALTER TABLE… ADD CONSTRAINT cho các ràng buộc và CREATE UNIQUE INDEX cho các chỉ mục), chúng có cùng tác dụng, đối với hầu hết các phần. Trong thực tế, khi bạn tạo ra một ràng buộc UNIQUE, nó thực sự tạo ra một chỉ số UNIQUE trên bảng. Tuy nhiên, điều quan trọng cần lưu ý là có một số khác biệt: