W3School

Các ràng buộc SQL (Constraints) được sử dụng để chỉ định các quy tắc cho dữ liệu trong bảng.

SQL tạo ràng buộc

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

Cú pháp

Các ràng buộc SQL

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.

Các ràng buộc được sử dụng để giới hạn loại dữ liệu có thể đi vào bảng. Điều này đảm bảo tính chính xác và độ tin cậy của dữ liệu trong bảng. Nếu có bất kỳ vi phạm nào giữa ràng buộc và hành động dữ liệu, hành động đó sẽ bị hủy bỏ.

Ràng buộc có thể là cấp cột hoặc cấp bảng. Các ràng buộc mức cột áp dụng cho một cột và các ràng buộc mức bảng áp dụng cho toàn bộ bảng.

Các ràng buộc sau thường được sử dụng trong SQL:

  • NOT NULL– Đảm bảo rằng một cột không thể có giá trị NULL
  • UNIQUE– Đảm bảo rằng tất cả các giá trị trong một cột là khác nhau
  • PRIMARY KEY– Sự kết hợp của a NOT NULLvà UNIQUE. Xác định duy nhất từng hàng trong bảng
  • FOREIGN KEY – Ngăn chặn các hành động phá hủy liên kết giữa các bảng
  • CHECK– Đảm bảo rằng các giá trị trong một cột thỏa mãn một điều kiện cụ thể
  • DEFAULT– Đặt giá trị mặc định cho một cột nếu không có giá trị nào được chỉ định
  • CREATE INDEX– Dùng để tạo và lấy dữ liệu từ cơ sở dữ liệu rất nhanh chóng

Bạn có thể download cơ sở dữ liệu Northwind để bắt đầu thực hành tại đây:

- Dành cho Sql Server, MS Access Download
- Dành cho Mysql: Tạo bảng trước với Download Table sau đó hãy điền data với Download Data
- Dành cho Oracle Download

Lưu ý: Tên bảng trong CSDL cho SQL Server thường được viết hoa chữ đầu. Với Mysql thì tên bảng được viết thường. Và với Oracle thì tên bảng toàn bộ được viết hoa. Bạn hãy viết đúng tên bảng trong query của mình nhé.

Trong nội dung bài viết, đôi khi tên bảng được viết dưới dạng tiếng Việt, ví dụ:

- Customers: Khách hàng
- Orders: Đơn hàng
- Employees: Nhân viên
- Shipers: Giao hàng
- Invoices: Hoá đơn

W3School

Leave a comment

Your email address will not be published. Required fields are marked *