TRUNG TÂM CÔNG NGHỆ THÔNG TIN VÀ THIẾT KẾ

Lorem Ipsum
Lorem Ipsum

ATD - Tự tin chinh phục đỉnh cao nghề nghiệp

Mục lục bài viết

  1. Ràng buộc (Constraint) trong SQL là gì? 
  2. Tìm hiểu về các loại ràng buộc trong SQL
    1. Default – Ràng buộc giá trị mặc định
    2. Ràng buộc NOT NULL – Bắt buộc phải có dữ liệu
    3. Ràng buộc UNIQUE – Đảm bảo tính duy nhất trong một cột hoặc tổ hợp cột
    4. Ràng buộc CHECK – Kiểm soát phạm vi giá trị thông qua điều kiện logic
Học nhanh các loại ràng buộc trong SQL: Default, Not Null, Unique, và Check

SQL (Structured Query Language) là một trong những ngôn ngữ cơ sở dữ liệu phổ biến nhất hiện nay. Dù bạn là người mới bắt đầu học SQL hay đang cải thiện kỹ năng quản lý dữ liệu, việc nắm vững các loại ràng buộc trong SQL (SQL constraints) là điều bắt buộc nếu bạn muốn xây dựng một hệ thống dữ liệu vững chắc, chính xác và an toàn.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu nhanh và đầy đủ về 4 loại ràng buộc cơ bản nhưng quan trọng nhất trong SQL: Default, Not Null, Unique và Check. Bạn sẽ được hướng dẫn cách dùng, ví dụ thực tế và những mẹo hữu ích để áp dụng hiệu quả vào các dự án SQL chuyên nghiệp.

Ràng buộc (Constraint) trong SQL là gì? 

Constraint trong SQL là những quy tắc được áp dụng lên các cột trong bảng dữ liệu nhằm đảm bảo tính chính xác, toàn vẹn và hợp lệ của dữ liệu được lưu trữ.

Nói cách khác, các ràng buộc trong SQL giúp kiểm soát cách dữ liệu được thêm, cập nhật hoặc xoá khỏi bảng. Khi sử dụng đúng cách, constraints sẽ giúp giảm thiểu lỗi nhập liệu, nâng cao độ tin cậy của hệ thống cơ sở dữ liệu.

Xem thêm:

Tìm hiểu về các loại ràng buộc trong SQL

Default – Ràng buộc giá trị mặc định

DEFAULT constraint quy định một giá trị sẽ được tự động gán cho một cột khi người dùng không cung cấp giá trị trong thao tác INSERT.

Cú pháp minh hoạ:

  • Gán ngày tạo bản ghi (GETDATE() hoặc CURRENT_TIMESTAMP)

  • Thiết lập trạng thái mặc định: 'Active', 'Pending'

  • Gán số lượng mặc định, ví dụ SoLuong INT DEFAULT 1

Lưu ý:

  • DEFAULT chỉ phát huy hiệu quả khi được kết hợp với các thao tác INSERT không chỉ định rõ giá trị.

  • Không nên gán giá trị mặc định không có ý nghĩa rõ ràng (ví dụ: 0 hoặc chuỗi rỗng) nếu không có quy định rõ ràng từ nghiệp vụ.

Ràng buộc NOT NULL – Bắt buộc phải có dữ liệu

NOT NULL constraint quy định rằng một cột không được phép nhận giá trị NULL. Đây là cách đơn giản nhưng hiệu quả để đảm bảo rằng dữ liệu không bị thiếu.

Cú pháp minh hoạ:

Nên sử dụng NOT NULL:

  • Với các cột đóng vai trò bắt buộc trong nghiệp vụ: mã định danh, tên, giá, ngày tạo, v.v.

  • Đảm bảo dữ liệu luôn đầy đủ và không cần xử lý ngoại lệ với giá trị NULL trong các truy vấn

Ràng buộc UNIQUE – Đảm bảo tính duy nhất trong một cột hoặc tổ hợp cột

UNIQUE constraint đảm bảo rằng các giá trị trong cột được chỉ định phải duy nhất, không trùng lặp trong toàn bộ bảng.

Lưu ý:

  • Một bảng có thể có nhiều ràng buộc UNIQUE nhưng chỉ có một khoá chính (PRIMARY KEY).

  • Có thể áp dụng UNIQUE cho nhiều cột cùng lúc:

Ràng buộc CHECK – Kiểm soát phạm vi giá trị thông qua điều kiện logic

CHECK constraint cho phép bạn đặt điều kiện logic mà giá trị của một hoặc nhiều cột phải tuân theo.

Cú pháp minh hoạ

Lưu ý quan trọng khi sử dụng constraint

  • Ưu tiên áp dụng ràng buộc ngay từ giai đoạn thiết kế bảng, tránh việc phải điều chỉnh khi dữ liệu đã phát sinh.

  • Luôn đặt tên rõ ràng cho constraint theo định dạng: CK_TenBang_TenCot, DF_TenBang_TenCot,... để dễ kiểm soát.

  • Kiểm tra dữ liệu hiện có trước khi thêm ràng buộc bằng cách dùng WHERE và EXISTS để tránh lỗi dữ liệu vi phạm constraint.

  • Kết hợp constraint với chỉ mục (index) hoặc trigger nếu yêu cầu logic kiểm tra phức tạp.

Xem thêm:

Kết luận

Việc nắm vững các loại ràng buộc trong SQL không chỉ giúp bạn kiểm soát chặt chẽ dữ liệu mà còn góp phần nâng cao hiệu suất và độ tin cậy của hệ thống cơ sở dữ liệu. Hiểu rõ cách vận dụng DEFAULT, NOT NULL, UNIQUE và CHECK sẽ là nền tảng vững chắc để bạn tiến xa hơn trong các công việc liên quan đến data engineering, backend development, hoặc phân tích dữ liệu chuyên sâu. Hãy thực hành thường xuyên và áp dụng constraint một cách có chiến lược để tối ưu thiết kế cơ sở dữ liệu của bạn ngay từ hôm nay!



Nhận xét & Bình luận

Đánh giá của Học viên

5/5

Đăng ký nhận tin mới

Đăng ký nhận tin mới

Chính sách

Thời gian làm việc

Thứ 2 - Thứ 6 (Offline): 7h30 - 11h30, 13h30 - 17h00

Thứ 2 - Thứ 6 (Offline): 7h30 - 11h30, 13h30 - 17h00

Thứ 7 - CN (Online): 7h30 - 11h30, 13h30 - 17h00

Thứ 7 - CN (Online): 7h30 - 11h30, 13h30 - 17h00

Theo dõi

Lorem Ipsum
Lorem Ipsum

Bản quyền © 2024 ATD. Tất cả các quyền được bảo lưu. Được xây dựng với Eraweb.