Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
423,32 KB
Nội dung
HeCSDL 1 NN NN CHƯƠNGCHƯƠNG1010Phânrã lư Phânrã lư ợ ợ c đ c đ ồ ồ HeCSDL 2 NN NN N N ộ ộ i dung i dung Phânrãlượcđồ Phânrã không mất mát thông tin Phânrã bảo toàn phụ thuộc hàm Các giải thuật phânrã HeCSDL 3 NN NN M M ụ ụ c đ c đ í í ch c ch c ủ ủ a phânrã lư a phânrã lư ợ ợ c đ c đ ồ ồ quan h quan h ệ ệ Được xem như 1 công cụ bổ sung vào phương pháp ER để loại trừ dư thừa dữ liệu Phụ thuộc hàm được xem như là sự khái quát hóa các ràng buộc chính (key constraint). Các FD được dùng để xác định các dạng chuẩn (normal form). Việc phânrãlượcđồ sẽ dựa theo các dạng chuẩn này Æ Lý thuyết phânrã còn được gọi là lý thuyết chuẩn hóa. 3 HeCSDL 4 NN NN Tí Tí nh ch nh ch ấ ấ t c t c ủ ủ a phân r a phân r ã ã l l ượ ượ c đ c đ ồ ồ Vì chuẩn BCNF gần như không dư thừa và chuẩn 3NF tuy có dư thừa nhưng cũng hạn chế, nên việc phânrãlượcđồ sẽ chỉ hướng đến hai dạng này. 4 HeCSDL 5 NN NN Phânrã l Phânrã l ượ ượ c đ c đ ồ ồ – – Decomposition Decomposition … … Phânrã 1 lượcđồ R = (U,F) với U là tập các thuộc tính, F là tập phụ thuộc hàm sẽ cho ra 1 tập hợp các lượcđồ R1 = (U1,F1) R2= (U2, F2)…. Rn = (Un,Fn) Sao cho thỏa mãn điều kiện sau: U = F suy dẫn Fi với i = 1, ,n 1 n i i U = U 5 HeCSDL 6 NN NN … … Phânrã lư Phânrã lư ợ ợ c đ c đ ồ ồ Phânrãlượcđồ sẽ dẫn đến việc phânrã quan hệ. Phânrã 1 quan hệ r trên lượcđồ R, cho ra 1 tập hợp các quan hệ r 1 = π U1 (r) r 2 = π U2 (r),…. r n = π Un (r) 6 HeCSDL 7 NN NN Phânrã không m Phânrã không m ấ ấ t m t m á á t t thông tin(Lossless decomposition) thông tin(Lossless decomposition) Khảo sát quan hệ r và các phânrã của nó r 1 ,…, r n Sau phân rã, CSDL không còn lưu trữ quan hệ r nữa mà chỉ lưu lại các quan hệ chiếu của nó r 1 , , r n . CSDL phải có khả năng khôi phục lại quan hệ gốc r từ các quan hệ chiếu này. Nếu không khôi phục lại được quan hệ r thì việc phânrã không biểu diễn cùng 1 thông tin với CSDL gốc Î Phânrã mất mát (lossy decomposition) 7 HeCSDL 8 NN NN Phânrã k Phânrã k ế ế t n t n ố ố i không m i không m ấ ấ t m t m á á t thông tin t thông tin (Lossless (Lossless - - join decomposition) join decomposition) Phânrãlượcđồ R = (U,F) thành 1 tập hợp các lượcđồ R 1 = (U 1 ,F 1 ) R 2 = (U 2 , F 2 )…. R n = (U n ,F n ) Không mất mát (lossless) thông tin nếu với mỗi thể hiện (instance) hợp lệ r của lượcđồ R thì r = r 1 r 2 … r n Với r1 = π U1 (r) r2 = π U2 (r),…. rn = π Un (r) 8 HeCSDL 9 NN NN Ví dụ Ví dụ phân r phân r ã ã … … Cho quan hệ r Phânrã thành 2 quan hệ 9 HeCSDL 10 NN NN … … Ví dụ Ví dụ phân r phân r ã ã Kết nối tự nhiên 2 quan hệ phânrã này: Î Có những bộ không thuộc quan hệ gốc ban đầu 10 [...]... (optional) 24NN HeCSDL 24 Giải thuật phânrã BCNF… R=(U,F) là 1 lược đồ quan hệ không ở chuẩn BCNF Giải thuật: thực hiện lặp lại việc phân chia R thành những lượcđồ nhỏ hơn sao cho các lượcđồ mới có ít FD vi phạm BCNF hơn Giải thuật kết thúc khi tất cả lượcđồ kết quả đều ở dạng BCNF 25NN HeCSDL 25 …Giải thuật phânrã BCNF Input R = (U,F) Decomposition = R While có lượcđồ S= (V,F’) trong Decomposition... 14 … V í d ụ… Nếu phânrãlượcđồ trên thành 2 lượcđồ sau: PERSON1(SSN, Name, Address) HOBBY(SSN, Hobby) Việc phânrã này có mất thông tin không?? 15NN HeCSDL 15 …V í d ụ Vì PERSON1 ∩ HOBBY = {SSN} mà SSN là khóa chính của PERSON1, dođó PERSON1 ∩ HOBBY PERSON1 Phânrã này không mất thông tin 16NN HeCSDL 16 Phânrã bảo toàn phụ thuộc hàm (Dependency-Preseving Decomposition) Cho lượcđồ R = (U,F) và... (U1,F1) , R2= (U2, F2), , Rn= (Un, Fn) là phânrã của R Phânrã được gọi là bảo toàn phụ thuộc n hàm nếu và chỉ nếu F và U i = 1 Fi là tương đương nhau 17NN HeCSDL 17 Ví d ụ … Khảo sát lược đồ quan hệ sau: HASACCOUNT(ClientId, OfficeId, AccountNumber) Với các FD sau: ClientId, OfficeId AcountNumber AccountNumber OfficeId Nếu phânrãlượcđồ trên thành 2 lượcđồ sau: ACCTOFFICE (AccountNumber, OfficeId)... (AccountNumber, ClientId) Phânrã trên có mất mát thông tin không??? 18NN HeCSDL 18 …V í d ụ Phânrã trên không mất mát thông tin vì: AccountNumber là khóa chính của ACCTOFFICE Nhưng phânrã này không bảo toàn phụ thuộc hàm 19NN HeCSDL 19 …V í d ụ Phụ thuộc hàm gốc ClientId, OfficeId AcountNumber (1) không tồn tại trong các phụ thuộc hàm của các lượcđồphânrã vì: Cả hai phânrã đều không chứa đủ các... (Binary Decomposition)… Cho lượcđồ R = (U,F) và R1 = (U1,F1) , R2= (U2, F2) là một phânrã nhị phân của R Sự phânrã này không mất thông tin nếu và chỉ nếu thỏa mãn một trong các điều kiện sau: (U1 ∩ U2) (U1 ∩ U2) U1 ∈ F+ U2 ∈ F+ 12NN HeCSDL 12 Phânrã nhị phân Các thuộc tính chung của U1 và U2 phải chứa khóa của hoặc R1 hoặc R2 Kiểm tra này là cần thiết để bảo đảm phânrã có kết nối không bị mất... FD này để phânrã */ Thay S trong Decomposition với S1 = (XY, F1) Và S2=( (S-Y), F2) F2 là các FD từ F’F1 End Return Decomposition 26NN HeCSDL 26 Ví dụ 1… Cho lượcđồ R(CSJDPQV) và C là khóa Tập phụ thuộc hàm {C SJDPQV; JP C ; SD P;J S} Do SD P vi phạm chuẩn BCNF nên tách thành 2 lượcđồ R1(SDP) ở dạng chuẩn BCNF R2(CSJDQV): vì J S vi phạm chuẩn BCNF nên tiếp tục phânrã R2 thành 2 lượcđồ R21(JS)... (nondeterministic), phụ thuộc vào thứ tự các FD được chọn để xét phânrã 33NN HeCSDL 33 Phânrã thành dạng chuẩn BC (hay chuẩn 3) bảo toàn thông tin NN HeCSDL 34 V í dụ Cho Q(CTHRSG), F={C->T;HR->C;HT->R;CS->G;HS->R} hãy phânrã Q thành các lượcđồ con đạt chuẩn 3 bảo toàn thông tin (thường đưa tập phụ huộc hàm về phủ tối thiểu) NN HeCSDL 35 Phânrã vừa bảo toàn thông tin vừa bảo toàn phụ thuộc hàm s NN HeCSDL... phânrã có kết nối không bị mất mát Ví dụ: Cho R(SNLRWH) có FD R W vi phạm chuẩn 3NF, nên tách thành SNLRH and RW Phânrã này có bị mất kết nối không??? Không, vì R là thuộc tính chung của cả 2 lượcđồ R1, R2 nên phânrã này kết nối không mất mát thông tin 13NN HeCSDL 13 Ví d ụ … Xét lược đồ quan hệ PERSON(SSN, Name, Address,Hobby) SSN 1111111 1111111 5556667 5556667 9876543 Name John John Mary Mary... không thể suy diễn lại được phụ thuộc hàm này 20NN HeCSDL 20 Phânrã bảo toàn phụ thuộc hàm Nếu 1 phụ thuộc hàm f ∈ F nhưng không thuộc bất kỳ Fi nào không có nghĩa là phânrã không bảo toàn phụ thuộc hàm n nếu f có thể được suy diễn từ U i = 1 Fi Chỉ khi nào f không suy diễn được phânrã mới không bảo toàn phụ thuộc 21NN HeCSDL 21 V í dụ Phânrã quan hệ HASACCOUNT AccountNumber B123 A908 Account Number... HASACCOUNT và phânrã của nó sau khi chèn thêm 1 hàng AccountNumber B123 B567 A908 ClientId 111111 111111 123456 OfficeId SB01 SB01 MN08 AccountNumber OfficeId Account Number B123 B567 A908 HeCSDL SB01 SB01 MN08 B123 B567 A908 ClientId 111111 111111 123456 Sau khi join 2 lượcđồphânrã lại, phụ thuộc hàm 23 AcountNumber bị vi phạm ClientId, OfficeId 23NN Mất mát và bảo toàn 2 tính chất của phân rã: Lossless . HeCSDL 1 NN NN CHƯƠNG CHƯƠNG 10 10 Phân rã lư Phân rã lư ợ ợ c đ c đ ồ ồ HeCSDL 2 NN NN N N ộ ộ i dung i dung Phân rã lược đồ Phân. r n Với r1 = π U1 (r) r2 = π U2 (r),…. rn = π Un (r) 8 HeCSDL 9 NN NN Ví dụ Ví dụ phân r phân r ã ã … … Cho quan hệ r Phân rã thành 2 quan hệ 9 HeCSDL 10 NN NN … … Ví dụ Ví dụ phân r phân r ã ã . Acting 14 HeCSDL 15 NN NN … … V V í í d d ụ ụ … … Nếu phân rã lược đồ trên thành 2 lược đồ sau: PERSON1(SSN, Name, Address) HOBBY(SSN, Hobby) Việc phân rã này có mất thông tin không?? 15 HeCSDL