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

Chương 10 Phân rã lược đồ

38 1K 3

Đ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 423,32 KB

Nội dung

HeCSDL 1 NN NN CHƯƠNG CHƯƠNG 10 10 Phân Phân lư ợ ợ c đ c đ ồ ồ HeCSDL 2 NN NN N N ộ ộ i dung i dung  Phân lược đồPhân không mất mát thông tin  Phân bảo toàn phụ thuộc hàm  Các giải thuật phân HeCSDL 3 NN NN M M ụ ụ c đ c đ í í ch c ch c ủ ủ a phân lư a phân 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ân lược đồ sẽ dựa theo các dạng chuẩn này Æ Lý thuyết phân 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ân lược đồ sẽ chỉ hướng đến hai dạng này. 4 HeCSDL 5 NN NN Phân l Phân l ượ ượ c đ c đ ồ ồ – – Decomposition Decomposition … …  Phân 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ân Phân lư ợ ợ c đ c đ ồ ồ  Phân lược đồ sẽ dẫn đến việc phân quan hệ.  Phân 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ân không m Phân 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ân 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ân không biểu diễn cùng 1 thông tin với CSDL gốc Î Phân mất mát (lossy decomposition) 7 HeCSDL 8 NN NN Phân k Phân 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ân 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ân 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ân 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ân 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ân BCNF Input R = (U,F) Decomposition = R While có lược đồ S= (V,F’) trong Decomposition... 14 … V í d ụ… Nếu phân lược đồ trên thành 2 lược đồ sau: PERSON1(SSN, Name, Address) HOBBY(SSN, Hobby) Việc phân 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ân này không mất thông tin 16NN HeCSDL 16 Phân 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ân của R Phân đượ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ân lược đồ trên thành 2 lược đồ sau: ACCTOFFICE (AccountNumber, OfficeId)... (AccountNumber, ClientId) Phân trên có mất mát thông tin không??? 18NN HeCSDL 18 …V í d ụ Phân trên không mất mát thông tin vì: AccountNumber là khóa chính của ACCTOFFICE Nhưng phân 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ân vì: Cả hai phân đề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ân nhị phân của R Sự phân 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ân 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ân có kết nối không bị mất... FD này để phân */ 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ân 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ân 33NN HeCSDL 33 Phân 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ân 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ân vừa bảo toàn thông tin vừa bảo toàn phụ thuộc hàm s NN HeCSDL... phân 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ân 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ân 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ân 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ân 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ân mới không bảo toàn phụ thuộc 21NN HeCSDL 21 V í dụ Phân quan hệ HASACCOUNT AccountNumber B123 A908 Account Number... HASACCOUNT và phân 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ân 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

Ngày đăng: 12/05/2014, 12:03

TỪ KHÓA LIÊN QUAN