Tài liệu slide bài giảng CSDL liên quan đến phần Phụ thuộc hàm, bao gồm các nội dung: Định nghĩa Biểu diễn PTH bằng đồ thị Suy diễn logic các PTH Hệ tiên đề Amstrong Bao đóng Bao đóng của tập thuộc tính Khóa Thuật toán tìm khóa Phủ tối thiểu
CCƠƠ SỞ DỮ LI Ệ USỞ DỮ LI Ệ U ỆỆ GV: ThS. Lê Thị NgọcThảo Chương 5: Phụ thuộchàm(PTH) 5.1. Định nghĩa ể ằ ồ 5.2. Bi ể udiễnPTH b ằ ng đ ồ thị 5.3. Suy diễn logic các PTH 5.4. Hệ tiên đề Amstrong 5.5. Bao đóng 5.6. Bao đóng củatậpthuộctính 5.7. Khóa - Thu ậ t toán tìm khóa ậ 5.8. Phủ tốithiểu www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 22 5.1. Định nghĩa PTH: L à sự biểu diễn RBTV dưới hình thức toán học L à sự biểu diễn RBTV dưới hình thức toán học Bảo đảm thông tin không bị tổnthất khi phân rã hoặckếtnốigiữa các quan hệ. Quan hệ R được định nghĩa trên tậpthuộctính U = { A1, A2, , An}. A, B ⊂ Ulà2tậpconcủatậpthuộctínhU. Nếutồntạimộtánhxạ f: A → B thì nói rằng A xác định hàm B, hay B PTH vào A. Ký hiệu: A → B. 33 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 5.1. Định nghĩa (tt) Định nghĩahìnhthứccủaPTH: Quan hệ Q (A, B, C) có PTH A xác đ ịnh B Quan hệ Q (A, B, C) có PTH A xác đ ịnh B (ký hiệulàA → B) nếu: ∀ q, q’ ∈ Q, sao cho q.A = q’.A thì q.B = q’.B Nghĩalà: ứng với1 giátrị củaA thìcómột giá trị duy nhấtcủaB ế ế A là v ế trái của PTH, B là v ế phảicủaPTH PTH A → A đượcgọilàPTH hiển nhiên. 44 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 5.1. Định nghĩa (tt) Ví dụ 1: Trong quan hệ Sinhvien (Masv, Hoten, Phai, N g Sinh, Que q uan, Diachi) g q Có các PTH sau: • Masv Æ Quequan, Diachi • Masv, Hoten Æ Ngsinh, Quequan Không có các PTH sau: • Hoten Æ Ngsinh, Quequan 55 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 5.1. Định nghĩa (tt) Ví dụ 2: Trong QuanHệ CHITIẾT_HĐ (Số-hóa- đơ n, Mã - hàng , Số - l ư ợng , Đ ơ n - giá , Trị - giá ) đơ n, Mã hàng , Số l ư ợng , Đ ơ n giá , Trị giá ) Có các PTH sau : • f1: Số - hóa - đơ n Mã - hàng → Số - l ư ợng f1: Số hóa đơ n , Mã hàng → Số l ư ợng • f2: Số-hóa-đơn, Mã-hàng → Đơn-giá. • f3: Số - hóa - đơ n Mã - hàng → Trị - giá • f3: Số - hóa - đơ n , Mã - hàng → Trị - giá . • f4: Số-lượng, Đơn-giá → Trị-giá. 66 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 5.2. BiểudiễnPTH bằng đồ thị PTH có thể biểudiễnbằng đồ thị có hướng: Các nút trong đ ồ thị chia thành 2 loại : Các nút trong đ ồ thị chia thành 2 loại : • Nút thuộc tính: biểudiễnbằng tên thuộc tính • N út PTH: bi ể udiễnb ằ n g hình tròn có s ố th ứ t ự của g ự PTH. Các cung trong đồ thị cũng có 2 loại: Cung đếnPTH: xuất phát từ các thuộctínhở vế trái của các PTH C ời PTH h ớ đ ế á th ộ tí h ở ế hải C ung r ời PTH : h ư ớ ng đ ế nc á c th u ộ c tí n h ở v ế p hải của các PTH 77 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 5.2. BiểudiễnPTH bằng đồ thị R (A, B, C, D, E, H) F = {AB → C, CD → E, EC → A, CD → H, H → B} F {AB → C, CD → E, EC → A, CD → H, H → B } 88 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.2. BiểudiễnPTH bằng đồ thị R (A, B, C, D, E, G) F = {A→C; B→DE; AB→G; A→ED; D→E } 99 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.3. Suy diễn logic các PTH Cho lược đồ quan hệ R vớitậpthuộc tính U và tập các PTH F . tập các PTH F . X → Y là 1 PTH; X,Y ⊆ U. Ta nói rằng X → Y đư ợc suy diễn lôgic từ F nếu Ta nói rằng X → Y đư ợc suy diễn lôgic từ F nếu ∀r ∈R, nếur thỏatấtcả các PTH trong F thì r cũng thỏaX → Y Ký hiệulà: F ⎟= X → Y. 1010 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.3. Suy diễn logic các PTH Ví dụ: Với F = {X → Y, X → Z, Y → T} Với F {X → Y, X → Z, Y → T } Thì ta có các PTH: X → YZ và X → T. 1111 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.4. Hệ tiên đề Amstrong Năm 1974, Amstrong đã đưa ra hệ tiên đề (gọilà hệ luật dẫn Amstrong ) : Cho l ư ợc đ ồ quan hệ Q hệ luật dẫn Amstrong ) : Cho l ư ợc đ ồ quan hệ Q vớitậpthuộc tính U. X, Y, Z, W ⊆ U. PTH có các tính chất cơ bản sau: A1: Tính phảnxạ: NếuY ⊆ X thì X → Y A2: Tính tăng trưởng: NếuX → Y thì XZ → YZ (Z ⊆ U) ắ ầ A3: Tính bắ cc ầ u: NếuX → Y và Y → Z thì X → Z 1212 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.4. Hệ tiên đề Amstrong Ví dụ 1: Cho F = { AB Æ C , C ÆA } . CMR: BC Æ ABC { , } Ta có: (1) C Æ A (giả thiết) (2) BC Æ AB (tăn g trưởn g 1) ( 3 ) AB Æ C ( g iả thiết ) () ( g ) (4) AB Æ ABC (tăng trưởng 3) (5) BC Æ ABC ( bắ ầ 2&4) (5) BC Æ ABC ( bắ cc ầ u 2 & 4) 1313 www.tdt.edu.vn www.tdt.edu.vn CCơơ SởSở DữDữ LiệuLiệu 5.4. Hệ tiên đề Amstrong Ví dụ 2: 1/ Cho F = {A Æ B, BC ÆD }. CMR: AC Æ BCD 2 / C h o F = { A Æ B C, A C ÆD }. /C o { C, C }. CMR: AC Æ BCD 1414 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.4. Hệ tiên đề Amstrong Các tính chất bổ sung: A4: Luật giả bắc cầu : A4: Luật giả bắc cầu : NếuX → Y và YZ → W thì XZ → W A5: Luật hợp : A5: Luật hợp : NếuX → Y và X → Z thì X → YZ A6: Luật tách : A6: Luật tách : NếuX → YZ thì X → Y và X → Z 1515 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.4. Hệ tiên đề Amstrong Ví dụ: Cho R(A,B,C,D,E,G,H). CMR: AB→Evới F= { AB→C , B→D , CD→E , CE→GH , G→A } . { , , , , } Ta có: (1) AB→C(chotrước) (2) AB → AB ( phản xạ ) (2) AB → AB ( phản xạ ) (3) AB→B(luật tách) (4) B D (h ớ ) (4) B → D ( c h o tr ư ớ c ) (5) AB→D(bắccầu3 & 4) (6) AB→CD (hợp1 & 5) (7) CD→E (cho trước) 1616 (8) AB→E(bắc cầu 6 & 7) www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.4. Hệ tiên đề Amstrong Ví dụ: Cho R(A,B,C,D,E,G,H,I,J). F= { AB→E , AG→J , BE→I , E→G , GI→H } { , , , , } CMR: AB→GH 1) AB→E(chotrước – f1) 2) AB→AB (phảnxạ) 3) AB B ( áh ) 3) AB → B ( t á c h ) 4) AB→BE (hợpcủa1 & 3) 5) BE→I(chotrước - f3) ắ ầ 6) AB→I( bắ cc ầ u4 & 5) 7) E→G(chotrước - f4) 8) AB→G(bắccầu1 & 7) Lời giải 9) AB→GI (hợp6 & 8) 10) GI→H(chotrước - f5) 11) AB→H(bắccầu 9 & 10) 1717 12) AB→GH (hợp8 & 11) www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.5. Bao đóng (Closure) GọiF + là bao đóng (Closure) củaF, tứclàtập các PTH đư ợc suy diễn lôgic từ F. các PTH đư ợc suy diễn lôgic từ F. NếuF = F + thì ta nói F là họđầy đủ (full family) của các PTH của các PTH . 1818 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.5. Bao đóng (Closure) Bài toán thành viên (MemberShip): Kiểm tra PTH X → Y có đư ợc suy diễn lôgíc từ F Kiểm tra PTH X → Y có đư ợc suy diễn lôgíc từ F không? (tứclàX → Y ∈ F + ? ) Đâ là ột bài tá khó iải Đâ y là m ột bài t o á n khó g iải . Đòi hỏiphảicómộthệ luậtdẫn để suy diễn lôgic á PTH c á c PTH . 1919 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu 5.5. Bao đóng (Closure) Bài toán thành viên – Ví dụ: Cho Q(ABCDEG). F = { AE → C , CG → A , BD → G , GA → E } { , , , } CMR: BDC → Q + ∈ F + (Q + = ABCDEG + ) Ta có : ( 1) BDC → BD C ( phản xạ ) Ta có : ( 1) BDC → BD C ( phản xạ ) (2) BD→G(giả thiếtf3) (3) CG A ( iả hiế f2) (3) CG → A ( g iả t hiế t f2) (4) BDC→A(giả bắccầu2,3) (5) BDC→GA (hợp 2 & 4) (6) BDC→E(bắccầu 5 & f4) 2020 (7) BDC→Q + (hợp 1,2,4,6) www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu [...]... Cơ Sở Dữ Liệu 23 5.6 Bao đóng của tập thuộc tính Tìm bao đóng của tập thuộc tính – Ví dụ 1 Cho R(U) với U=ABCDEG F = {AB D C, C EG, BE A, BC C, CG D, ACD BD, CE B, AG } Tính X+F , với: X= D X= BD www.tdt.edu.vn 24 Cơ Sở Dữ Liệu 5.6 Bao đóng của tập thuộc tính Tìm bao đóng của tập thuộc tính – Ví dụ 1 Xi X0= D X1= DEG X2= DEG D D Tập PTH EG EG Xi+1 DEG DEG D+ = DEG www.tdt.edu.vn Cơ Sở Dữ Liệu 25 5.6... đóng của tập thuộc tính Định nghĩa: Bao đóng ủ ậ h ộ í h B đó của tập thuộc tính X đối với tập các PTH ới ậ á F (ký hiệu: X+F ) là tập tất cả các thuộc tính A có thể suy dẫ từ X nhờ tậ b đó của F (F+) dẫn hờ tập bao đóng ủ X+F = { A ⏐ X → A ∈ F+ } Nhận xét: 1) X ⊆ X+F ) 2) X → A ∈ F+ ⇔ A ⊆ X+F www.tdt.edu.vn 21 Cơ Sở Dữ Liệu 5.6 Bao đóng của tập thuộc tính Thuật toán Tìm bao đóng của tập thuộc tính Input:... lớn www.tdt.edu.vn 31 Cơ Sở Dữ Liệu 5.7 Khóa – Thuật toán tìm khóa Bài Toán Tìm khóa – Thuật toán cải tiến: Chúng ta sẽ cải tiến thuật toán dựa trên việc phân loại tập thuộc tính R+ A gọi là thuộc tính nguồn nếu A không xuất hiện gọ ộ g g ệ ở vế phải của bất kỳ PTH không hiển nhiên nào của F Tập các thuộc tính nguồn ký hiệu là N A gọi là thuộc tính đích nếu A không phải thuộc tính nguồn và A không xuất... www.tdt.edu.vn Cơ Sở Dữ Liệu 25 5.6 Bao đóng của tập thuộc tính Tìm bao đóng của tập thuộc tính – Ví dụ 1 Xi X0= BD X1= BDEG X2= BCDEG X3= ABCDEG X4= ABCDEG Tập PTH D EG D EG BE C EG, C A, BC D, D EG BE C EG, C, CG BD, CE AG Tất cả ả Xi+1 BDEG BCDEG ABCDEG ABCDEG BD+ = ABCDEG www.tdt.edu.vn 26 Cơ Sở Dữ Liệu 5.6 Bao đóng của tập thuộc tính Tìm bao đóng của tập thuộc tính – Ví dụ 2 Cho R(u) với u=ABCDEGH u... các thuộc tính đích ký hiệu là D www.tdt.edu.vn 32 Cơ Sở Dữ Liệu 5.7 Khóa – Thuật toán tìm khóa Bài Toán Tìm khóa – Thuật toán cải tiến: Tập hợp các thuộc tính không phải nguồn và không phải đích gọi là tập trung gian Ký hiệu là L ập ợp , , g ộ Các tập hợp N, D, L rời nhau từng đôi một và N ∪ D ∪ L = R+ Nhận xét ậ Nếu K là khóa của R thì K chứa tất cả các thuộc tính nguồn và không chứa bất kỳ thuộc. .. Bao đóng của tập thuộc tính Thuật toán Tìm bao đóng của tập thuộc tính Input: Tập U hữu hạn các thuộc tính & tập các PTH F trên U & X ⊆ U Output: X+F Phương pháp: Tính liên tiếp X0, X1, X2, … theo quy tắc như sau: www.tdt.edu.vn 22 Cơ Sở Dữ Liệu 5.6 Bao đóng của tập thuộc tính Thuật toán Tìm bao đóng của tập thuộc tính Bước 1 X0 = X 1 Bước 2 Xi+1 = Xi ∪ A sao cho ∃ (Y Z ) ∈ F, mà A ∈ Z và Y ∈ Xi à à Bước... Dữ Liệu 5.7 Khóa – Thuật toán tìm khóa Ví dụ: Có 2 siêu khóa: BDC, BDA BDC Có 2 khóa: BDC, BDA www.tdt.edu.vn 37 Cơ Sở Dữ Liệu 5.7 Khóa – Thuật toán tìm khóa Ví dụ: ập Cho R(ABCDEG) với tập PTH F = { EC B, AB C, EB D, BG A, AE G } Xác định tất cả các khóa của R Ta có: N={E} D={D} L = { A, B, C, G } Xây dựng tập thuộc tính Li bằng PP đường y ự g ập ộ g g chạy nhị phân www.tdt.edu.vn 38 Cơ Sở Dữ Liệu. .. www.tdt.edu.vn 41 Cơ Sở Dữ Liệu 5.8 Phủ tối thiểu Phủ tối thiểu: Gọi F là tối thiểu nếu Mỗi vế phải của 1 PTH ∈ F chỉ có 1 thuộc tính Không tồn tại 1 PTH X A thuộc F, mà F+ = (F - {X A} )+ Không tồn tại 1 PTH X A thuộc F, và 1 tập con Z của X mà F+ = (F - {X A} ∪ {Z A} )+ www.tdt.edu.vn 42 Cơ Sở Dữ Liệu 5.8 Phủ tối thiểu Ví dụ Cho F = { AB C, C A, BC D, ACD B, D E, D G, BE C, CG B, CG D, CE A, CE G } Tìm Phủ... EABCDG = R+ 39 Cơ Sở Dữ Liệu 5.7 Khóa – Thuật toán tìm khóa Ví dụ: Có 4 siêu khóa: ECG, EBG EAC, EAB ECG EBG, EAC Có 4 khóa: ECG, EBG, EAC, EAB www.tdt.edu.vn 40 Cơ Sở Dữ Liệu 5.8 Phủ tối thiểu PTH tương đương Gọi F và G là các tập PTH Ta nói rằng F và G PTH là tương đương nếu F+ = G+ Nếu F và G tương đương đôi khi còn nói đương, F phủ G (hay G phủ F) www.tdt.edu.vn 41 Cơ Sở Dữ Liệu 5.8 Phủ tối thiểu... X= BD X= AC www.tdt.edu.vn 27 Cơ Sở Dữ Liệu 5.7 Khóa – Thuật toán tìm khóa Định nghĩa: R là lược đồ quan hệ định nghĩa trên tập các thuộc tính U = { A1, A2, , An } ập , ị Tập các PTH F = { f1, f2, , fm } xác định trên R K ⊆ U là khóa của R nếu thỏa mãn hai điều kiện y sau đây: K → U ( K là siêu khóa ) 2) ⎯∃ K’ ⊂ K mà K’ → U ∃ K K U 1) www.tdt.edu.vn 28 Cơ Sở Dữ Liệu 5.7 Khóa – Thuật toán tìm khóa Bài