Ràng buộc (constraint) là các quy tắc giới hạn dữ liệu được phép lưu vào bảng, giúp duy trì độ chính xác và toàn vẹn dữ liệu.
Phân loại
- Column-level constraints: Áp dụng cho một cột cụ thể (ví dụ: NOT NULL, UNIQUE trên một cột).
- Table-level constraints: Áp dụng cho toàn bộ bảng, liên quan nhiều cột (ví dụ: PRIMARY KEY tổ hợp, FOREIGN KEY).
Các ràng buộc phổ biến nhất
- NOT NULL – Cấm giá trị NULL.
- UNIQUE – Đảm bảo giá trị duy nhất (cho phép NULL).
- PRIMARY KEY – Khóa chính: duy nhất, không NULL, chỉ một mỗi bảng.
- FOREIGN KEY – Khóa ngoại: tham chiếu khóa chính của bảng khác, đảm bảo tham chiếu toàn vẹn.
- CHECK – Kiểm tra điều kiện (MySQL 8.0.16+ mới hỗ trợ thực thi).
- DEFAULT – Giá trị mặc định khi không cung cấp.