Các ràng buộc trong SQL

Ràng buộc trong SQL là gì? Nếu bạn đang tìm hiểu cách ràng buộc dữ liệu trong SQL thì mời bạn đọc bài viết dưới đây.

Ràng buộc dữ liệu hay Constraint SQL là gì?

Constraint trong SQL là các quy tắc được áp dụng cho cột dữ liệu hoặc bảng để giới hạn kiểu dữ liệu có thể nhập vào bảng. Khi bạn cố gắng triển khai bất kỳ tác vụ INSERT, UPDATE, hoặc DELETE, RDBMS sẽ kiểm tra xem dữ liệu đó có vi phạm bất kỳ ràng buộc hiện có hay không và nếu có sự xung đột giữa ràng buộc đã xác định và hoạt động dữ liệu, nó sẽ hủy bỏ thao tác và trả về lỗi.

Lập trình viên có thể xác định các ràng buộc cấp độ cột và bảng. Các ràng buộc cấp độ cột chỉ được áp dụng cho một cột, trong khi đó, các ràng buộc cấp độ bảng được áp dụng cho toàn bộ bảng.

Tạo các ràng buộc trong cơ sở dữ liệu

Bạn có thể tạo các ràng buộc trên một bảng ngay tại lúc tạo bảng bằng lệnh CREATE TABLE, hoặc sau khi bảng được tạo, bạn có thể dùng lệnh ALTER TABLE để tạo hoặc xóa các ràng buộc bảng.

CREATE TABLE table_name (
    column1 datatype constraint,
    column2 datatype constraint,
    column3 datatype constraint,
    ....
);

Các loại ràng buộc phổ biến

Dưới đây là một số các ràng buộc phổ biến nhất được sử dụng trong SQL.

Ràng buộcÝ nghĩa
NOT NULLĐảm bảo dữ liệu của cột không được nhận giá trị NULL.
DEFAULTCung cấp một giá trị mặc định cho một cột trong trường hợp dữ liệu của cột không được nhập vào hay không được xác định.
UNIQUEĐảm bảo rằng dữ liệu của cột là duy nhất, tất cả các giá trị trong một cột là khác nhau không trùng lặp.
PRIMARY KeyDùng để thiết lập khóa chính trên bảng, giá trị của cột làm khóa chính phải là duy nhất, không được trùng lặp. Việc khai báo ràng buộc khóa chính yêu cầu các cột phải NOT NULL.
FOREIGN KeyDùng để thiết lập khóa ngoại trên bảng, tham chiếu đến bảng khác thông qua giá trị của cột được liên kết. Giá trị của cột được liên kết phải là duy nhất trong bảng kia.
CHECKĐảm bảo tất cả các giá trị trong một cột thỏa mãn một số điều kiện.
INDEXDùng để tạo và lấy dữ liệu từ cơ sở dữ liệu một cách nhanh chóng.

Các ràng buộc có thể được chỉ định khi bạn tạo bảng với câu lệnh CREATE TABLE hoặc sau khi tạo bảng với câu lệnh ALTER TABLE.

Xóa bỏ ràng buộc (Drop Constraint)

Bất kỳ ràng buộc nào đã định nghĩa đều có thể bị xóa bỏ bằng cách sử dụng lệnh ALTER TABLE với tùy chọn DROP CONSTRAINT.

Ví dụ, để drop Constraint khóa chính trong bảng NHANVIEN, bạn có thể sử dụng lệnh sau đây.

ALTER TABLE NHANVIEN DROP CONSTRAINT NHANVIEN_PK;

Một số cơ sở dữ liệu có thể cung cấp các phím tắt để drop các ràng buộc nhất một cách ngắn gọn hơn. Ví dụ, để loại bỏ ràng buộc khóa chính cho một bảng trong Oracle, bạn có thể sử dụng lệnh sau đây.

ALTER TABLE NHANVIEN DROP PRIMARY KEY;

Trong phần tiếp theo, chúng ta sẽ tìm hiểu về mệnh đề JOIN trong SQL, các bạn nhớ theo dõi nhé.

Bài trước: Sắp xếp kết quả trong SQL

Bài tiếp: Mệnh đề JOIN trong SQL

Thứ Ba, 26/09/2023 16:57
4,210 👨 40.089
0 Bình luận
Sắp xếp theo
    ❖ Học SQL