Tải bản đầy đủ (.pdf) (9 trang)

Chương 7: Ràng buộc toàn vẹn trên csdl quan hệ pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (81.76 KB, 9 trang )

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ố:


z Phát biểu: ngôn ngữ tự nhiên thể hiện ngữ
nghóa của RBTV
z Biểu diễn: ngôn ngữ hình thức, dùng thuật
tóan (mã giả), tóan học, đại số quan hệ, phép
tính quan hệ, để thể hiện
z Bối cảnh: Các quan hệ mà ràng buộc có liên
quan
z Tầm ảnh hưởng: Các thao tác Thêm, Xóa,
Sửa trên các quan hệ (là bối cảnh) có khả
năng gây vi phạm ràng buộc hay không (+ có,
-không)
PHÂN LỌAI RBTV
z Bối cảnh
RB có bối cảnh 1 quan hệ
RB có bối cảnh nhiều quan hệ
z Nguồn gốc
RB là nguyên tắc làm việc: thực tế
RB sinh ra do giải pháp tổ chức dữ liệu
z Sự hỗ trợ khai báo RBTV
Tùy HQT CSDL mà 1 RB có được hỗ trợ
kiểm tra hay không.
PHÂN LỌAI RBTV
1. RB có bối cảnh 1 quan hệ
a. RB miền giá trò
b. RB liên thuộc tính
c. RB liên bộ
d. RB giá trò thuộc tính theo thời gian
2. RB có bối cảnh nhiều quan hệ
a. RB khóa ngoại (Tồn tại/ Tham chiếu)
b. RB liên thuộc tính (liên quan hệ)

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

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ệ

z VD1 : MH (MAMH, TENMH, STLT, STTH)
z Pb: Tên môn học là duy nhất.
z Bd: ∀m
1
∈MH, ¬∃m
2
∈MH: m1≠ m2 and
m
1.
TENMH = m
2
.TENMH
z Bc: MH
z TAH:
TX S
MH + - + (TENMH)
RB liên bộ (1 quan hệ)
z VD2: CĐ_MO(MACĐ, NAM, HK)
z Pb: Không được mở quá 3 chuyên đề
trong 1 học kỳ.
z Bd: ∀m∈CĐ_MO:

count(*)

NAM=m.NAM and HK = m.HK
(CĐ_MO))<=3
z Bc: CĐ_MO
z Tah:
TX S
CĐ_MO + - + (NAM, HK)

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

quan hệ khác nhau.
z VD: ĐĐH (SĐH, NGAAT, SLĐ, ĐGĐ)
PGH(SOPG
, NGAYGIAO, SĐH)
Pb: Không đựơc giao hàng trễ hơn 7 ngày so với ngày
đặt.
Bd: ∀d∈ĐĐH,
∀p∈PGH: p.SĐH = d.SĐH thì
d.NGAAT <= p.NGAYGIAO <= d.NGAAT + 7
Bc: ĐĐH, PGH
Tah:
TX S
ĐĐH - - + (NGAAT)
PGH + - +(NGAYGIAO, SĐH)
RB liên bộ (liên quan hệ)
z Cho biết mối liên hệ giữa các bộ dữ liệu trên
các quan hệ khác nhau.
z VD: HĐ (SOHĐ, NGAYHĐ, TENKH)
CTHĐ (SOHĐ, MAHH, SL, ĐG)
Pb: Trong 1 hóa đơn phải có ít nhất 1 mặt
hàng.
Bd: ∀h∈HĐ, ∃ c∈CTHĐ : c.SOHĐ = h.SOHĐ
Bc: HĐ, CTHĐ
Tah:
TX S
HĐ + - + (SOHĐ)
CTHĐ - + +(SOHĐ)
RB
v


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

r
ì
nh
z SV (MASV, TENSV, MANGANH)
z CĐ_NG(MANGANH, MACĐ)
z ĐKY(MASV, MACĐ, ĐIEM)
z Pb: Sinh viên chỉ được đăng ký các chuyên đề bắt
buộc cho chuyên ngành mà sv đang theo học.
z Bd: Π
MASV,MACĐ
(ĐKY) ⊆ Π
MASV,MACĐ
(SV⋈CĐ_NG)
z Tah:
SV
CĐ_NG
ĐKY
MANGANH
MASV
MACĐ
TX S
CĐ_NG - + +
ĐKY + - +(MASV,MACĐ)
SV - - +(MANGANH)
HẾT.

×