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

Chương Phụ thuộc hàm

42 626 0

Đ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 42
Dung lượng 428,6 KB

Nội dung

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  Dư thừa dữ liệu  Phụ thuộc hàm  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  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ộc hàm mô tả mối liên hệ giữa các thuộc tính. X → Y  Phụ thuộc hà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ộc hà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ộc hà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ộc hà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ộc hàm f: XÆ Y. Kiểm tra xem quan hệ r có thỏa mãn phụ thuộc hà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ộc hàm F, số lượng phụ thuộc hàm trong F là m Dữ liệu ra : Tập phụ thuộc hàm tối thiểu của F Tách vế phải mỗi phụ thuộc hàm trong F sao cho vế phải của mỗi phụ thuộc hàm chỉ chứa một thuộc tính Tìm tập phụ thuộc hà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ộc hàm Loại bỏ các phụ thuộc hà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ộc hà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ộc hàm Gọi F là 1 tập phụ thuộc hàm trên R nếu mọi phụ thuộc hàm trong F đều là phụ thuộc hàm trên R Phụ thuộc hàm tầm thường (trivial FD) hay phụ thuộc hà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ộc hàm không hiển... F HeCSDL 21 21NN Bao đóng của tập phụ thuộc hàm Bao đóng (closure) của tập phụ thuộc hàm F (ký hiệu là F+) là tập hợp tất cả các phụ thuộc hà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ộc hàm 1 2 3 Tính phản xạ: với mọi tập phụ thuộc hà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ộc hà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ộc hà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ộc hà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ộc hà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ộc hà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ộc hàm khác từ tập phụ thuộc hà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ộc hà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ộc hàm Input: tập thuộc tính X và tập phụ thuộc hà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ộc hàm F ta luôn có (F+)+ = F+ 23NN HeCSDL 23 Bao đóng của tập phụ thuộc hà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ộc hàm tối thiểu nếu F... nhiên trong tập F, các phụ thuộc hàm hiển nhiên được ngầm hiểu là đã có trong F 12NN HeCSDL 12 Cách Xác Định Phụ Thuộc Hà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ộc hà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ộc hà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ộc hàm F và một phụ thuộc hà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 … … 

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

TỪ KHÓA LIÊN QUAN

w