Cỏc ràng buộc kiểm tra (CHECK)dựa trờn bộ giỏ trị

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

Để khai bỏo một ràng buộc trờn cỏc bộ của một bảng R, khi chỳng ta định nghĩa bảng đú bằng lệnh CREATE TABLE, chỳng ta cú thể thờm vào danh sỏch cỏc khai bỏo thuộc tớnh, khoỏ và khoỏ ngoài từ khoỏ CHECK theo sau là một điều kiện đặt trong dấu ngoặc. Điều kiện này cú thể là bất cứ cỏi gỡ cú thể xuất hiện trong mệnh đề WHERE. Nú được cài đặt như là một điều kiện về một bộ trong bảng R, và cỏc thuộc tớnh của R cú thể được tham chiếu đến bằng tờn trong biểu thức này. Tuy nhiờn, cũng như đối với cỏc ràng buộc CHECK dựa trờn thuộc tớnh, điều kiện cũng cú thể đề cập đến cỏc quan hệ khỏc hoặc cỏc bộ giỏ trị khỏc của cựng quan hệ R ở trong cỏc truy vấn con. Điều kiện của một ràng buộc CHECK dựa trờn bộ được kiểm tra mỗi khi một bộ được chốn vào R và mỗi khi một bộ của R được cập nhật và được đỏnh giỏ đối với bộ được cập nhật hoặc bộ mới được chốn vào. Nếu điều kiện là sai đối với bộ đú thỡ ràng buộc bị vi phạm và phộp chốn hoặc phộp cập nhật sinh ra sự vi phạm đú sẽ bị loại bỏ. Tuy nhiờn, nếu điều kiện đề cập đến một quan hệ nào đú (thậm chớ đến chớnh R) trong một truy vấn con, và một thay đổi đối với quan hệ này gõy ra việc điều kiện trở thành sai đối với một bộ nào đú của R thỡ kiểm tra khụng ngăn cấm thay đổi đú. Như vậy, giống như một CHECK dựa trờn thuộc tớnh, một CHECK dựa trờn bộ là khụng thấy được đối với cỏc quan hệ khỏc.

Mặc dự cỏc kiểm tra dựa trờn bộ cú thể gồm cỏc điều kiện rất phức tạp nhưng nờn trỏnh trường hợp đú bởi vỡ nú cú thể bị vi phạm dưới cỏc điều kiện nào đấy. Nếu cỏc kiểm tra dựa trờn bộ chỉ chứa cỏc thuộc tớnh của bộ cần kiểm tra thỡ nú luụn luụn đỳng.

Vớ dụ 2.9 Chỳng ta viết lệnh CREATE TABLE đối với quan hệ GIÁOVIấN, trong đú ta thờm vào một ràng buộc: nếu một giỏo viờn là nam giới thỡ tờn của anh ta khụng được bắt đầu bằng “Ms.”:

1) CREATE TABLE GIÁOVIấN ( 2) Tờn CHAR(30) PRIMARY KEY, 3) Địachỉ VARCHAR(255),

5) Ngàysinh DATE,

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

Dũng 6) ở trờn mụ tả ràng buộc. Điều kiện của ràng buộc này là đỳng đối với cỏc giỏo viờn nữ hoặc cỏc giỏo viờn khỏc cú tờn khụng bắt đầu bằng ‘Ms.’. Cỏc bộ làm cho điều kiện trở thành sai là cỏc bộ cú giới tớnh là nam và tờn bắt đầu bằng ‘Ms.’.

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

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

(177 trang)