Thông tin tài liệu
CHƯƠNG 5: LÝ THUYẾT THIẾT KẾ CSDL QUAN HỆ 12/22/16 Hoàng Thị Hà Bài 1: Giới thiệu I Đặ t vấn đề 12/22/16 Hồng Thị Hà Xét ví dụ: S# SNAME STATUS CITY P#, PNAM E COLOR WEIGH T PRICE QTY S1 A1 17 Paris P1 B1 23 100 200 S1 A1 17 Paris P2 B2 Xanh 11 150 300 S2 A2 20 Lon d o n Xanh 17 150 250 12/22/16 Hoàng Thị Hà P2 B2 Câu hỏi? Vậy làm để thiết kế CSDL cho tốt? 12/22/16 Hoàng Thị Hà Nhận xét Ưu điểm: Khi thực truy vấn SQL cần thực phép tốn ngơi bi ếu diễn câu hỏi dễ dàng, thời gian chi phí đáp ứng nhỏ 12/22/16 Hồng Thị Hà Nhận xét (cont) Nhượ c điểm: * Không quán (Inconsistency) (dị thườ ng xuất sửa liệu): Là hệ việc dư thừa liệu VD: sửa đổi địa nhà cung cấp cịn khác giữ ngun nhà cung cấp có nhiều địa * Dị thườ ng thêm (Insertion anomalies): Nếu nhà cung cấp chưa cung cấp mặt hàng cả, ta khơng thể đư a thơng tin nhà cung cấp …sẽ phải đư a giá trị vào thuộc tính cịn lại * Dị thườ ng xố (Deletion anomalies): Là vấn đề ngượ c lại vấn đề Nếu vơ tình nhà cung cấp cung cấp mặt hàng (giả sử S2, P2) bị thơng tin nhà cung cấp * Dư thừa liệu (Redundancy): Dễ dàng thấy xuất tên nhà cung cấp đị a ơng ta lại lặp lại mối quan hệ 12/22/16 Hoàng Thị Hà Cách giải nào? Để khắc phục nhược điểm cần tách quan hệ thành quan h ệ khác ta đượ c lượ c đồ CSDL (tập lượ c đồ quan hệ) cho t ốt 12/22/16 Hoàng Thị Hà Lược đồ VT tách thành lược đồ sau S (S#, SNAME, STATUS, CITY) P (p#, PNAME, COLOR, WEIGHT, PRICE) SP (S#, P#, QTY) 12/22/16 Hoàng Thị Hà Nhận xét Ưu điểm: Khắc phục dư thừa liệu Tránh dị thường Nhượ c điểm: Biểu diễn câu hỏi phức tạp Thời gian chi phí tính tốn phép tính tốn kết nối tăng lên 12/22/16 Hoàng Thị Hà II Các bước thiết kế Cơ sở liệu Bướ c 1: Phân tích tồn u cầu Bướ c 2: Nhận diện thực Bướ c 3: Nhận diện mối liên quan thực thể Bướ c 4: Xác đinh khố Bướ c 5: Nhận diện khố ngoại lai Bướ c 6: Thêm thuộc tính khơng phải khố vào bảng liệu Bướ c 7: Xây dựng mạng liệu Bướ c 8: Khai báo phạm vi thuộc tính Bướ c 9: Kiểm tra tính chuẩn quan hệ(3NF) 12/22/16 Hồng Thị Hà 10 PHỤ THUỘC ĐA TRỊ (mulivaluated dependency) Giới thiệu: Trong thực tế phụ thuộc hàm loại phụ thuộc xuất sơ đồ quan hệ mà cịn có phụ thuộc khác thườ ng xuất phụ thuộc đa trị 12/22/16 Hoàng Thị Hà 104 Khái niệm quan hệ R(U), X,Y ⊆ R Ta nói X ->->Y đọc X đa xác định Y “có phụ thuộc đa trị Y vào X” Nếu với giá trị biết cho thuộc tính X tồn tập gồm Zero nhi ều giá tr ị cho thu ộc tính Y, tập giá trị không liên hệ với giá tr ị thu ộc tính U-X-Y Cho lượ c đồ 12/22/16 Hoàng Thị Hà 105 Định nghĩa Cho R(U) sơ đồ quan hệ, X,Y ⊆ U Ta nói X->>Y với quan hệ r xác đị nh R(U) với t1,t2 mà t1[X] = t2[X] t ồn t ại t3 cho t3[X] = t1[X], t3[Y]= t1[Y] t3[Z] = t2[Z], Z=U\XY Do tính đố i xứng t1,t2 ⇒ ∃ r4 cho 12/22/16 Hoàng Thị Hà t4[X] = t2[X], t4[Y]= t2[Y] t4[Z] = t1[Z] 106 VÍ DỤ DAY(MON, GIAOVIEN, GTRINH) MON GIAOVIEN GTRINH CSDL1 CSDL1 A B Ullman Ullman CSDL1 A Le Tien Vuong CSDL2 B Nguyen Kim Anh CSDL2 B Ullman Nhận thấy: MON MON 12/22/16 Hoàng Thị Hà GIAOVIEN GTRINH 107 CÁC TIÊN ĐỀ CHO PHỤ THUỘC HÀM VÀ PHỤ THUỘC ĐA TRỊ A1: Tính phản xạ cho phụ thuộc hàm: Nếu Y ⊆ X⊆ U X->Y A2: Tính tăng trưở ng phụ thuộc hàm: Nếu X->Y, Z⊆ U XZ->YZ A3: Tính bắc cầu phụ thuộc hàm: { X->Y, Y->Z}thì X->Z A4: Tình bù phụ thuộc đa trị: X->>Y X->>U\XY A5: Tính tăng trưở ng phụ thuộc đa trị: Nếu X->>Y, V⊆ W WX->YV A6: Tính bắc cầu phụ thuộc đa trị: { X->>Y, Y->>Z}thì X->>Z\Y A7: X->Y X->>Y A8: Nếu X->>Y, W-> Z víi Z⊆ Y tập W ∩ Y=∅ có X->Z 12/22/16 Hồng Thị Hà 108 NHỮNG QUY TẮC SUY DIỄN BỔ SUNG CHO PHỤ THUỘC ĐA TRỊ Quy tắc hợp phụ thuộc đa trị {X->>Y, X->>Z} ⇒ X->>YZ Quy tắc giả bắc cầu phụ thuộc đa trị {X->>Y,WY->>Z} ⇒ WX->>(Z\WY) Quy tắc giả bắc cầu pha trộn: {X->>Y, XY->Z} ⇒ X->>(Z\Y) Quy tắc phân rã phụ thuộc đa trị: Nếu X->>Y X->>Z X->>(Y∩ Z), X->>(Y\Z), X->>(Z\Y) 12/22/16 Hồng Thị Hà 109 BAO ĐÓNG CỦA PHỤ THUỘC HÀM VÀ PHỤ THUỘC ĐA TRỊ ĐVĐ: Cho trướ c tập PTH phụ thuộc đa trị D, muốn tìm tập D+ chứa tất PTH phụ thuộc đa trị đượ c suy từ D 12/22/16 Hồng Thị Hà 110 Cách tính D+: Chúng ta tính D+ cách khởi đầ u với D áp dụng tiên đề t A1, ,A8 đế n khơng cịn suy đượ c phụ thuộc hàm Tuy nhiên trình n ày chiếm thời gian hàm mũ theo kích thướ c cuả D Thông thườ ng ch ỉ mu ốn biết xem phụ thuộc X->Y X->>Y có suy đượ c t D hay không? Để kiểm tra X->>Y hay sai cần xác định sở phụ thuộc X đố i với D xem Y\X có phải hợp số tập s hay khơng? Nếu thoả mãn X->>Y suy đượ c từ D, ngượ c lại X->>Y kh«ng suy đượ c từ D 12/22/16 Hoàng Thị Hà 111 CÁCH TÍNH CƠ SỞ PHỤ THUỘC CỦA X ĐỐI VỚI Y Để tính tốn sở phụ thuộc hàm X D, định lý Beeri(1980) cho bi ết ch ỉ cần tính tốn sở đố i với tập phụ thuộc đa trị M, M bao g ồm: Tất phụ thuộc đa trị D tập phụ thuộc đa trị X>>A1, , X->>An với phụ thuộc hàm X->Y D với Y=A1A2 An Hơn 1980 Beeri cịn đưa thuật tốn với độ phức tạp thời gian đa thức để tính tốn sở phụ thuộc X M Thuật toán sau; 12/22/16 Hồng Thị Hà 112 Thuật tốn tính sở phụ thuộc Vào: tập phụ thuộc đa trị M tập thuộc tính U tập thuộc tính X ⊆ U Ra: Cơ sở phụ thuộc X đố i với M 12/22/16 Hoàng Thị Hà 113 Phương pháp Khởi đầ u với tập S mà cuối trở thành sở phụ thuộc Bướ c 1: S=U\X Bướ c 2: Lặp lặp lại phụ thuộc V->>W tập Y S cho Y có giao với W không giao với V cho đế n khơng cịn thay đổ i S Với trình thay Y Y ∩ W Y-W S 12/22/16 Hồng Thị Hà 114 D¹ng chuÈn 4NF ĐN1: Cho R(U), X,Y⊆ U X->>Y đượ c gọi phụ thuộc đa trị sơ cấp thoả mãn điều kiện: ∀ X… ⊆ X X’ Y XY ≠ U ĐN2: R(U) gọi dạng chuẩn 4NF với ∀ phụ thuộc đa trị X ->>Y( Y≠∅ , Y không tập X XY không chứa tất thuộc tính R) X ch ứa khố c R 12/22/16 Hồng Thị Hà 115 Xét CSDL DAY, quan hệ DAY khơng có PTH ngồi PTH t ầm thườ ng Do đó, khố tối thiểu quan hệ tập tất thuộc tính quan hệ Và quan hệ dạng Boye-Codd Tuy nhiên thấy quan h ệ n ày có hai PTH đa trị Mơnhọc->>Giảngviên, Mơnhọc->>GTrinh Chính MVD dẫn đế n số liệu lặp lại nhiều lần, dư thừa dẫn đế n nguyên nhân số vấn đề bất lợi 12/22/16 Hoàng Thị Hà 116 Ta thấy quan hệ DAY cú K=U quan hệ DAY dạng chuẩn 3NF chưa dạng 4NF (vì MON ->>GIAOVIEN & MON ->>GTRINH mà MON khơng chứa khố ) vậy, ta tách quan hệ DAY thành quan hệ: DAY1(MON, GIAOVIEN) K1= U1 DAY2(MON, GTRINH) K2= U1 Vậy DAY1 &DAY2 4NF 12/22/16 Hồng Thị Hà 117 Ví dụ Cho CSDL công ty hoạt độ ng đầ u tư với thuộc tính sau: B(người mơi giới), O(văn phịng), I (nhà đầu tư), S (cổ phần), Q( số lượng cổ phần nhà đầu tư), D(lãi cổ phần) với phụ thuộc hàm phụ thuộc đa trị : S->> D( biểu thị cho phần lãi nhận từ cổ phần), I->B, IS->Q , B->O Tìm sở phụ thuộc I Tìm sở phụ thuộc BS Tìm phân rã dạng chuẩn cấp 4NF 12/22/16 Hoàng Thị Hà 118 ... ông ta lại lặp lại mối quan hệ 12/22/16 Hoàng Thị Hà Cách giải nào? Để khắc phục nhược điểm cần tách quan hệ thành quan h ệ khác ta đượ c lượ c đồ CSDL (tập lượ c đồ quan hệ) cho t ốt 12/22/16... Trong quan hệ NCC trên, SID→ SNAME, SID → SNAME, SID → SADDR 12/22/16 Hoàng Thị Hà 12 II Hệ tiên đề Amstrong phụ thuộc hàm Hệ tiên đề Amstrong đố i với phụ thuộc hàm Cho R(U) sơ đồ quan hệ với... Hà 38 Ví dụ 12/22/16 Hồng Thị Hà 39 VI Khóa lược đồ quan hệ Định nghĩa: Cho lược đồ quan hệ R(U) tập PTH F, K t ập c U Ta nói K khóa quan hệ R(U) nếu: K += U Không tồn K’⊂ K mà K’+=U Tập
Ngày đăng: 22/12/2016, 13:10
Xem thêm: CHƯƠNG 5: LÝ THUYẾT THIẾT KẾ CSDL QUAN HỆ, CHƯƠNG 5: LÝ THUYẾT THIẾT KẾ CSDL QUAN HỆ