Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
428,6 KB
Nội dung
HeCSDL 1 NN NN CHƯƠNGCHƯƠNG Ph Ph ụ ụ thu thu ộ ộ c h c h à à m m (Functional Dependency) (Functional Dependency) HeCSDL 2 NN NN N N ộ ộ i dung i dung Dư thừa dữ liệu Phụthuộchàm Hệ tiên đề Amstrong Bao đóng của tập phụthuộchàm Bao đóng của tập thuộc tính Tìm khóa 2 HeCSDL 3 NN NN C C á á c v c v ấ ấ n đ n đ ề ề trong t trong t ổ ổ ch ch ứ ứ c d c d ữ ữ li li ệ ệ u u Dư thừa (redundancy): Họ tên của các sinh viên được lặp lại mỗi lần cho mỗi môn thi. Mâu thuẫn tiềm ẩn (potentia inconsistancy) hay bất thường khi cập nhật. Do hậu quả của dư thừa, chúng ta có thể cập nhật họ tên của một sinh viên trong một bộ nào đó nhưng vẫn để lại họ tên cũ trong những bộ khác HeCSDL 4 NN NN C C á á c v c v ấ ấ n đ n đ ề ề trong t trong t ổ ổ ch ch ứ ứ c d c d ữ ữ li li ệ ệ u u … … Bất thường khi chèn (insertion anomaly). Chúng ta không thể biết họ tên của một sinh viên nếu hiện tại sinh viên đókhông dự thi môn nào Bất thường khi xoá (deletion anomaly). chúng ta có thể xoá tất cả các môn thi của một sinh viên, vô ý làm mất dấu vết để tìm ra họ tên của sinh viên này. HeCSDL 5 NN NN Dư th Dư th ừ ừ a d a d ữ ữ li li ệ ệ u u (Data redundancy) (Data redundancy) Mục đích của thiết kế CSDL là gom các thuộc tính thành các quan hệ sao cho giảm thiểu dư thừa dữ liệu Hậu quả của dư thừa dữ liệu: Lãng phí không gian đĩa Các bất thường khi cập nhật Ba loại bất thường: Bất thường khi thêm vào Bất thường khi xóa bỏ Bất thường khi sửa đổi 5 HeCSDL 6 NN NN V V í í d d ụ ụ SSN SSN Name Name Address Address Hobby Hobby 111111111 111111111 111111111 111111111 555666777 555666777 555666777 555666777 987654321 987654321 John Doe John Doe John Doe John Doe Mary Doe Mary Doe Mary Doe Mary Doe Bart Simpson Bart Simpson 123 Main St. 123 Main St. 123 Main St. 123 Main St. 7 Lake Dr. 7 Lake Dr. 7 Lake Dr. 7 Lake Dr. Fox 5 TV Fox 5 TV Stamps Stamps Coins Coins Hiking Hiking Skating Skating Acting Acting Khóa chính của bảng PERSON? Î SSN + Hobby Thông tin cá nhân bị trùng lặp Các bất thường: Nếu John thay đổi chỗởÆ update anomaly Nếu bổ sung thêm người mới tên là Homer Simpson nhưng chưa biết sở thích của anh ta Æ không thể tạo bản ghi mới được Æ insertion anomaly Nếu Bart Simpson không có bất kỳ sở thích nào Æ xóa sở thích Acting như thế nào Æ Delete anomaly 6 HeCSDL 7 NN NN Ph Ph ụ ụ thu thu ộ ộ c h c h à à m m (Functional Dependency) (Functional Dependency) Phụthuộchàm mô tả mối liên hệ giữa các thuộc tính. X → Y Phụthuộchàm (functional dependancy) là một công cụ dùng để biểu diễn một cách hình thức các ràng buộc toàn vẹn. Dựa vào phụthuộchàm để thiết kế lại CSDL, loại bỏ các dư thừa dữ liệu 7 HeCSDL 8 NN NN Ph Ph ụ ụ thu thu ộ ộ c h c h à à m m (Functional Dependency) (Functional Dependency) Cho lược đồ quan hệ R(U), r là 1 quan hệ bất kỳ trên R, X và Y là 2 tập thuộc tính con của U. Định nghĩa: Phụthuộchàm (FD) f: X Æ Y trên lược đồ quan hệ R nếu và chỉ nếu mỗi giá trị X trong r có quan hệ chính xác với 1 giá trị Y trong r. Nghĩa là bất kể khi nào 2 bộ của r có cùng giá trị X thì cũng có cùng giá trị Y. ∀t1, t2 ∈ r(R): t1[X] = t2[X] ⇒ t1[Y]= t2[Y] 8 HeCSDL 9 NN NN Ph Ph ụ ụ thu thu ộ ộ c h c h à à m m (Functional Dependency) (Functional Dependency) Cho lược đồ quan hệ Q {A1,A2,…,An}. X, Y là hai tập con khác rỗng của Q+(tập thuộc tính). Ta nói X xác định Y (hay Y phụthuộchàm vào X) nếu với r là một quan hệ nào đó trên Q, ∀ t1, t2 ∈ r mà t1.X = t2.X ⇒ t1.Y = t2.Y (nghĩa là không thể tồn tại hai bộ trong r có các thuộc tính trong tập X giống nhau mà lại có một hay nhiều thuộc tính trong tập Y khác nhau). Khi đó ta ký hiệu là X → Y. 9 HeCSDL 10 NN NN Gi Gi ả ả i thu i thu ậ ậ t ki t ki ể ể m tra ph m tra ph ụ ụ thu thu ộ ộ c h c h à à m m Bài toán: cho quan hệ r và 1 phụthuộchàm f: XÆ Y. Kiểm tra xem quan hệ r có thỏa mãn phụthuộchàm f hay không? Function Satisfies (r, f: XÆ Y) Sắp thứ tự các bộ trong r theo các thuộc tính của X If mỗi tập các bộ có cùng giá trị X thì có cùng giá trị Y then Satisfies = true Else Satisfies = false 10 [...]... đầu Q và tập phụthuộchàm F, số lượng phụthuộchàm trong F là m Dữ liệu ra : Tập phụthuộchàm tối thiểu của F Tách vế phải mỗi phụthuộchàm trong F sao cho vế phải của mỗi phụthuộchàm chỉ chứa một thuộc tính Tìm tập phụthuộchàm đầy đủ bằng cách loại bỏ các thuộc tính dư thừa ở vế trái của từng phụthuộchàm Loại bỏ các phụthuộchàm dư thừa trong F NN HeCSDL 26 Bao đóng của tập thuộc tính Bao... f2 f4 f1 Các phụthuộchàm của quan hệ R là: A→B A→D B,C → E,F HeCSDL Các bộ của quan hệ r(R) có vi phạm các FD này không? 11 11NN Tập phụthuộchàm Gọi F là 1 tập phụthuộchàm trên R nếu mọi phụthuộchàm trong F đều là phụthuộchàm trên R Phụthuộchàm tầm thường (trivial FD) hay phụthuộchàm hiển nhiên X Y nếu Y ⊆ X Ví dụ: Name, Address → Name Quy ước: chỉ cần mô tả các phụthuộchàm không hiển... F HeCSDL 21 21NN Bao đóng của tập phụthuộchàm Bao đóng (closure) của tập phụthuộchàm F (ký hiệu là F+) là tập hợp tất cả các phụthuộchàm có thể suy ra từ F dựa vào các tiên đề Armstrong Rõ ràng F ⊆ F+ Ký hiệu F+ F+ là 1 tập hợp các FD được suy diễn từ F 22NN HeCSDL 22 Các tính chất của bao đóng của tập phụthuộchàm 1 2 3 Tính phản xạ: với mọi tập phụthuộchàm F+ ta luôn có F ⊆ F+ Tính đơn điệu:... của tập thuộc tính X dựa trên một tập phụthuộchàm F (closure of X under F) là 1 tập thuộc tính Y sao cho: ∃X ∀X Hoặc Y ∈ F+ Z ∈ F+ : Z ⊆ Y + X F = {A|X A ∈ F+} 27NN HeCSDL 27 Bao đóng của tập thuộc tính Cho lược đồ quan hệ Q giả sử F là tập các phụthuộchàm trong Q, tập thuộc tính X ⊆ Q+ Bao đóng của tập thuộc tính X đối với tập + XF ) phụthuộchàm F ký hiệu là X+ (hoặc là tập tất cả các thuộc tính... khác tránh hiểu nhầm NN HeCSDL 13 Hệ tiên đề Amstrong Phụthuộchàm X Y được suy diễn luận lý từ F nếu mọi quan hệ thỏa mãn mọi phụthuộchàm trong F thì cũng thỏa mãn X Y Ký hiệu F ⊨ X Y F bao hàm (implies) X Y X Y được suy diễn theo quan hệ từ F 14NN HeCSDL 14 Hệ tiên đề Amstrong Để có thể xác định được các phụthuộchàm khác từ tập phụthuộchàm đã có, ta dùng hệ tiên đề Armstrong (1974), gồm các... các thuộc tính A ⊆ Q+ được suy ra từ X dựa vào các phụthuộchàm trong F và hệ tiên đề Armstrong, nghĩa là: X+ = {A : A ∈ Q+ và X → A ∈ F+} 28NN HeCSDL 28 Bao đóng của tập thuộc tính Các tính chất của bao đóng của tập thuộc tính X+ NN HeCSDL 29 Giải thuật tìm bao đóng của tập thuộc tính trên tập phụthuộchàm Input: tập thuộc tính X và tập phụthuộchàm F Output: bao đóng của X dựa trên F Procedure... lũy đẳng: với mọi tập phụthuộchàm F ta luôn có (F+)+ = F+ 23NN HeCSDL 23 Bao đóng của tập phụthuộchàm Ví dụ cho F={AB C, C B} trên r(ABC) F+={A A, AB A, AC A, ABC A, B B, AB B, BC B, ABC B, C C, AC C, BC C, ABC C, AB AB, ABC AB, AC AC, ABC AC, BC BC, ABC BC, ABC ABC, AB C, AB AC, AB BC, AB ABC, C B,C BC, AC B, AC AB } HeCSDL 24 24NN Phủ tối thiểu F được gọi là một tập phụthuộchàm tối thiểu nếu F... nhiên trong tập F, các phụthuộchàm hiển nhiên được ngầm hiểu là đã có trong F 12NN HeCSDL 12 Cách Xác Định PhụThuộcHàm Cho Lược Đồ Quan Hệ Cách duy nhất để xác định đúng các phụthuộc thích hợp cho một lược đồ quan hệ là xem xét nội dung tân từ của lược đồ quan hệ đó Chẳng hạn tân từ của lược đồ quan hệ Sinhvien là: ”Mỗi sinh viên có mỗi MASV duy nhất Mỗi MASV xác định các thuộc tính còn lại của... toán thành viên ta đưa về giải bài toán tìm bao đóng của tập thuộc tính NN HeCSDL 32 Ví dụ kiểm tra phụthuộchàm Cho F={D B, A C, AD E, C B} Kiểm tra F có bao hàm A B?? A+F = {ACB} - Tìm A+F? - Do B ∈ A+F nên F bao hàm A B 33NN HeCSDL 33 Kiểm tra thành viên trong F+ Để xác định F ⊨ X Y, cần kiểm tra X Y ∈ F+ Giải thuật: Nhập: phụthuộchàm X Y và tập F Xuất: true nếu F⊨ X Y, ngược lại là false Function... F} Tìm A+F: A+F ={A} Duyệt F lần 1: Từ f2 A+F = {AC}; Từ f4 A+F = {ACF} Duyệt F lần 2: A+F không thay đổi A+F = {ACF} Tìm {AD}+F ??? HeCSDL 31NN 31 Bài toán thành viên Cho trước tập các phụthuộchàm F và một phụthuộchàm f, bài toán kiểm tra có hay không f ∈ F+ gọi là bài toán thành viên Để giải quyết bài toán bài toán thành viên thật sự không đơn giản; vì mặc dù F là rất nhỏ nhưng F+ thì có thể rất . HeCSDL 1 NN NN CHƯƠNG CHƯƠNG Ph Ph ụ ụ thu thu ộ ộ c h c h à à m m (Functional Dependency) (Functional Dependency) HeCSDL 2 NN NN N N ộ ộ i dung i dung . Hệ tiên đề Amstrong Bao đóng của tập phụ thuộc hàm Bao đóng của tập thuộc tính Tìm khóa 2 HeCSDL 3 NN NN C C á á c v c v ấ ấ n đ n đ ề ề trong t trong t ổ ổ ch ch ứ ứ c d c d ữ ữ li li ệ ệ u u . nhật họ tên của một sinh viên trong một bộ nào đó nhưng vẫn để lại họ tên cũ trong những bộ khác HeCSDL 4 NN NN C C á á c v c v ấ ấ n đ n đ ề ề trong t trong t ổ ổ ch ch ứ ứ c d c d ữ ữ li li ệ ệ u u … …