1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 6. Ràng buộc toàn vẹn dữ liệu

38 567 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 280 KB

Nội dung

RBTV Các đặc trưng của RBTV Phân loại RBTV Cài đặt RBTV RBTV là các điều kiện từ ứng dụng thực tế đảm bảo cho CSDL luôn ở trạng thái an toàn. Các điều kiện này phải luôn đúng sau mỗi thao tác làm thay đổi trạng thái của CSDL

Chương Ràng buộc toàn vẹn 11/21/16 Nội dung     RBTV Các đặc trưng RBTV Phân loại RBTV Cài đặt RBTV 11/21/16 RBTV RBTV điều kiện từ ứng dụng thực tế đảm bảo cho CSDL trạng thái an toàn  Các điều kiện phải sau thao tác làm thay đổi trạng thái CSDL  11/21/16 Các đặc trưng RBTV Nội dung Bối cảnh Tầm ảnh hưởng 11/21/16 Nội dung RBTV(1/2)   Nội dung RBTV điều kiện phải thỏa Nội dung RBTV phát biểu ngôn ngữ tự nhiên ngôn ngữ hình thức (phép tính quan hệ, đại số quan hệ, mã giả,…)   Ngôn ngữ tự nhiên: Dễ hiểu không chặt chẽ, logic Ngôn ngữ hình thức: chặt chẽ, cô đọng đôi lúc khó hiểu 11/21/16 Nội dung RBTV (2/2)  Ví dụ 1: Một RBTV R1 phát biểu ngôn ngữ tự nhiên sau:    Tổng số làm việc nhân viên không vượt 45 giờ/tuần Điều kiện phát biểu lại ngôn ngữ hình thức sau: ∀ n ∈ NHANVIEN, ∑ (p∈PHANCONG∧p.MANV=n.MANV) p.THOIGIAN ≤ 45 11/21/16 Bối cảnh RBTV Bối cảnh RBTV tập quan hệ mà thao tác quan hệ có khả làm cho ràng buộc toàn vẹn bị vi phạm Ví dụ: Bối cảnh RBTV R1 ví dụ quan hệ PHANCONG 11/21/16 Tầm ảnh hưởng (1/2) Tầm ảnh hưởng RBTV biểu diễn bảng hai chiều gọi bảng tầm ảnh hưởng 11/21/16 Tầm ảnh hưởng RBTV (2/2) Bảng tầm ảnh hưởng RBTV có dạng sau: Ri Thêm Xóa Sửa Quan hệ + + - (*) - - +(A) ……… Quan hệ n Ký hiệu + : Có thể gây vi phạm RBTV Ký hiệu : Không thể gây vi phạm RBTV Ký hiệu +(A) : Có thể gây vi phạm RBTV thao tác thuộc tính A Ký hiệu –(*) : Không thể gây vi phạm RBTV thao tác không thực 11/21/16 Phân loại RBTV  RBTV có bối cảnh quan hệ  RBTV có bối cảnh nhiều quan hệ 11/21/16 10 RVTV tham chiếu (4/6)    Ví dụ 10 : Xét lược đồ quan hệ PHONGBAN (MAPHG, TENPHG, TRPHG, NGNC) NHANVIEN (MANV, HONV, TENLOT, TENNV, NGSINH, PHAI, DCHI, MA_NQL, PHONG, MLUONG)   Xét RBTV R9: Nội dung:  Mỗi trưởng phòng phải nhân viên công ty  ∀p ∈ PHONGBAN, ∃n ∈ NHANVIEN:  n[MANV] = p[TRPHG] Hay: PHONGBAN[TRPHG] ⊆ NHANVIEN[MANV]) 11/21/16 24 RVTV tham chiếu (5/6)   Bối cảnh: NHANVIEN, PHONGBAN Bảng tầm ảnh hưởng: R9 Thêm Xóa Sửa PHONGBAN + - +(TRPHG) NHANVIEN - + - (*) 11/21/16 25 RVTV tham chiếu (6/6)   RBTV tham chiếu thường có bối cảnh quan hệ  Bối cảnh RBTV tham chiếu quan hệ không? Nếu có, cho ví dụ minh họa 11/21/16 26 RBTV liên bộ, liên quan hệ (1/2)       RBTV liên bộ, liên quan hệ điều kiện nhiều quan hệ khác Ví dụ 11 : Xét lược đồ quan hệ PHONGBAN (MAPHG, TENPHG, TRPHG, NGNC) DIADIEM_PHG (MAPHG, DIADIEM) Xét RBTV R10: Nội dung:    Mỗi phòng ban phải có địa điểm phòng ∀p ∈ PHONGBAN, ∃d ∈ DIADIEM_PHG: p.MAPHG = d.MAPHG 11/21/16 27 RBTV liên bộ, liên quan hệ (2/2)   Bối cảnh: PHONGBAN, DIADIEM_PHG Bảng tầm ảnh hưởng: R10 Thêm Xóa Sửa PHONGBAN - - - DIADIEM_PHG - + + (MAPHG) 11/21/16 28 Bài tập Xét lược đồ quan hệ sau: HOADON(SOHD, MAKH, NGAYLAP) CHITIET_HD(SOHD, MAHH, SL, GIABAN)  11/21/16 29 RBTV liên thuộc tính, liên quan hệ (1/2)   RBTV liên thuộc tính, liên quan hệ điều kiện thuộc tính nhiều quan hệ khác Ví dụ 12 :Xét lược đồ quan hệ     DATHANG(MADH, MAKH, NGAYDH) GIAOHANG(MAGH, MADH, NGAYGH) Xét RBTV R11: Nội dung:   Ngày giao hàng không trước ngày đặt hàng ∀g∈GIAO_HANG, ∃!d∈DAT_HANG:d[MADH]=g[MADH] ∧ d[NGAYDH] ≤ g[NGAYGH] 11/21/16 30 RBTV liên thuộc tính, liên quan hệ (2/2)   Bối cảnh: DATHANG, GIAOHANG Bảng tầm ảnh hưởng: R11 Thêm Xóa Sửa DATHANG - - + (ngaydh) GIAOHANG + - + (ngaygh) 11/21/16 31 Bài tập: Cho lược đồ sở liệu quản lý thư viện     THỂ_LOẠI (MATL, TENTL) Tân từ: Mỗi thể loại sách có mã số (MATL) để phân biệt với thể loại khác có tên thể loại (TENTL) SÁCH (MASH, TENSH, TACGIA, DONGIA, MATL) Tân từ: Mỗi sách có mã số sách (MASH) để phân biệt với sách khác, có tên sách (TENSH), tên tác giả (TACGIA) thuộc thể loại sách THẺ_ĐG (MADG, TENDG, DIACHI, NGAYCAP) Tân từ: Mỗi đọc giả có mã số (MADG) để phân biệt với đọc giả khác, có họ tên (TENDG), địa (DIACHI) ngày cấp thẻ (NGAYCAP) PHIẾU_MƯỢN (MADG, MASH, NGAYMUON, NGAYTRA) Tân từ: Mỗi phiếu mượn cho biết đọc giả (MADG) mượn sách vào ngày (NGAYMUON) trả sách vào ngày (NGAYTRA) 11/21/16 32 RBTV thuộc tính tổng hợp (1/3)   Thuộc tính tổng hợp thuộc tính tính toán từ giá trị thuộc tính khác trạng thái CSDL Khi có thuộc tính tổng hợp, cần phải có RBTV để đảm bảo mối quan hệ nguồn mà tính toán từ 11/21/16 33 RBTV thuộc tính tổng hợp (2/3)  Ví dụ 13 :Xét lược đồ quan hệ     PXUAT(SOPHIEU, NGAY, TONGTRIGIA) CTIET_PX(SOPHIEU, MAHANG, SL, DG) Xét RBTV R12: Nội dung:  Tổng trị giá phiếu xuất phải tổng trị giá chi tiết xuất  ∀px∈PXUAT, Σ  px.TONGTRIGIA = (ct ∈ CTIET_PX ∧ ct.SOPHIEU = px.SOPHIEU) ct.SL * ct.DG Bối cảnh: PXUAT,CTIET_PX 11/21/16 34 RBTV thuộc tính tổng hợp (3/3)   Bảng tầm ảnh hưởng: R12 Thêm Xóa Sửa PXUAT -(*) - + (tongtrigia) CTIET_PX + + + (sl,dg) -(*) Ở thời điểm thêm vào PXUAT, giá trị TONGTRIGIA trống 11/21/16 35 RBTV có chu trình (1/3) 11/21/16 36 RBTV có chu trình (2/3)  Ví dụ 14 :Xét lược đồ quan hệ      CA_TH (MA_CATH, LOP) DANGKY_LT (SV, LOP) DANKY_TH (SV, MA_CATH) Xét RBTV R13: Nội dung:    Mỗi sinh viên phép đăng ký ca thực hành lớp lý thuyết mà đăng ký ∀d ∈ DANGKY_TH: ∃k ∈ (DANGKY_LT∗ CA_TH): k[SV, MA_CATH] = d[SV,MA_CATH] Hay: DANGKY_TH[SV,MA_CATH] ⊆ (DANGKY_LT ∗ CA_TH) [SV,MA_CATH] 11/21/16 37 RBTV có chu trình (3/3)   Bối cảnh: CA_TH,DANGKY_LT,DANGKY_TH Bảng tầm ảnh hưởng: R13 Thêm Xóa Sửa CA_TH - + + DANGKY_LT - - + DANGKY_TH + - + 11/21/16 38 [...]... do chu trình trong lược đồ biểu diễn quan hệ 11/21/16 20 RBTV tham chiếu (1/6)   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 11/21/16 21 RBTV tham chiếu (2/6)  Ví dụ 9 : Xét lược đồ quan hệ NhanVien, ThanNhan ... (NGKT_DK) ∀d ∈ DEAN, d[NGBD_DK]

Ngày đăng: 21/11/2016, 08:56

TỪ KHÓA LIÊN QUAN