Các Loại Ràng Buộc trong SQL: Default, Not Null, Unique, và Check

Tặng 45 phút tư vấn lộ trình ngành Tech cùng chuyên gia

Chỉ còn 7 suất cuối trong tháng này, hỗ trợ tư vấn ngoài giờ hành chính (Trị giá 500,000 VND)

Cám ơn bạn đã tin tưởng CoderSchool, các tư vấn viên sẽ liên lạc với bạn trong 24 giờ tới nên bạn nhớ chú ý điện thoại nhé.
Không thể gửi thông tin. Xin vui lòng kiểm tra và gửi lại.
coderschool-backgroud

Ràng buộc trong SQL là một phần không thể thiếu của việc thiết kế cơ sở dữ liệu. Chúng đóng vai trò quan trọng trong việc đảm bảo tính nhất quán và độ chính xác của dữ liệu, đồng thời giúp bảo vệ cơ sở dữ liệu khỏi các vấn đề như dữ liệu không hợp lệ hoặc thiếu sót. Trong bài viết này, chúng ta sẽ đi sâu vào các loại ràng buộc phổ biến trong SQL và hiểu rõ cách áp dụng chúng trong thực tế.

1. Ràng Buộc Default

Ràng buộc Default cho phép bạn xác định giá trị mặc định cho một trường dữ liệu trong bảng. Khi một hàng mới được thêm vào bảng và không cung cấp giá trị cho trường có ràng buộc Default, giá trị mặc định sẽ được sử dụng. Điều này giúp tránh được việc bỏ sót hoặc nhập thiếu dữ liệu, đồng thời tạo ra một sự thống nhất trong cơ sở dữ liệu.

Ví dụ, giả sử bạn có một bảng "Employees" với trường "Department" mà bạn muốn mặc định là "IT" khi không có giá trị được cung cấp:

CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, FullName VARCHAR(100), Department VARCHAR(50) DEFAULT 'IT' );

Trong trường hợp này, nếu một hàng mới được thêm vào bảng Employees mà không cung cấp giá trị cho trường Department, giá trị mặc định 'IT' sẽ được sử dụng.

2. Ràng Buộc Not Null

Ràng buộc Not Null đảm bảo rằng một trường dữ liệu không thể chứa giá trị NULL. Điều này đặc biệt hữu ích khi bạn muốn đảm bảo rằng một trường dữ liệu quan trọng không được bỏ trống, và ngăn chặn việc nhập dữ liệu không hợp lệ vào cơ sở dữ liệu.

Ví dụ, trong bảng "Students", nếu bạn muốn đảm bảo rằng trường "FullName" không thể trống:

CREATE TABLE Students ( StudentID INT PRIMARY KEY, FullName VARCHAR(100) NOT NULL, Age INT );

Trong trường hợp này, mỗi hàng trong bảng Students phải chứa một giá trị cho trường FullName, và không được phép để trống.

3. Ràng Buộc Unique

Ràng buộc Unique đảm bảo rằng mỗi giá trị trong một trường dữ liệu là duy nhất. Điều này đặc biệt hữu ích khi bạn muốn đảm bảo tính duy nhất của các khóa chính hoặc các trường dữ liệu quan trọng khác.

Ví dụ, trong bảng "Products", nếu bạn muốn đảm bảo rằng mỗi sản phẩm có một SKU duy nhất:

CREATE TABLE Products ( ProductID INT PRIMARY KEY, ProductName VARCHAR(100), SKU VARCHAR(50) UNIQUE );

Trong trường hợp này, mỗi giá trị trong trường SKU phải là duy nhất trong bảng Products.

4. Ràng Buộc Check

Ràng buộc Check được sử dụng để xác định một điều kiện mà dữ liệu phải tuân thủ khi chèn hoặc cập nhật. Điều này cho phép bạn kiểm tra tính hợp lệ của dữ liệu và ngăn chặn việc nhập các giá trị không hợp lệ vào cơ sở dữ liệu.

Ví dụ, trong bảng "Employees", nếu bạn muốn đảm bảo rằng tuổi của nhân viên phải lớn hơn hoặc bằng 18:

CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, FullName VARCHAR(100), Age INT,CONSTRAINT CHK_EmployeeAge CHECK (Age >= 18) );

Trong trường hợp này, mỗi lần chèn hoặc cập nhật dữ liệu trong bảng Employees, điều kiện Age >= 18 sẽ được kiểm tra.

Kết Luận

Các loại ràng buộc trong SQL đóng vai trò quan trọng trong việc đảm bảo tính nhất quán, độ chính xác và tính hợp lệ của dữ liệu trong cơ sở dữ liệu. Bằng cách sử dụng các ràng buộc như Default, Not Null, Unique và Check, bạn có thể kiểm soát và quản lý dữ liệu một cách hiệu quả, đồng thời giúp bảo vệ cơ sở dữ liệu khỏi các vấn đề như dữ liệu không hợp lệ hoặc thiếu sót.


Các bạn mới quan tâm đến lĩnh vực Dữ liệu cũng có thể lựa chọn cho mình khóa học Data Science của CoderSchool để được đào tạo bài bản về các công cụ trong việc Phân tích dữ liệu, Machine Learning với Mentor 1-kèm-1 hàng tuần là các chuyên gia trong ngành giúp định hướng lộ trình học cá nhân phù hợp với mục tiêu của riêng bạn

>> Tham khảo khoá học Data Science tại đây

Kiểm tra độ phù hợp với ngànhKiểm tra độ phù hợp trong ngành Tech

Bạn còn thắc mắc về chương trình học?

Tham gia ngay 45 phút định hướng cùng Mentor tại CoderSchool hoàn toàn miễn phí

Get a full refund within 7 days if you’re not happy with the course. If you don’t get a job within 6 months of completion, you’ll receive a full refund.

Đăng ký