Bài giảng Lý thuyết cơ sở dữ liệu - Chương 4: Phụ thuộc hàm cung cấp cho học viên những kiến thức về định nghĩa phụ thuộc hàm; biểu diễn phụ thuộc hàm; hệ tiên đề Amstrong; bao đóng - closure; tập phụ thuộc hàm tương đương;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
CHƯƠNG IV: PHỤ THUỘC HËM I Giới thiệu ¡ Functional Dependency ¡ Phụ thuộc hàm khái niệm xây dựng để mô tả ràng buộc logic CSDL - công cụ để biểu diễn ràng buộc logic thuộc tính quan hệ 8/9/21 8:06 AM *Định nghĩa PTH ¡Cho quan hệ R(U), U = {A1, A2,…An} tập thuộc tính Cho X,Y tập thuộc tính thuộc U ¡Nói X xác định hàm Y hay Y phụ thuộc hàm vào X, ký hiệu X®Y, với quan hệ (bộ) r xác định R(U) với hai t1 t2 mà t1[X] = t2[X] t1[Y] = t2[Y] ¡Cách đọc khác: X xác định Y (hay X kéo theo Y) -X gọi vế trái PTH, Y vế phải acủa PTH ¡Ký hiệu: F:= { f : Lj → Rj | Lj, Rj ! Ω } tập phụ thuộc hàm thuộc tính Ω 8/9/21 8:06 AM ¡ Ví dụ: HOADON (soHD, NgayLap, TongGiaTri) CHITIET_HOADON (SoHD, MaHang, SoLuong, DonGia, ThanhTien) - SoHD ® NgayLap SoHD ® TongGiaTri SoHD, MaHang ® SoLuong SoHD, MaHang ® DonGia SoHD, MaHang ® ThanhTien 8/9/21 8:06 AM ¡ Biểu diễn phụ thuộc hàm: - Liệt kê thuộc tính, dùng đường nối mũi tên từ thuộc tính vế trái đến thuộc tính vế phải tất phụ thuộc hàm ¡ Ví dụ: MƯỢN( Sốthẻ, Mãsốsách, Tênngườimượn, Tênsách, Ngàymượn ) - Với phụ thuộc hàm: FD1: Sốthẻ ® Tênngườimượn FD2: Mãsốsách ® Tênsách FD3: Sốthẻ, Mãsốsách ® Ngàymượn ¡ Có sơ đồ phụ thuộc hàm sau: Sốthẻ Mã số sách Tên người mượn Tên sách Ngàymượn FD2 FD1 FD3 8/9/21 8:06 AM II Hệ ti•n đề Amstrong ¡ Năm 1974, Amstrong đưa hệ luật dẫn hay tính chất phụ thuộc hàm, gọi hệ tiên đề Amstrong ¡ Hệ tiên đề Amstrong gồm nguyên tắc biến đổi PTH 8/9/21 8:06 AM 13 * Hệ ti•n đề Amstrong: ¡ Cho X, Y, Z, W Í U Ký hiệu: XY = XÈY Ta có luật sau : Luật phản xạ: Nếu Y Í X X® Y MaNV, HoTen, NgaySinh ® HoTen, NgaySinh VD: Luật bổ sung - gia tăng: Nếu X®Y XZ®YZ MaNV, NgaySinh ® HoTen, NgaySinh VD: Nếu MaNV ® HoTen Luật bắc cầu: Nếu X®Y Y®Z X® Z VD: Nếu có MaNV, Hoten ® MaP MaP ® TenPhong,DiaChi MaNV, Hoten ® TenPhong, DiaChi Luật tựa bắc cầu: Nếu X®Y WY®Z XW®Z VD: MaNV ® HoTen HoTen, NgaySinh ® HSL MaNV, NgaySinh ® HSL Luật hợp: Nếu X®Y X®Z X®YZ VD: MaSV ® HoTen, MaSV ® NgaySinh MaSV ® HoTen, NgaySinh Luật tách: Nếu X®Y Z Í Y X®Z VD: MaSV ® HoTen, NgaySinh MaSV ® HoTen, MaSV ® NgaySinh 8/9/21 8:06 AM 14 ¡ Ví dụ: Cho R = {ABC} tập F = { AB®C, C®A } Áp dụng hệ tiên đề Amstrong CMR: BC®ABC Thực hiện: Từ C ® A Có: BC ® AB (luật tăng cường thêm B) Từ AB ® C Có: AB ® ABC (luật tăng cường thêm AB) Có BC ® ABC (bắc cầu từ (2) (4)) Vậy tồn BC®ABC 8/9/21 8:06 AM 17 ¡ Ví dụ: Cho R = { A, B, C, E, F } F= { AB C, C B , ABC E, F A } Áp dụng hệ tiên đề Amstrong CMR: FB E 8/9/21 8:06 AM 18 III Bao đ—ng - Closure Các khái niệm ¡ Gọi F tập pth tập thuộc tính U, X Í U ¡ Bao đóng tập thuộc tính X: tất thuộc tính A mà phụ thuộc hàm X ® A suy diễn logic từ F nhờ hệ tiên đề Amstrong Kí hiệu: X+ X+ = { AẻU | X đ A ẻ F+ } ó Là tập tất thuộc tính A mà suy từ X ¡ Bao đóng phụ thuộc hàm: tập tất PTH suy diễn logic từ tập pth F - F+ := {X→Y | X,Y !U X→Y suy dẫn logic từ F} Nếu F+ = F F họ đầy đủ pth 8/9/21 8:06 AM 20 V’ dụ: ¡ Cho LĐQH với R = {ABCDEF} tập PTH F = {AB®C, C®D, AD®E, F®A} ¡ Tìm khóa lược đồ quan hệ 8/9/21 8:06 AM 47 Thuật to‡n t“m tất c‡c kh—a ¡ Tập thuộc tính nguồn (TN) - thuộc tính xuất vế trái, không xuất vế phải pth - thuộc tính khơng xuất vế trái lẫn vế phải pth ¡ Tập thuộc tính đích (TĐ) - thuộc tính xuất vế phải không xuất vế trái pth ¡ Tập thuộc tính trung gian (TG) - Các thuộc tính vế trái lẫn vế phải pth 8/9/21 8:06 AM 53 * Thuật to‡n t“m tất c‡c kh—a ¡ Bước 1: Tính tập TN tập TG ¡ Bước 2: - Nếu TG = 0(rỗng) K = TN => kết thúc tìm khóa - Ngược lại qua bước ¡ Bước 3: Tính TN! - Nếu TN! = U, kết luận có khóa TN - Ngược lại qua bước ¡ Bước 4: tìm tất tập Xi tập trung gian (TG) TG={A,B} => X1={}; X2={A}; X3={B}; X4={AB} ¡ Bước 5: tìm siêu khóa Si theo ngun tắc (TN U Xi)+ = Q+ Si = TN U {Xi} ¡ Bước 6: tìm Khóa cách loại bỏ siêu khóa khơng tối thiểu (loại bỏ siêu khố chứa/bao phủ siêu khố khác) ó xác định siêu khóa tối thiểu khố lược đồ 8/9/21 8:06 AM 55 V’ dụ ¡ Ví dụ: Cho LĐQH Q(ABCDEG) F = {EC→B, AB→C, EB→D, BG→A, AE→G} Xác định tất khóa Q 8/9/21 8:06 AM 59 V’ dụ ¡ Cho tập thuộc tính ABCD PTH F = { A ® BC, B ® C, AB ® D} Xác định tất khóa lược đồ 8/9/21 8:06 AM 60 V’ dụ ¡ Bài 1: Cho lđqh Q(ABCDEG) F = { AE ® C; CG ® A; BD ® G, GA ® E } - Xác định tất khoá Q ¡ Bài 2: Cho lđqh Q(ABCDEG) F = { EC ® B; AB ® C; EB ® D, BG ® A; AE ® G } Xác định tất khoá Q ¡ Bài 3: Cho lđqh Q(ABCDEG) F = {AB ® C; D ® EG; C ® A; BE ® C; BC ® D; CG ® BD; ACD ® B; CE ® AG } - Xác định tất khoá Q 8/9/21 8:06 AM 61 VII Thuộc t’nh dư thừa ¡ Cho F = {Lj → Rj: Lj, Rj ! Ω} ¡ Định nghĩa: ü Cho phụ thuộc hàm thuộc F có dạng A1A2 → B (vế trái phụ thuộc hàm gồm nhiều thuộc tính) ü Nói thuộc tính A1 dư thừa vế trái G+ := F – {A1A2 → B} ∪ {A2 → B} ≅ F+ § Nói cách khác thuộc tính A1 vế trái phụ thuộc A1A2 → B dư thừa, thay A1A2 → B A2 → B bao đóng F+ khơng thay đổi 8/9/21 8:06 AM 62 Thuật to‡n loại bỏ thuộc t’nh dư thừa ¡ XŽt phụ thuộc c— dạng A1A2 ! B ∈ G (kiểm tra c‡c PTH c— vế tr‡i c— nhiều thuộc t’nh) ¡ Giả sử A1 lˆ thuộc t’nh dự thừa, Loại bỏ tạm thời thuộc t’nh A1 A1 A2 ! B T’nh: (A2)+ dựa tr•n F Kiểm tra: *Nếu B ⊆(A2)+ th“ A1 lˆ thuộc t’nh dư thừa *Ngược lại, A1 kh™ng dư thừa 8/9/21 8:06 AM 63 V’ dụ ¡ Cho lược đồ quan hệ: a= - U = {A,B,C,D,E,G,H} - F ={AàD, ABàDE, CEàG, E H} ¡ Y/c: Loại bỏ thuộc tính dư thừa VT PTH 8/9/21 8:06 AM 65 ¡ Ví dụ: Cho F = { AB ® CD, B ® C, C ® D } - Kiểm tra xem F có chứa PTH có vế trái dư thừa hay khơng? 8/9/21 8:06 AM 67 VII Tập PTH tối thiểu ¡Định nghĩa: tập pth F gọi tập phụ thuộc hàm tối thiểu nếu: -Khơng có thuộc tính vế trái dư thừa -Khơng có thuộc tính vế phải dư thừa Mọi vế phải pth F có thuộc tính -Khơng có phụ thuộc hàm F dư thừa 8/9/21 8:06 AM 68 *Thuật to‡n t“m PTH tối thiểu -Bước 1: Loại khỏi F PTH có thuộc tính vế trái dư thừa -Bước 2: Đưa tất PTH F dạng PTH vế phải có thuộc tính -Bước 3: Loại khỏi F PTH dư thừa 8/9/21 8:06 AM 73 V’ dụ: ¡ Cho tập thuộc tính R = {P,C,H,A,R,T} tập phụ thuộc hàm F sau: - F = { P → CHART, CH → PART, C → T, A → R } - Tìm tập PTH tối thiểu 8/9/21 8:06 AM 76 ¡ Ví dụ: - Cho tập U={A,B,C,D,E} F = { A ®C, BD ®E, B ®D, B ®E, C ®AD } - Tìm tập PTH tối thiểu F 8/9/21 8:06 AM 81 KIỂM TRA Ð 6/3/2021 ¡ Cho lược đồ quan hệ R= < U, F> với U = (ABCDEGH) tập phụ thuộc hàm F ¡ F = {A D, AB DE, CE àG, H} - Tìm tất khóa lược đồ - Loại bỏ thuộc tính VT dư thừa (nếu có) ¡ Yêu cầu: ¡ Làm file word nộp lên hệ thống LMS (trước 11H15) ¡ Trong file gồm: họ tên đầy đủ ¡ Yêu cầu đặt tên file: CSDL-ST7-MSV-Họ tên.docx 8/9/21 8:06 AM 83 ... {AB->C; D->EG; C->A; BE->C; BC->D; CG->BD; ACD->B; CE->AG } Cho X = AD Tính bao đóng (AD)+ 8/9/21 8:06 AM 25 Bˆi to‡n thˆnh vi•n ¡ Dùng để xác định phụ thuộc hàm có thành viên tập phụ thuộc hàm. .. tập pth F gọi tập phụ thuộc hàm tối thiểu nếu: -Khơng có thuộc tính vế trái dư thừa -Khơng có thuộc tính vế phải dư thừa Mọi vế phải pth F có thuộc tính -Khơng có phụ thuộc hàm F dư thừa 8/9/21... nghĩa: ü Cho phụ thuộc hàm thuộc F có dạng A1A2 → B (vế trái phụ thuộc hàm gồm nhiều thuộc tính) ü Nói thuộc tính A1 dư thừa vế trái G+ := F – {A1A2 → B} ∪ {A2 → B} ≅ F+ § Nói cách khác thuộc tính