Bài giảng Cơ sở dữ liệu - Bài 6: Ràng buộc toàn vẹn

Bài 6. RÀNG BUỘC TOÀN VẸN  
1. Tổng quan  
• Ràng buộc toàn vẹn sử dụng các luật  
để định nghĩa các điều kiện đảm bảo  
cho CSDL ở trạng thái an toàn.  
• Ràng buộc toàn vẹn được dùng để  
ngăn ngừa việc đưa dữ liệu không hợp  
lệ vào CSDL.  
Định nghĩa : Ràng buộc toàn vẹn là  
các điều kiện bất biến không được vi  
phạm trong một CSDL.  
RBTV còn được gọi là các quy tắc  
quản lý được áp đặt lên các đối  
tượng của thế giới thực .  
VD :  
- Mỗi sinh viên có một mã sinh  
viên duy nhất để phân biệt với các  
sinh viên khác  
- Điểm HL của mỗi sv không được  
nhỏ hơn0 và lớn hơn 10.  
- Mỗi SV phải thuộc một lớp nào  
đó.  
Các hệ quản trị CSDL thường có  
các cơ chế tự động kiểm tra RBTV  
này.  
Việc kiểm tra RBTV có thể được tiến  
hành vào một trong các thời điểm  
sau :  
- Kiểm tra ngay khi thực hiện một  
thao tác cập nhật ( thêm, sửa , xoá  
,…)  
- Kiểm tra định kỳ hay đột xuất  
2. Cá c yếu tố của RBTV  
á
Khi xác định một RBTV cần chỉ rõ:  
Điều kiện ( tức là nội dung) của  
RBTV, từ đó, xác định cách biểu diễn.  
Bối cảnh xảy ra RBTV: trên một hay  
nhiều quan hệ và cụ thể là trên  
những quan hệ nào.  
Mức độ ảnh hưởng của RBTV.  
Hành động cần phải có khi phát hiện  
ra có RBTV bị vi phạm.  
3. Điều kiện của RBTV  
Điều kiện của RBTV là sự mô tả và  
biểu diễn hình thức và nội dung của  
nó.  
Được biểu diễn bằng ngôn ngữ tự  
nhiên, thuật giải, ngôn ngữ quan hệ  
hoặc bằng các phụ thuộc hàm ,v.v..  
VD:  
R1: Mỗi sinh viên có một mã sinh viên  
duy nhất không trùng với các sinh  
viên khác:  
sv1, sv2 SV, sv1 ≠ sv2  
sv1. SV# ≠ sv2. SV#  
R2: Mọi sv được làm đề tài đều phải  
đạt loại giỏi:  
sd SD, sv SV :  
( sv. HL >=8.0) (sd. SV# =  
sv. SV# )  
4. Bối cảnh của RBTV  
Bối cảnh của một RBTV là tập các  
quan hệ mà khi thao tác trên các  
quan hệ đó có khả năng làm cho  
ràng buộc toàn vẹn bị vi phạm.  
Có thể chia RBTV thành hai loại  
chính theo bối cảnh RBTV :  
RBTV có bối cảnh trên 1 quan hệ  
RBTV có bối cảnh trên nhiều quan  
hệ  
4.1. RBTV có bối cảnh 1 quan hệ  
RBTV miền giá trị.  
RBTV liên bộ  
RBTV liên thuộc tính  
a. RBTV miền giá trị  
á
RBTV miền giá trị qui định tập giá  
trị mà một thuộc tính có thể nhận.  
VD:  
DOM(PHAI) = {‘Nam’, ‘Nữ’}  
Ví dụ 3: Xét lược đồ quan hệ  
•NHANVIEN (MANV, HT, NS, GT, DC,  
LUONG)  
Xét RBTV R2:  
•Nội dung:  
• GT của nhân viên chỉ có thể là  
‘Nam’ hoặc ‘Nữ’  
• n NHANVIEN: n.GT IN  
{‘Nam’,’Nữ’}  
•Bối cảnh: quan hệ NHANVIEN  
Bảng tầm ảnh hưởng (TAH) gồm 4 cột:  
Cột 1 chứa tên các quan hệ liên quan tới RBTV.  
3 cột tiếp theo là tên các thao tác : Thêm / Sửa  
/ Xoá  
Nếu RBTV cần được kiểm tra nguy cơ dẫn tới vi  
phạm dấu gạch chéo (x) hoặc dấu cộng (+) ;  
Có thể chỉ rõ các thuộc tính nào nếu được cập nhật  
mới dẫn đến vi phạm bằng cách liệt kê chúng dưới  
dấu (x) hoặc dấu (+)  
Nếu không có nguy cơ bị vi phạm thì đánh dấu  
trừ (-)  
Nếu không bị vi phạm vì không được phép sửa đổi  
thì kí hiệu là trừ với dấu * : (- (*))  
• Bảng TAH của R2:  
R2 Thêm Xóa  
Sửa  
NHANVIEN +  
-
+(GT)  
b. RBTV liên bộ  
RBTV liên bộ là điều kiện ràng buộc giữa  
các bộ trên cùng một quan hệ  
Ví dụ 5: Xét lược đồ quan hệ:  
• PHONGBAN(MAP, TENP, TP,NGNC)  
Xét RBTV R4:  
• Nội dung:  
• Hai phòng khác nhau sẽ có mã phòng  
khác nhau  
• p1, p2 PHONGBAN: p1 p2  
p1.MAP p2.MAP  
• Bối cảnh: quan hệ PHONGBAN  
• Bảng tầm ảnh hưởng:  
R4  
Thêm Xóa Sửa  
PHONGBAN + - -(*)  
c. RBTV liên thuộc tí nh  
í
RBTV liên thuộc tính là ràng buộc giữa các thuộc  
tính trong cùng một quan hệ  
Ví dụ 7: Xét lược đồ quan hệ  
DEAN (MADA, TDA, DD, PHONG, NGBD_DK,  
NGKT_DK)  
• Xét RBTV R6:  
• Nội dung:  
•
Với mọi đề án, ngày bắt đầu dự kiến  
(NGBD_DK) phải trước ngày kết thúc dự  
kiến (NGKT_DK)  
•
d DEAN, d[NGBD_DK] <= d[NGKT_DK]  
• Bối cảnh: quan hệ DEAN  
• Bảng tầm ảnh hưởng:  
R6 Thêm Xóa  
Sửa  
DEAN +  
- +(NGBD_DK,  
NGKT_DK)  
4.2. RBTV có bối cảnh trên nhiều  
quan hệ  
RBTV tham chiếu  
RBTV liên bộ, liên quan hệ  
RBTV liên thuộc tính, liên quan hệ  
RBTV do thuộc tính tổng hợp  
RBTV do chu trình trong lược đồ biểu  
diễn quan hệ  
a. RBTV tham chiếu  
RBTV tham chiếu là ràng buộc quy  
định giá trị của thuộc tính trong một  
bộ của quan hệ R phải thuộc tập giá trị  
của thuộc tính khóa trong quan hệ S  
khác.  
RBTV tham chiếu còn gọi là ràng  
buộc phụ thuộc tồn tại hay ràng buộc  
khóa ngoại  
Ví dụ 10 : Xét các lược đồ quan hệ  
PHONGBAN (MAP, TENP, TRP, NGNC)  
NHANVIEN (MANV, HT, NS, GT, LUONG)  
• Xét RBTV R9:  
• Nội dung:  
Mỗi trưởng phòng phải là một nhân viên  
trong công ty. p PHONGBAN, n  
NHANVIEN:  
n[MANV] = p[TRP]  
Hay: PHONGBAN[TRP]   
NHANVIEN[MANV])  
Tải về để xem bản đầy đủ
pdf 31 trang Mãnh Khiết 12/01/2024 14321 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Bài 6: Ràng buộc toàn vẹn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_bai_6_rang_buoc_toan_ven.pdf