Nội dung chính
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>
-
Constraint ở mức bảng
Cột... CONSTRAINT <Ten Constraint> <Loai Constraint> <Tham So>
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>
2. NOT NULL CONSTRAINT
Khai báo ở mức column
3. UNIQUE CONSTRAINT
Unique Constraint ở mức cột.
Unique Constraint ở mức bảng.
4. PRIMARY KEY CONSTRAINT
Khóa chính ở mức cột.
Khóa chính ở mức bảng.
5. FOREIGN KEY CONSTRAINT
Ở đây DEPARTMENT_ID là khóa chính của Table DEPARTMENTS, nhưng là khóa ngoại của Table EMPLOYESS3
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>
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
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ụ :
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:
- Hướng dẫn cài đặt SQL Server 2012
- Khái niệm và cách tạo cơ sở dữ liệu SQL Server
- Tạo cấu trúc bảng trong SQL Server 2012