SỬA ĐỔI CÁC RÀNG BUỘC

Một phần của tài liệu Giáo trình Ngôn ngữ SQL doc (Trang 80 - 81)

CHƯƠNG II : CÁC RÀNG BUỘC VÀ CÁC TRIGGER

2.3 SỬA ĐỔI CÁC RÀNG BUỘC

Cú thể thờm, sửa đổi, hoặc loại bỏ cỏc ràng buộc tại mọi thời điểm. Cỏch diễn đạt cỏc sửa đổi đú phụ thuộc vào việc ràng buộc liờn quan đến một thuộc tớnh, một bộ giỏ trị, một bảng hoặc một lược đồ cơ sở dữ liệu.

2.3.1 Đặt tờn cho cỏc ràng buộc

Để sửa đổi hoặc xoỏ một ràng buộc đang tồn tại điều cần thiết là ràng buộc phải cú một tờn. Để làm điều đú, chỳng ta đặt trước ràng buộc từ khoỏ CONSTRAINT và một tờn cho ràng buộc này.

Vớ dụ 2.10:

Tờn CHAR(30) CONSTRAINT Tờnlàkhúa PRIMARY KEY, Giớitớnh CHAR(1) CONSTRAINT Giỏ trịGT

CHECK (gender IN (‘F’, ‘M’)), CONSTRAINT Tờnđỳng

CHECK (Giớitớnh = ‘F’ OR Tờn NOT LIKE ‘Ms.%’),

2.3.2 Sửa đổi cỏc ràng buộc trờn cỏc bảng

Trong phần trước chỳng ta đó núi rằng ta cú thể chuyển việc kiểm tra một ràng buộc từ tức khắc (immediate) sang chậm (deferred) với lệnh SET CONSTRAINT. Cỏc thay đổi khỏc đối với cỏc ràng buộc được thực hiện với lệnh ALTER TABLE. Chỳng ta cũng đó sử dụng lệnh này trong phần trước để thờm hoặc loại bỏ cỏc thuộc tớnh.

Cỏc lệnh đú cũng cú thể được sử dụng để sửa đổi cỏc ràng buộc. ALTER TABLE được sử dụng đối với cả hai kiểm tra: kiểm tra dựa trờn thuộc tớnh

DROP và tờn của ràng buộc bị dừng. Chỳng ta cũng cú thể thờm một ràng buộc với từ khoỏ ADD, tiếp theo là ràng buộc được thờm vào. Tuy nhiờn, cần để ý rằng chỳng ta chỉ cú thể thờm một ràng buộc vào một bảng khi ràng buộc đú thoả món đối với trạng thỏi hiện tại của bảng.

Vớ dụ 2.11: Ba lệnh sau đõy làm dừng cỏc ràng buộc đối với quan hệ GIÁOVIấN:

ALTER TABLE GIÁOVIấN DROP CONSTRAINT Tờnlàkhúa ; ALTER TABLE GIÁOVIấN DROP CONSTRAINT GiỏtrịGT ; ALTER TABLE GIÁOVIấN DROP CONSTRAINT Tờnđỳng ;

Bõy giờ, giả sử ta muốn khụi phục lại cỏc ràng buộc đú, ta viết cỏc lệnh sau: ALTER TABLE GIÁOVIấN ADD CONSTRAINT Tờnlàkhúa

PRIMARY KEY (Tờn);

ALTER TABLE GIÁOVIấN ADD CONSTRAINT GiỏtrịGT CHECK (Giớitớnh IN (‘F’, ‘M’));

ALTER TABLE GIÁOVIấN ADD CONSTRAINT RightTitle CHECK (Giớitớnh = ‘F’ OR Tờn NOT LIKE ‘Ms.%’ ;

Cỏc ràng buộc này trở thành cỏc ràng buộc dựa trờn bộ chứ khụng cũn là cỏc ràng buộc dựa trờn thuộc tớnh.

Một phần của tài liệu Giáo trình Ngôn ngữ SQL doc (Trang 80 - 81)

Tải bản đầy đủ (PDF)

(177 trang)