RÀNG BUỘC TOÀN VẸN TRÊN
CSDL QUAN HỆ
Chương 7
NỘI DUNG
I. Đònh nghóa – Tầm quan trọng của
RBTV
II. Các yếu tố của RBTV
III. Phân lọai RBTV
ĐỊNH NGHĨA
z RBTV (Integrity Constraints) là các
nguyên tắc mà mọi tình trạng CSDL đều
phải thỏa.
z VD: KQ (MASV, MAMH, DIEM)
Điểm là số thực thuộc [0,10] và chính
xác đến 0.5
T
A
À
M QUAN TRO
Ï
NG CU
Û
A
RBTV
z Giúp CSDL thể hiện trung thực thế giới
thực mà CSDL đang mô tả.
z Ngăn chặn những thao tác gây sai trên
CSDL.
) Giúp CSDL luôn đúng đắn.
CÁC YẾU TỐ CỦA RBTV
Có 4 yếu tố:
c. RB liên bộ (liên quan hệ)
d. RB về thuộc tính tổng hợp
e. RB chu trình
RB miền giá
t
rò
z Cho biết các giá trò mà một thuộc tính
có thể nhận lấy.
VD: KQ (MASV, MAMH
, DIEM)
z Pb: Điểm ∈ [0,10] và chính xác đến 0.5
z Bd: ∀k∈KQ, k.DIEM ∈ R and 0<= k.DIEM
<=10 and (k.DIEM*2 – floor(k.DIEM*2))= 0
z Bc: quan hệ KQ
z Tah:
TXS
KQ + - + (DIEM)
RB liên thuộc tính
z Cho biết mối liên hệ giữa các thuộc
tính trong 1 quan hệ
z VD: MH (MAMH, TENMH, STLT, STTH)
z Pb: Số tiết thực hành không lớn hơn số
tiết lý thuyết
z Bd: ∀m∈MH, m.STLT >= m.STTH
z Tah:
TX S
MH + - + (STLT, STTH)
RB liên bộ (1 quan hệ)
z Cho biết mối liên hệ giữa các bộ dữ
liệu trong 1 quan hệ
RB giá trò thuộc tính theo thời gian
z Do thao tác cập nhật gây ra.
z Cho biết mối quan hệ giữa giá trò cũ và
giá trò mới của 1 thuộc tính.
z VD: NV(MANV, TENNV, LUONG,MAPB)
z Pb: Lương của nhân viên chỉ tăng chứ không
giảm.
z Bd: ∀m∈NV, m.LUONG (cũ) <= m.LUONG(mới)
z Bc: NV
z Tah:
TX S
NV - - + (LUONG)
RB khóa ngoại (Tồn tại/ Tham chiếu)
z VD: NV(MANV, TENNV, PHAI, MAPB)
PB (MAPB
, TENPB)
z Pb: Nhân viên phải thuộc phòng ban hợp lệ
z Bd: ∀n∈NV, (n.MAPB = NULL) or (∃p ∈PB: p.MAPB
= n.MAPB)
z Bc: NV, PB
z Tah:
TX S
NV + - + (MAPB)
PB - + +(MAPB)
RB liên
t
huộc
t
ính (liên quan hệ)
z Cho biết mối liên hệ giữa các thuộc tính trên các
t
huộc
t
ính
t
ổng hơ
ï
p
z Cho biết mối liên hệ giữa giá trò 1 thuộc tính của QH
này và số dòng dữ liệu của 1 QH khác.
z Vd: LOP(MALOP, TENLOP, SISO)
SV (MASV
, TENSV, MALOP)
Pb: Só số của 1 lớp = tổng số sinh viên của lớp đó
Bd:
∀l∈LOP,
∀s∈SV: s.MALOP = l.MALOP thì
l.SISO =
ℑ
count(*)
(σ
MALOP = l.MALOP
SV)
Bc: LOP, SV
Tah:
TX S
LOP + - + (SISO, MALOP)
SV + + +(MALOP)
RB chu
t