Ràng buộc toàn vẹn

Ràng buộc toàn vẹn (Integrity Constraint – RBTV) là những quy định trong CSDL xuất phát từ thực tiễn hay từ các mô hình dữ liệu, RBTV được đưa ra nhằm loại bỏ các bất thường trong CSDL.

Tổng quan về RBTV

Để hiểu về RBTV chúng ta cùng xét qua một vài ví dụ:

  • Trong 1 CSDL lưu trữ thông tin về sinh viên, khách hàng …vv có 1 trường ’email’. Trong thế giới thực, không thể tồn tại 2 email giống nhau, do đó thuộc tính email cần phải đảm bảo được tính duy nhất (unique).
  • Một ví dụ khác, ở trường đại học, cao đẳng muốn lưu trữ thông tin về sinh viên nhập học, các trường dữ liệu như: số điện thoại, email, ngày tháng năm sinh…vv có thể cập nhật sau, tuy nhiên trường “họ tên” của sinh viên chắc chắn không thể bỏ trống được.

Trong thực tiễn, khi phân tích, thiết kế và triển khai một CSDL, chúng ta sẽ gặp rất nhiều trường hợp tương tự. RBTV cho phép người thiết kế, quản trị và sử dụng luôn đảm bảo được tính đúng đắn và logic của dữ liệu.

RBTV trong SQL Server

Sau khi có cái nhìn tổng quan về RBTV trong CSDL, chúng ta sẽ bắt đầu sử dụng chúng trên SQL Server. Ở mức cơ bản, chúng ta có một số các ràng buộc sau:

  • Primary Key
  • Foreign Key
  • NOT NULL
  • UNIQUE
  • CHECK

Dưới đây là một ví dụ về RBTV trong SQL Server, chúng ta sẽ tạo 1 CSDL “Trường học”, trong CSDL này, bao gồm 1 bảng Sinh_Vien(MSSV, Ho_ten, gioi_tinh, email)