CHƯƠNG II : CÁC RÀNG BUỘC VÀ CÁC TRIGGER
2.5 TỔNG KẾT CHƯƠNG II
1ư Cỏc ràng buộc khúa: Chỳng ta cú thể khai bỏo một thuộc tớnh hoặc một tập thuộc tớnh là một khúa với một mụ tả UNIQUE hoặc PRIMARY KEY trong lược đồ quan hệ.
2ư Cỏc ràng buộc toàn vẹn tham chiếu: Chỳng ta cú thể khai bỏo rằng một giỏ trị xuất hiện trong một thuộc tớnh hoặc một tập thuộc tớnh nào đú cũng phải xuất hiện trong cỏc thuộc tớnh tương ứng của một bộ nào đú của một quan hệ khỏc với mụ tả REFERENCE hoặc FOREIGN KEY trong lược đồ quan hệ
3ư Cỏc ràng buộc kiểm tra dựa trờn thuộc tớnh: Chỳng ta cú thể đặt một ràng buộc trờn giỏ trị của một thuộc tớnh bằng cỏch thờm từ khúa CHECK và điều kiện sẽ được kiểm tra vào sau mụ tả của thuộc tớnh này trong lược đồ quan hệ của nú.
4ư Cỏc ràng buộc kiểm tra dựa trờn bộ: Chỳng ta cú thể đặt lờn cỏc bộ của một quan hệ bằng cỏch thờm từ khúa CHECK và điều kiện sẽ được kiểm tra vào mụ tả của chớnh quan hệ đú.
5ư Sửa đổi cỏc ràng buộc: Cú thể thờm và xúa một kiểm tra dự trờn bộ bằng lệnh ALTER đối với bảng thớch hợp.
6ư Assertion: Chỳng ta cú thể khai bỏo một assertion như một thành phần của của lược đồ cơ sở dữ liệu với từ khúa CHECK và một điều kiện sẽ được kiểm tra. Điều kiện này cú thể dớnh dỏng đến một hoặc nhiều quan hệ của lược đồ cơ sở dữ liệu, và cú thể dớnh dỏng đến một quan hệ đầy đủ, chẳng hạn với phộp nhúm cũng như là cỏc điều kiện về cỏc bộ riờng rẽ.
7ư Việc gọi cỏc kiểm tra: Cỏc assertion được kiểm tra mỗi khi cú một thay đổi đối với một trong cỏc quan hệ dớnh dỏng đến. Cỏc kiểm tra dựa trờn bộ và dựa trờn thuộc tớnh chỉ được kiểm tra khi phộp chốn hoặc phộp cập nhật làm thay đổi thuộc tớnh hoặc quan hệ mà cỏc kiểm tra ỏp dụng với chỳng. Như vậy, cỏc ràng buộc này cú thể bị vi phạm nếu chỳng cú cỏc truy vấn con
8ư Trigger: Chuẩn SQL cú cỏc trigger chỉ ra cỏc sự kiện nào đấy (Chốn, xúa hoặc cập nhật một quan hệ cụ thể). Mỗi lần được đỏnh thức, một điều kiện cú thể được kiểm tra và nếu đỳng thỡ một dóy hành động ghi rừ sẽ được thực hiện. Cỏc hành động là cỏc lệnh SQL như là cỏc truy vấn và cập nhật cơ sở dữ liệu.
MỘT SỐ BÀI TẬP
I. Giả sử chỳng ta cú cơ sở dữ liệu sau: Product(maker, model, type)
PC(model, speed, ram, hd, rd, price)
Laptop(model, speed, ram, hd, screen, price) Printer(model, color, type, price)
II. Viết cỏc ràng buộc trờn đõy trờn cỏc thuộc tớnh của cỏc quan hệ trờn: 1) Tốc độ của laptop ớt nhất là 800.
2) Đĩa CD chỉ cú thể là 32x hoặc 40x hoặc đĩa DVD là 12x hoặc 16x. 3) Cỏc mỏy in chỉ cú kiểu là laser, inkưjet hoặc bubble.
4) Chỉ cú cỏc kiểu sản phẩm là PC, laptop và printer.
III. Viết cỏc điều sau đõy như là cỏc trigger hoặc assertion. Trong mỗi trường hợp loại bỏ hoặc khụng cho phộp cỏc cập nhật nếu chỳng khụng thỏa món cỏc ràng buộc.
1) Khi cập nhật giỏ của một PC, hóy kiểm tra rằng khụng cú PC nào cú cựng tốc độ nhưng cú giỏ rẻ hơn.
2) Khụng cú nhà sản xuất PC cú thể sản xuất laptop.
3) Một nhà sản xuất PC phải sản xuất một laptop với ớt nhất một tốc độ bộ xử lý lớn
4) Khi chốn vào một printer mới hóy kiểm tra rằng số model tồn tại trong quan hệ Product.
5) Khi thực hiện một cập nhật bất kỳ trong quan hệ Laptop, hóy kiểm tra rằng giỏ trung bỡnh của cỏc laptop đối với mỗi nhà sản xuất ớt nhất là $2000.
6) Khi sửa đổi RAM hoặc đĩa cứng của một PC bất kỳ, hóy kiểm tra rằng PC được cập nhật cú đĩa cứng nhiều hơn RAM 100 lần.
7) Nếu một laptop cú bộ nhớ chớnh rộng hơn một bộ nhớ một PC thỡ laptop cũng phải cú giỏ cao hơn PC.
8) Khi chốn vào một PC, lap top, hoặc printer mới hóy đảm bảo rằng số model khụng cú xuất hiện trước đú trong cỏc quan hệ PC, Laptop, Printer
9) Nếu quan hệ Product đề cập đến một model và kiểu của nú thỡ model này phải xuất hiện trong quan hệ thớch hợp với kiểu đú.