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 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ệ 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. . 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. 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. 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: