Cơ sở dữ liệu - Ràng buộc toàn vẹn trên CSDL quan hệ
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
Tóm tắt nội dung Cơ sở dữ liệu - Ràng buộc toàn vẹn trên CSDL quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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ẦM QUAN TRỌNG CỦA RBTV zGiúp CSDL thể hiện trung thực thế giới thực mà CSDL đang mô tả. zNgă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ệ zNguồ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á trị 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: T X S 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: T X 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: ∀m1∈MH, ¬∃m2 ∈MH: m1≠ m2 and m1.TENMH = m2.TENMH z Bc: MH z TAH: T X 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: T X S CĐ_MO + - + (NAM, HK) RB giá trị thuộc tính theo thời gian zDo 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: T X 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: T X S NV + - + (MAPB) PB - + +(MAPB) RB liên thuộ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 (SOĐĐH, NGAYĐAT, SLĐ, ĐGĐ) PGH(SOPG, NGAYGIAO, SOĐĐ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.SOĐĐH = d.SOĐĐH thì d.NGAYĐAT <= p.NGAYGIAO <= d.NGAYĐAT + 7 Bc: ĐĐH, PGH Tah: T X S ĐĐH - - + (NGAYĐAT) PGH + - +(NGAYGIAO, SOĐĐ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: T X S HĐ + - + (SOHĐ) CTHĐ - + +(SOHĐ) RB về thuộ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.MALOPSV) Bc: LOP, SV Tah: T X S LOP + - + (SISO, MALOP) SV + + +(MALOP) RB chu trì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Đ T X S CĐ_NG - + + ĐKY + - +(MASV,MACĐ) SV - - +(MANGANH) HẾT.
File đính kèm:
- Chuong_7_Rang_buoc_toan_ven.pdf