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 đủ
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:
bai_giang_co_so_du_lieu_bai_6_rang_buoc_toan_ven.pdf

