Các ràng buộc SQL là gì và các kiểu khác nhau của nó?



Bài viết này là một hướng dẫn toàn diện về cách sử dụng các loại Ràng buộc SQL khác nhau với các Lệnh SQL khác nhau và được giải thích tương tự với các ví dụ.

Do lượng lớn dữ liệu có trong , điều rất quan trọng đối với tất cả chúng ta là tăng độ chính xác và độ tin cậy của dữ liệu có trong cơ sở dữ liệu. Vâng, các ràng buộc SQL được sử dụng để duy trì như vậy. Có nhiều loại ràng buộc khác nhau có thể được sử dụng. Trong bài viết này, tôi sẽ thảo luận về những ràng buộc đó với các ví dụ.

Các chủ đề sau sẽ được đề cập trong bài viết này:





  1. Ràng buộc là gì?
  2. Các ràng buộc có sẵn trong SQL:

Các ràng buộc SQL là gì?

Các ràng buộc SQL được sử dụng để chỉ định các quy tắc cho dữ liệu trong bảng. Chúng được sử dụng để giới hạn loại dữ liệu nào phải được lưu trữ trong cơ sở dữ liệu và nhằm mục đích tăng độ chính xác và độ tin cậy của dữ liệu được lưu trữ trong cơ sở dữ liệu.

Vì vậy, các ràng buộc đảm bảo rằng không có vi phạm nào về giao dịch dữ liệu, nhưng có bất kỳ vi phạm nào phát hiện ra hành động sẽ bị chấm dứt.



Có hai loại ràng buộc có thể được áp dụng:

  1. Ràng buộc cấp cột - Các ràng buộc này được áp dụng cho một cột duy nhất
  2. Ràng buộc cấp bảng - Những ràng buộc này là ứng dụng cho bảng hoàn chỉnh

Tiếp tục trong bài viết này, chúng ta hãy hiểu các loại ràng buộc khác nhau. Ngoài ra, tôi sẽ xem xét bảng sau để giúp bạn hiểu rõ hơn.

Các ràng buộc SQL khác nhau có sẵn:

Ràng buộc KHÔNG ĐẦY ĐỦ

Ràng buộc NOT NULL đảm bảo rằng một cột không thể có giá trị NULL. Bạn có thể sử dụng ràng buộc NOT NULL trong khi tạo bảng cơ sở dữ liệu hoặc trong khi sửa đổi nó.



Thí dụ

Ràng buộc KHÔNG ĐẦY ĐỦ trên TẠO BẢNG

Viết truy vấn để tạo bảng Sinh viên ở trên, trong đó StudentID và StudentName không được NULL.

TẠO BẢNG Sinh viên (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

Ràng buộc NOT NULL trên ALTER TABLE

Viết truy vấn để thay đổi bảng Sinh viên ở trên, trong đó cột DOB mới phải được thêm vào và cột này không được có bất kỳ giá trị NULL nào.

BẢNG ALTER Học sinh THÊM CỘT DOB năm KHÔNG ĐỦ

Tiếp tục trong bài viết này về Ràng buộc SQL, chúng ta hãy hiểu cách sử dụng ràng buộc UNIQUE.

Hạn chế duy nhất

Ràng buộc UNIQUE được sử dụng để đảm bảo rằng tất cả các giá trị trong một cột là duy nhất. Bạn có thể sử dụng ràng buộc UNIQUE trên nhiều cột hoặc trên một cột duy nhất với. Ngoài ra, bạn có thể tiếp tục và sử dụng ràng buộc UNIQUE để sửa đổi các bảng hiện có.

Ghi chú:

  1. Trong khi tạo bảng, ràng buộc CHÍNH CHÍNH tự động có một ràng buộc DUY NHẤT, để đảm bảo tính duy nhất của một cột.
  2. Một bảng có thể có nhiều ràng buộc DUY NHẤT nhưng có thể có một ràng buộc khóa chính duy nhất.

Thí dụ:

Ràng buộc DUY NHẤT về TẠO BẢNG

Viết truy vấn để tạo bảng Sinh viên, với các cột StudentID, StudentName, Age và City. Ở đây, StudentID phải là duy nhất cho mỗi và mọi bản ghi.

TẠO BẢNG Sinh viên (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

Đặt tên cho một ràng buộc DUY NHẤT trên nhiều cột

Để đặt tên cho một ràng buộc duy nhất và xác định nó cho nhiều cột, bạn có thể tham khảo ví dụ sau:

Viết truy vấn để tạo bảng Sinh viên, với các cột StudentID, StudentName, Age và City. Ở đây, StudentID và StudentName phải là duy nhất cho mỗi và mọi bản ghi.

TẠO BẢNG Sinh viên (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName))

Ở đây, Stu_Example là tên được đặt cho ràng buộc duy nhất được áp dụng trên StudentID và StudentName.

Ràng buộc DUY NHẤT trên ALTER TABLE

Viết truy vấn để thay đổi bảng Students, trong đó ràng buộc UNIQUE phải được thêm vào cột StudentID.

BẢNG ALTER Sinh viên THÊM DUY NHẤT (StudentID)

Tương tự, nếu bạn muốn sử dụng ràng buộc UNIQUE trên nhiều cột và cũng đặt tên cho nó, bạn có thể viết một truy vấn như sau:

ALTER TABLE Sinh viên THÊM CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName)

Bỏ một ràng buộc DUY NHẤT

Để loại bỏ ràng buộc được chỉ định trên một cột, bạn có thể sử dụng quy ước đặt tên mà bạn có thể đã đề cập trong khi thêm ràng buộc.

Ví dụ: nếu chúng ta phải viết một truy vấn để loại bỏ ràng buộc DUY NHẤT mà chúng ta đã tạo ở trên, bạn có thể viết truy vấn như sau:

ALTER TABLE Sinh viên DROP CONSTRAINT Stu_Example

Tiếp theo trong bài viết này về Ràng buộc SQL, chúng ta hãy hiểu cách sử dụng ràng buộc CHECK.

Ràng buộc KIỂM TRA

Ràng buộc CHECK đảm bảo rằng tất cả các giá trị trong một cột thỏa mãn một điều kiện cụ thể.

Thí dụ:

Ràng buộc KIỂM TRA trên TẠO BẢNG

Viết truy vấn để tạo bảng Sinh viên, với các cột StudentID, StudentName, Age và City. Ở đây, thành phố phải là MUmbai.

TẠO BẢNG Sinh viên (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255) KIỂM TRA (City == ’Mumbai’))

Ràng buộc KIỂM TRA trên nhiều cột

Để sử dụng ràng buộc kiểm tra trên nhiều cột, bạn có thể viết một truy vấn như sau:

Viết truy vấn để tạo bảng Sinh viên, với các cột StudentID, StudentName, Age và City. Ở đây, Thành phố phải là Mumbai, và độ tuổi của học sinh phải> 19.

TẠO BẢNG Sinh viên (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) KIỂM TRA (City == & rsquoMumbai & rsquo VÀ Tuổi> 19))

Tương tự, bạn cũng có thể sử dụng ràng buộc CHECK với lệnh ALTER TABLE. Tham khảo bên dưới.

Ràng buộc KIỂM TRA trên ALTER TABLE

Viết truy vấn để thay đổi bảng Sinh viên, trong đó ràng buộc KIỂM TRA phải được thêm vào cột Thành phố. Ở đây, thành phố phải là Mumbai.

BẢNG ALTER Sinh viên THÊM KIỂM TRA (Thành phố == 'Mumbai')

Tương tự, nếu bạn muốn sử dụng ràng buộc CHECK bằng cách đặt tên cho nó, bạn có thể viết một truy vấn như sau:

BẢNG ALTER Sinh viên THÊM CONSTRAINT StuCheckExample KIỂM TRA (City == 'Mumbai')

Bỏ ràng buộc KIỂM TRA

Để loại bỏ ràng buộc được chỉ định trên một cột, bạn có thể sử dụng quy ước đặt tên mà bạn có thể đã đề cập trong khi thêm ràng buộc.

Ví dụ: nếu chúng ta phải viết một truy vấn để loại bỏ ràng buộc CHECK mà chúng ta đã tạo ở trên, bạn có thể viết truy vấn như sau:

ALTER TABLE Sinh viên DROP CONSTRAINT StuCheckExample

Tiếp tục trong bài viết này về Ràng buộc SQL, chúng ta hãy hiểu cách sử dụng ràng buộc DEFAULT.

Ràng buộc DEFAULT

Ràng buộc DEFAULT được sử dụng để đề cập đến một tập hợp các giá trị mặc định cho một cột khi không có giá trị nào được chỉ định. Tương tự như các ràng buộc khác, chúng ta có thể sử dụng ràng buộc này trên lệnh bảng CREATE và ALTER.

Thí dụ

Viết truy vấn để tạo bảng Sinh viên, với các cột StudentID, StudentName, Age và City. Ngoài ra, khi không có giá trị nào được chèn vào cột Thành phố, Delhi tự động phải được đưa vào.

TẠO BẢNG Sinh viên (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) DEFAULT ‘Delhi’)

Ràng buộc DEFAULT trên ALTER TABLE

Để sử dụng ràng buộc DEFAULT với Lệnh ALTER TABLE , bạn có thể viết một truy vấn như sau:

BẢNG ALTER Sinh viên THÊM CONSTRAINT StuDefauVí dụ DEFAULT 'Mumbai' CHO Thành phố

Bỏ ràng buộc DEFAULT

Để loại bỏ ràng buộc DEFAULT, bạn có thể sử dụng lệnh ALTER TABLE như sau:

BẢNG ALTER Học sinh ALTER COLUMN City DROP DEFAULT

Tiếp theo trong bài viết này về Ràng buộc SQL, chúng ta hãy hiểu cách sử dụng ràng buộc INDEX.

Ràng buộc INDEX

INDEXRàng buộc được sử dụng để tạo các chỉ mục trong bảng, Với sự trợ giúp của các chỉ mục này, bạn có thể tạo và truy xuất dữ liệu từ cơ sở dữ liệu rất nhanh chóng.

Cú pháp

--Tạo Chỉ mục trong đó cho phép các giá trị trùng lặp TẠO CHỈ SỐ DUY NHẤT Tên chỉ mục TRÊN Tên bảng (ColumnName1, ColumnName2, ... ColumnName (N)) - Tạo Chỉ mục trong đó các giá trị trùng lặp không được phép TẠO CHỈ SỐ DUY NHẤT Tên chỉ mục TRÊN Tên Bảng (ColumnName1, ColumnName2, ... ColumnName (N))

Thí dụ

Viết truy vấn để tạo một chỉ mục với tên Stu_index trên bảng Sinh viên lưu trữ Tên sinh viên.

TẠO INDEX Stu_index TRÊN Sinh viên (StudentName)

Tương tự, để xóa một chỉ mục khỏi bảng, bạn phải sử dụng lệnh DROP với tên của chỉ mục.

DROP INDEX sinh viên.Stu_index

Ngoài những hạn chế trên, KHÓA CHÍNH và NGOẠI KHÓA cũng được coi là ràng buộc. Ràng buộc PRIMARY KEY được sử dụng để xác định các ràng buộc về cách một cột cụ thể xác định duy nhất mọi bộ giá trị. Các TỪ KHÓA NGOẠI TỆ ràng buộc được sử dụng để liên kết hai bảng dựa trên một mối quan hệ.

máy quét java nhận ký tự tiếp theo

Với điều này, chúng ta kết thúc bài viết này. Tôi hy vọng bạn đã hiểu cách sử dụng các ràng buộc khác nhau có trong cơ sở dữ liệu. Nếu bạn muốn tìm hiểu thêm về MySQL và tìm hiểu cơ sở dữ liệu quan hệ mã nguồn mở này, sau đó xem đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu sâu về MySQL và giúp bạn thành thạo chủ đề này.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết này trên SQL Constraints và tôi sẽ liên hệ lại với bạn.