Trong SQL, Constraint là một hạn chế được thiết lập trên bảng hoặc cột dữ liệu để đảm bảo rằng dữ liệu được nhập vào luôn đáp ứng yêu cầu về chất lượng dữ liệu. Các Constraint được sử dụng để giới hạn truy vấn, tạo sự đồng bộ giữa các bảng và xác định các ràng buộc dữ liệu.
Ví dụ:
- Constraint UNIQUE cho phép chúng ta đảm bảo rằng một cột hoặc nhiều cột trong một bảng có giá trị duy nhất.
- Constraint PRIMARY KEY cho phép chúng ta xác định một cột hoặc nhiều cột là khóa chính của bảng và đảm bảo rằng giá trị của cột này luôn duy nhất.
- Constraint FOREIGN KEY cho phép chúng ta xác định một cột hoặc nhiều cột trong một bảng liên kết với một bảng khác.
Các bài viết liên quan:
Ví dụ sử dụng constraint trong sql
Ví dụ:
Tạo một bảng với ràng buộc NOT NULL cho cột “last_name”:
CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50) NOT NULL, hire_date DATE );
Tạo một bảng với ràng buộc UNIQUE cho cột “email”:
CREATE TABLE users ( user_id INT PRIMARY KEY, username VARCHAR(50), email VARCHAR(50) UNIQUE, password VARCHAR(50) );
Tạo một bảng với ràng buộc FOREIGN KEY cho cột “department_id”:
CREATE TABLE employees ( employee_id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50), department_id INT, FOREIGN KEY (department_id) REFERENCES departments (department_id) );
Các loại constraint trong sql
Trong SQL, các ràng buộc (constraints) là các quy tắc và điều kiện được áp dụng cho các trường hoặc bảng dữ liệu để giới hạn và bảo vệ tính toàn vẹn của dữ liệu. Các loại ràng buộc phổ biến trong SQL bao gồm:
- PRIMARY KEY: Ràng buộc này chỉ định một hoặc nhiều cột trong bảng là khóa chính, đảm bảo tính duy nhất của mỗi bản ghi trong bảng.
- FOREIGN KEY: Ràng buộc này giúp xác định mối quan hệ giữa hai bảng và đảm bảo tính toàn vẹn của dữ liệu. Nó chỉ định rằng giá trị trong một cột của bảng tham chiếu phải trùng khớp với giá trị của khóa chính của bảng tham chiếu.
- CHECK: Ràng buộc này xác định một điều kiện mà giá trị trong một cột phải thỏa mãn. Nếu giá trị không thỏa mãn, thao tác thêm hoặc cập nhật dữ liệu sẽ không được thực hiện.
- UNIQUE: Ràng buộc này đảm bảo rằng giá trị trong một cột là duy nhất trong bảng.
- NOT NULL: Ràng buộc này yêu cầu giá trị của một cột không được phép rỗng (NULL).
- DEFAULT: Ràng buộc này xác định giá trị mặc định cho một cột nếu không có giá trị được cung cấp.
- INDEX: Ràng buộc này tạo một chỉ mục cho một cột hoặc một tập hợp các cột để tăng tốc độ truy vấn dữ liệu.
Tùy thuộc vào mục đích và yêu cầu của ứng dụng, ta có thể sử dụng một hoặc nhiều ràng buộc trong SQL để đảm bảo tính toàn vẹn và hợp lệ của dữ liệu trong cơ sở dữ liệu.
Xem thêm Web SQL là gì?
Phân biệt criteria và constraint
Trong lĩnh vực công nghệ thông tin, “criteria” và “constraint” đều là các khái niệm liên quan đến việc đảm bảo tính toàn vẹn và hợp lệ của dữ liệu trong hệ thống.
- “Criteria” (tiêu chí) là một tập hợp các quy tắc và điều kiện được đưa ra để đảm bảo rằng dữ liệu được cập nhật, truy vấn và xử lý theo cách đáng tin cậy, chính xác và đúng yêu cầu. Thường được sử dụng trong việc thiết kế và phát triển các ứng dụng, đặc biệt là trong quá trình xây dựng các chức năng tìm kiếm hoặc lọc dữ liệu. Ví dụ, “Hãy hiển thị tất cả các sản phẩm có giá bán lớn hơn 100.000 VNĐ và được đánh giá từ 4 sao trở lên”.
- “Constraint” (ràng buộc) là một quy tắc được thiết kế để đảm bảo rằng dữ liệu được lưu trữ trong cơ sở dữ liệu đáp ứng các yêu cầu về tính toàn vẹn và độ chính xác. Ràng buộc thường được áp dụng cho cơ sở dữ liệu để đảm bảo tính duy nhất của khóa chính, đảm bảo tính toàn vẹn của dữ liệu khi thêm, xóa hoặc cập nhật bản ghi, hoặc đảm bảo tính duy nhất của giá trị trong một cột của bảng. Ví dụ, “Khóa chính của bảng sản phẩm phải là một số nguyên duy nhất không âm”, hoặc “Giá trị trong cột số điện thoại phải là một số điện thoại hợp lệ theo quy tắc quốc tế”.
Tóm lại, “criteria” và “constraint” đều là những quy tắc và điều kiện quan trọng để đảm bảo tính toàn vẹn và độ chính xác của dữ liệu trong hệ thống, tuy nhiên chúng được áp dụng và sử dụng trong các trường hợp khác nhau.