Các ràng buộc toàn vẹn dữ liệu trong SQL Server

Các ràng buộc toàn vẹn dữ liệu trong SQL Server 006

Ràng buộc toàn vẹn dữ liệu là các quy tắc trong một cơ sở dữ liệu nhằm kiểm tra tính đúng đắn và hợp lệ của dữ liệu trước khi lưu trữ.

SQL Server chia làm hai loại chính :

  •  Loại đơn giản : được mô tả bằng CONSTRAINT
  •  Loại phức tạp : được kiểm tra bằng TRIGGER

 

Khai báo Constraint

CREATE TABLE <TEN BANG>
(
   <TEN COT> <KIEU DU LIEU> CONSTRAINT <TEN CONSTRAINT> <LOAI CONSTRAINT>
)
    •  Constraint ở mức cột

<Ten Cot> <Kieu Du Lieu> CONSTRAINT <Ten Constraint> <Loai Constraint>
Các ràng buộc toàn vẹn dữ liệu trong SQL Server 009
Các ràng buộc toàn vẹn dữ liệu trong SQL Server

 

    • Constraint ở mức bảng

Cột...
CONSTRAINT <Ten Constraint> <Loai Constraint> <Tham So>
ràng buộc toàn vẹn dữ liệu trong sql server
các ràng buộc toàn vẹn dữ liệu trong sql server

Các ràng buộc toàn vẹn dữ liệu trong SQL Server gồm:

– Constraint Default

– Constraint Not Null

– Constraint Unique

–  Constraint Primary Key

– Constraint Foreign Key

– Constraint Check

1. DEFAULT CONSTRAINT

Cột sẽ nhận giá trị mặc định nếu không cung cấp giá trị khi thêm dữ liệu vào bảng.

Cú pháp :

<Ten Cot> <Kieu Du Lieu> CONSTRAINT <Ten Constraint> DEFAULT <Bieu Thuc>
 ràng buộc toàn vẹn dữ liệu trong SQL Server 008
Các ràng buộc toàn vẹn dữ liệu trong SQL Server

 

2. NOT NULL CONSTRAINT

Khai báo ở mức column

 

 ràng buộc toàn vẹn dữ liệu trong SQL Server 006
Các ràng buộc toàn vẹn dữ liệu trong SQL Server

 

3. UNIQUE CONSTRAINT

Unique Constraint ở mức cột.

 

 ràng buộc toàn vẹn dữ liệu trong SQL Server 005
Các ràng buộc toàn vẹn dữ liệu trong SQL Server

 

Unique Constraint ở mức bảng.

 

 ràng buộc toàn vẹn dữ liệu trong SQL Server 004
Các ràng buộc toàn vẹn dữ liệu trong SQL Server

 

4. PRIMARY KEY CONSTRAINT

Khóa chính ở mức cột.

 

cac-rang-buoc-toan-ven-du-lieu-trong-sql-server-011
các ràng buộc toàn vẹn dữ liệu trong sql server

 

Khóa chính ở mức bảng.

 

 ràng buộc toàn vẹn dữ liệu trong sql server 0754
các ràng buộc toàn vẹn dữ liệu trong sql server

 

5. FOREIGN KEY CONSTRAINT

 

 ràng buộc toàn vẹn dữ liệu trong sql server 0754
các ràng buộc toàn vẹn dữ liệu trong sql server

 

Ở đây DEPARTMENT_ID là khóa chính của Table DEPARTMENTS, nhưng là khóa ngoại của Table EMPLOYESS3

 

ràng buộc toàn vẹn dữ liệu trong sql server 0864
các ràng buộc toàn vẹn dữ liệu trong sql server

 

6. CHECK CONSTRAINT

Khai báo những quy định mà mỗi dòng đều phải thỏa mãn.

Dùng để kiểm tra miền giá trị của dữ liệu.

Cú pháp :

CONSTRAINT <TEN Constraint> CHECK <Bieu Thuc>
các ràng buộc toàn vẹn dữ liệu trong sql server 8555
các ràng buộc toàn vẹn dữ liệu trong sql server

 

Thêm Constraint mới vào bảng

– Dùng để tạo constraint sau khi đã tạo bảng

– Sử dụng lệnh ALTER TABLE

ALTER TABLE <Ten Bang>
ADD CONSTRAINT <Ten Constraint> <Loai Constraint> <Tham So>

Ví dụ : Tạo khóa ngoại trên bảng EMPLOYESS3 tham chiếu đến cột DEPARTMENT_ID trên bảng DEPARTMENTS

 

các ràng buộc toàn vẹn dữ liệu trong sql server 08563
các ràng buộc toàn vẹn dữ liệu trong sql server

 

Bật / tắt kiểm tra Constraint

1. Tắt kiểm tra Constraint

ALTER TABLE <Ten Bang>
NOCHECK CONSTRAINT ALL <Ten Constraint>

2. Bật lại kiểm tra Constraint

ALTER TABLE <Ten Bang>
CHECK CONSTRAINT ALL <Ten Bang>

Ví dụ :

 

các ràng buộc toàn vẹn dữ liệu trong sql server 09744
các ràng buộc toàn vẹn dữ liệu trong sql server

 

Xóa Constraint

– Cú pháp:

ALTER TABLE <Ten Bang>
DROP CONSTRAINT <Ten Constraint>

 

Lời kết : Kết thúc bài hôm nay mình đã giới thiệu tới các bạn các ràng buộc toàn vẹn dữ liệu trong SQL Server căn bản, bài tới mình sẽ giới thiệu và hướng dẫn những câu lệnh truy vấn căn bản trong SQL Server 2012.

Chúc bạn thành công!

 

Những bài bạn nên xem:
  1. Hướng dẫn cài đặt SQL Server 2012
  2. Khái niệm và cách tạo cơ sở dữ liệu SQL Server
  3. Tạo cấu trúc bảng trong SQL Server 2012

 

4.5/5 - (2 bình chọn)