Bài tập thực hành môn Hệ quản trị cơ sơ dữ liệu

42 2.3K 7
Bài tập thực hành môn Hệ quản trị cơ sơ dữ liệu

Đ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

Tài Liệu môn HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

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  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  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 thừa, chúng ta 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 thừa dữ liệu  Hậu quả của 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 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 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 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ùng giá trị X thì cũng 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 thuộc tính trong tập X giống nhau mà lại 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ùng giá trị X thì có cùng giá trị Y then  Satisfies = true  Else  Satisfies = false 10 [...]... HeCSDL 26 Bao đóng của tập thuộc tính Bao đóng 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... Cho R(A,B,C,D,E,F) và tập F={f1:D B, f2: A C, f3: AD E, f4:C 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 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... thiểu F được gọi là một tập phụ thuộc hàm tối thiểu nếu F thoả đồng thời ba điều kiện sau: NN HeCSDL 25 Thuật toán tìm phủ tối thiểu Dữ liệu vào : Lược đồ quan hệ ban đầ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... hàm F ký hiệu là X+ (hoặc là tập tất 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:... 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 Để 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 luật sau 15NN HeCSDL 15 Hệ tiên... X+ và so sánh X+ với tập Y Dựa vào tính chất X → Y ∈ F+ Y ⊆ X+, ta ngay câu trả lời X → Y ∈ F+ hay không ? Như vậy thay vì giải bài 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 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+... 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 F ⊆ F+ Tính đơn điệu: nếu F ⊆ G thì F+ ⊆ G+ Tính lũy đẳng: với mọi tập phụ thuộc hàm F ta luôn (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)... 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 mỗi MASV duy nhất Mỗi MASV xác định các thuộc tính còn lại của sinh viên đó như HOTENSV,NU, NGAYSINH, NOISINH,TINH,MALOP” Khi phát biểu tân từ cho một lược đồ quan hệ, người thiết kế... 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) 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 nhiên trong tập F, cá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 Member(X,Y,F) Begin if Y ⊆ Closure(X,F) then Member = true else Member = false; End 34NN HeCSDL 34 Khoá Của Quan Hệ (relation key) Cho quan hệ Q(A1,A2,…,An) được xác định bởi tập thuộc tính Q+ và tập phụ thuộc hàm F định nghĩa trên Q, cho K ⊆ Q + K là một khoá của Q nếu . 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: 28/03/2014, 20:44

Từ khóa liên quan

Mục lục

  • CHƯƠNG

  • Nội dung

  • Các vấn đề trong tổ chức dữ liệu

  • Các vấn đề trong tổ chức dữ liệu…

  • Dư thừa dữ liệu (Data redundancy)

  • Ví dụ

  • Phụ thuộc hàm (Functional Dependency)

  • Phụ thuộc hàm (Functional Dependency)

  • Phụ thuộc hàm (Functional Dependency)

  • Giải thuật kiểm tra phụ thuộc hàm

  • Functional Dependencies

  • Tập phụ thuộc hàm

  • Cách Xác Định Phụ Thuộc Hàm Cho Lược Đồ Quan Hệ

  • Hệ tiên đề Amstrong

  • Hệ tiên đề Amstrong

  • Hệ tiên đề Amstrong

  • Hệ tiên đề Amstrong

  • Ví dụ

  • Phụ thuộc hàm tương đương

  • Kiểm tra các tập FD tương đương

Tài liệu cùng người dùng

Tài liệu liên quan