Tải bản đầy đủ (.pptx) (106 trang)

Sqlserverconstrainttrigger.pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (10.63 MB, 106 trang )

Constraint, trigger
in sql server


I. CONSTRAINT


Các quy định của công việc trong thực tế




Trong thực tế mỗi cơng việc điều có những quy định phải tuân theo:


Mỗi quy định trở thành một hay nhiều ràng buộc trong CSDL.



Một số quy định đơn giản, mặc nhiên thấy cũng phải mơ tả trong CSDL.

Ví dụ quản lý đơn đặt hàng:


Số lượng đặt hàng phải lớn hơn 0.



Các số hóa đơn giao hàng khơng được trùng nhau.




Ngày dự kiến nhận hàng phải sau ngày đặt hàng.



...


Ràng buộc (Constraint) trong SQL


Ràng buộc (Constraint) là các qui tắc được áp đặt cho các cột dữ liệu trên table. 



Chúng được sử dụng để giới hạn kiểu dữ liệu nhập vào một bảng. Điều này đảm
bảo tính chính xác và tính đáng tin cậy cho dữ liệu trong Database.



Ràng buộc (Constraint) có thể là column level hoặc table level. Ràng buộc cấp độ
cột chỉ được áp dụng cho các cột, trong khi ràng buộc cấp độ bảng được áp dụng
cho toàn bộ table.


SQL Constraints


constraint mức bảng: constraint này có thể tham chiếu một hoặc nhiều cột và
được định nghĩa riêng biệt với các định nghĩa của các cột trong bảng.




constraint mức cột: các constraint này có thể tham chiếu một cột đơn và được 
định nghĩa trong phần đặc tả của cột này.


SQL Constraints


Dưới đây là các ràng buộc có sẵn và được sử dụng phổ biến trong SQL:


NOT NULL - Bảo đảm một cột khơng thể có giá trị NULL.



UNIQUE - Bảo đảm tất cả các giá trị trong cột là khác nhau.



PRIMARY KEY - Mỗi hàng / bản ghi được nhận diện một cách duy nhất trong một bảng.



FOREIGN KEY - Mỗi hàng/ bản ghi được nhận diện một các duy nhất trong bất  kì bảng
nào.




CHECK - Bảo đảm tất cả giá trị trong một cột thỏa mãn các điều kiện nào đó.



DEFAULT - Cung cấp một gía trị mặc định cho cột khi khơng được xác định.



INDEX - Sử dụng để tạo và lấy dữ liệu từ DataBase một cách nhanh chóng.


Nguyên tắc chung


Một constraint luôn gắn với một bảng.



Nếu không đặt tên thì hệ thống sẽ tự động phát sinh tên cho constraint.



Có thể tạo constraint:


Cùng với thời điểm tạo bảng bằng CREATE TABLE.



Sau khi đã tạo bảng xong bằng ALTER TABLE.




Có thể khai báo constraint ở mức cột hoặc mức bảng.



Bất cứ ràng buộc nào bạn đã xác định đều có thể loại bỏ bằng lệnh ALTER TABLE
với tùy chọn DROP CONSTRAINT.



Có thể xem các constraint hiện có trong database.


SQL NOT NULL Constraint


Theo mặc định, mỗi cột có thể giữ các gía trị NULL.



Nếu một cột có ràng buộc NOT NULL thì cột này khơng được chứ các giá trị
NULL.



Bắt buộc một trường ln chứa một giá trị, có nghĩa là bạn không thể chèn một
bản ghi mới hoặc cập nhật một bản ghi mà không thêm một giá trị vào trường này.




Phải kiếm trâ ràng buộc NOT NULL mỗi lần có cập nhật dữ liệu liệu của cột.



Ràng buộc NOT NULL mức cột được đặc tả như sau:
[constraint constraint_name] NOT NULL


SQL NOT NULL Constraint


SQL NOT NULL Constraint


SQL NOT NULL Constraint


Tạo constraint sau khi tạo bảng:

                  ALTER TABLE nhanvien
                  MODIFY  tennv NVCHAR(25) NOT NULL;


SQL UNIQUE Constraint


Ràng buộc UNIQUE đảm bảm rằng tất cả các giá trị trong một cột là khác nhau.




Tuy nhiên, vẫn có thể có nhiều hàng có giá trị NULL nếu khơng có ràng buộc NOT
NULL.



Ràng buộc UNIQUE mức cột;
[CONSTRAINT constraint_name] UNIQUE



Ràng buộc UNIQUE mức bảng:
[CONSTRAINT constraint_name] UNIQUE (column_name,...)


SQL UNIQUE Constraint


SQL UNIQUE Constraint


SQL UNIQUE Constraint


ALTER TABLE nhanvien
ADD CONSTRAINT  nv_email_uk UNIQUE (email);




ALTER TABLE nhanvien
DROP CONSTRAINT nv_email_uk;


SQL PRIMARY KEY Constraint


Ràng buộc PRIMARY KEY xác đinh duy nhất trong mỗi bảng.



Khóa chính là sự kết hợp của UNIQUE và NOT NULL.



khóa chính phải chứa UNIQUE value và khơng thể chứa giá trị NULL.



Một bảng chỉ có thể có một khóa chính; và trong bảng, khóa chính có thể bao gồm
một hoặc nhiều cột.



Ràng buộc PRIMARY KEY mức cột;
[CONSTRAINT constraint_name] PRIMARY KEY



Ràng buộc PRIMARY KEY mức bảng:

[CONSTRAINT constraint_name] PRIMARY KEY (column_name,...)


SQL PRIMARY KEY Constraint


SQL PRIMARY KEY Constraint


SQL PRIMARY KEY Constraint


ALTER TABLE phong
ADD CONSTRAINT phong_ma_pk PRIMARY KEY (maphong);



ALTER TABLE phong
DROP CONSTRAINT phong_ma_pk;


SQL FOREIGN KEY Constraint


FOREIGN KEY được sử dùng để liên kết hai bảng với nhau.



FOREIGN KEY là một trường ( hoặc một tập hợp các trường) trong một bảng đề
cập đến PRIMARY KEY trong một bảng khác.




Khi định nghĩa một bảng ta cần phải xác định tất của các foreign key của bảng này
(nếu có).



Bảng chứa foreign key được gọi là bảng con, bảng còn lại gọi là bảng tham chiếu
hoặc bảng cha.



Bảng cha phải được tạo trước để khi khi định nghĩa bảng con thì bảng con có thể
tham chiếu đến bảng cha có sẵn.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×