Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
421,92 KB
Nội dung
Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong thảo luận số vấn đề lý thuyết phát triển nhằm mục đích chọn lược đồ quan hệ “tốt”, nghĩa đo đạc cách hình thức tập hợp thuộc tính nhóm vào lược đồ quan hệ tốt nhóm Chúng ta nói đến “tính tốt” lược đồ quan hệ hai mức: mức thứ mức lôgic, mức thứ hai mức cài đặt Mức thứ liên quan đến việc người sử dụng thể lược đồ quan hệ ý nghĩa thuộc tính chúng Mức thứ hai liên quan đến việc quan hệ sở lưu trữ cập nhật Việc thiết kế sở liệu thực cách sử dụng hai giải pháp: lên (bottom-up) xuống (top-down) Phương pháp thiết kế lên xem mối liên kết thuộc tính riêng rẽ điểm xuất phát sử dụng chúng để xây dựng nên quan hệ Giải pháp có tên gọi thiết kế tổng hợp (design by synthesis) Ngược lại, phương pháp thiết kế xuống, cịn gọi thiết kế phân tích (design by analyse) số nhóm thuộc tính quan hệ nhận từ thiết kế quan niệm hoạt động chuyển đổi Sau việc thiết kế phân tích áp dụng quan hệ cách riêng rẽ tập thể dẫn đến việc tách quan hệ đạt tính chất mong muốn Các nguyên tắc thiết kế lược đồ quan hệ Ngữ nghĩa thuộc tính quan hệ Khi nhóm thuộc tính để tạo nên lược đồ quan hệ, ta giả thiết có ý nghĩa gắn với thuộc tính Ý nghĩa này, cịn gọi ngữ nghĩa, việc hiểu giá trị thuộc tính lưu giữ quan hệ Nói cách khác, giá trị thuộc tính liên hệ với Nếu việc thiết kế khái niệm làm cách cẩn thận, sau chuyển đổi sang quan hệ 1/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm hầu hết ngữ nghĩa giải thích thiết kế kết có ý nghĩa rõ ràng Nói chung, việc giải thích ngữ nghĩa quan hệ dễ dàng việc thiết kế lược đồ quan hệ tốt Một ví dụ thiết kế lược đồ quan hệ tốt lược đồ sở liệu “CÔNG TY” Trong lược đồ đó, thuộc tính có ý nghĩa rõ ràng, khơng có tính mập mờ Ngun tắc sau hỗ trợ cho việc thiết kế lược đồ quan hệ Nguyên tắc 1: Thiết kế lược đồ quan hệ cho dễ giải thích ý nghĩa Đừng tổ hợp thuộc tính từ nhiều kiểu thực thể kiểu liên kết vào quan hệ đơn Một cách trực quan, lược đồ quan hệ tương ứng với kiểu thực thể kiểu liên kết ý nghĩa trở nên rõ ràng Ngược lại, quan hệ tương ứng với hỗn hợp thực thể liên kết ý nghĩa trở nên không rõ ràng Thông tin dư thừa dị thường cập nhật Một mục tiêu thiết kế lược đồ làm tối thiểu không gian lưu trữ quan hệ sở Các thuộc tính nhóm vào lược đồ quan hệ có ảnh hưởng đáng kể đến khơng gian lưu trữ Nếu thông tin lưu giữ nhiều lần sở liệu ta gọi dư thừa thơng tin điều làm lãng phí khơng gian nhớ Ví dụ, giả sử ta có bảng sở sau đây: Bảng NHÂNVIÊN_ĐƠNVỊ 2/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Ở có dư thừa thơng tin Nếu đơn vị có nhiều nhân viên làm việc thơng tin đơn vị (Mã số, Tên đơn vị, Mã số người quản lý) lưu giữ nhiều lần bảng So với việc dùng hai bảng NHÂNVIÊN ĐƠNVỊ riêng rẽ lược đồ “CÔNG TY”, việc sử dụng bảng làm lãng phí khơng gian nhớ Ngồi việc lãng phí khơng gian nhớ cịn dẫn đến vấn đề nghiêm trọng dị thường cập nhật Dị thường cập nhật bao gồm: Dị thường Chèn, dị thường Xoá, dị thường Sửa đổi Những dị thường cập nhật đưa vào sở liệu thông tin “lạ” làm cho sở liệu tính đắn Dị thường Chèn: Gây khó khăn chèn giá trị vào bảng dẫn đến vi phạm ràng buộc Ví dụ: Để chèn giá trị cho nhân viên vào bảng NHÂNVIÊN_ĐƠNVỊ ngồi thơng tin nhân viên, ta phải đưa vào thông tin đơn vị mà làm việc giá trị null (nếu nhân viên không làm việc cho đơn vị cả) Các thông tin đơn vị phải đưa vào cách đắn, phù hợp với thơng tin đơn vị khác Trong lúc đó, với lược đồ sở liệu “CƠNGTY” khơng phải lo lắng gì, thông tin đơn vị lưu trữ lần Rất khó chèn đơn vị vào quan hệ NHÂNVIÊN_ĐƠNVỊ đơn vị khơng có nhân viên làm việc Cách giải điền giá trị null vào thuộc tính nhân viên Điều làm nảy sinh vấn đề ràng buộc MãsốNV khóa quan hệ Dị thường Xóa: Gây việc thơng tin xóa Ví dụ ta xóa giá trị bảng NHÂNVIÊN_ĐƠNVỊ Nếu nhân viên tương ứng với giá trị người cuối làm việc cho đơn vị phép xóa kéo theo việc làm thông tin đơn vị Dị thường Sửa đổi: Gây việc sửa đổi hàng loạt ta muốn sửa đổi giá trị Ví dụ, ta muốn sửa giá trị thuộc tính MãsốNQL đơn vị Điều kéo theo ta phải sửa giá trị thuộc tính tất ứng với đơn vị Dựa dị thường trên, phát biểu nguyên tắc sau: Nguyên tắc 2: Thiết kế lược đồ quan hệ sở cho không sinh dị thường cập nhật quan hệ Nếu có xuất dị thường cập nhật phải ghi chép lại cách rõ ràng phải đảm bảo chương trình cập nhật liệu thực cách đắn Các giá trị không xác định Trong số thiết kế lược đồ, nhóm nhiều thuộc tính với vào quan hệ “béo” Nếu nhiều thuộc tính khơng thích hợp cho quan hệ, kết thúc với nhiều giá trị null Điều làm tăng khơng 3/14 Các ngun tắc thiết kế lược đồ quan hệ phụ thuộc hàm gian mức lưu trữ dẫn đến vấn đề hiểu ý nghĩa thuộc tính Việc phép nối mức lôgic gặp khó khăn Một vấn đề với giá trị null hàm nhóm COUNT, SUM khơng đếm chúng Hơn nữa, giá trị null nhiều cách giải thích, chẳng hạn thuộc tính khơng áp dụng cho này, giá trị thuộc tính cho khơng có giá trị cho thuộc tính có vắng mặt Tóm lại, giá trị null có nhiều ý nghĩa khác Nguyên tắc 3: Tránh xa tốt việc đặt vào quan hệ sở thuộc tính mà giá trị chúng thường xuyên null Nếu tránh giá trị null phải đảm bảo chúng áp dụng trường hợp đặc biệt không áp dụng cho số lớn quan hệ Sinh giả Nhiều đưa vào sở liệu quan hệ không đúng, việc áp dụng phép toán (nhất phép nối) sinh giá trị không đúng, gọi “giả” Ví dụ, xét hai lược đồ quan hệ: NV_ĐĐ (Tên, ĐịađiểmDA) NV_DA1(Mã sốNV, Mã sốDA, Sốgiờ, TênDA, ĐịađiểmDA) Bảng NV_ĐĐ 4/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Bảng NV_DA1 Bây ta nối tự nhiên hai quan hệ với nhau, ta có quan hệ Kết phép nối tự nhiên hai quan hệ NV_ĐĐ NV_DA1 Ta thấy dòng đánh dấu * “giả” Đấy giá trị khơng có thực tế Nguyên tắc 4: Thiết kế lược đồ quan hệ cho chúng nối với điều kiện thuộc tính khố khố ngồi theo cách đảm bảo khơng sinh “giả” Đừng có quan hệ chứa thuộc tính nối khác với tổ hợp khố 5/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm chính-khố ngồi Nếu khơng tránh quan hệ đừng nối chúng thuộc tính đó, phép nối sinh “giả” Các phụ thuộc hàm Khái niệm thiết kế lược đồ quan hệ khái niệm phụ thuộc hàm Trong phần định nghĩa hình thức khái niệm cách sử dụng để định nghĩa dạng chuẩn cho lược đồ quan hệ Định nghĩa phụ thuộc hàm Một phụ thuộc hàm ràng buộc hai nhóm thuộc tính sở liệu Giả sử lược đồ sở liệu ta có n thuộc tính A1,A2,…,An ta nghĩ toàn sở liệu mô tả lược đồ quan hệ chung R={A1, A2,…., An} Đừng nên nghĩ sở liệu lưu trữ bảng chung, sử dụng khái niệm để phát triển lý thuyết hình thức phụ thuộc liệu Giả sử X Y hai tập R Một phụ thuộc hàm, ký hiệu X→ Y, hai tập thuộc tính X Y ràng buộc có tạo nên trạng thái quan hệ r R Ràng buộc là: với hai t1 t2 r , có t1[X] = t2[X] phải có t1[Y] = t2[Y] Điều có nghĩa giá trị thành phần Y R phụ thuộc vào, xác định bởi, giá trị thành phần X Nói cách khác, giá trị thành phần X xác định cách giá trị thành phần Y Chúng ta nói có phụ thuộc hàm từ X vào Y Y phụ thuộc hàm vào X Phụ thuộc hàm viết tắt FD (functional dependency) Tập thuộc tính X gọi vế trái FD, tập thuộc tính Y gọi vế phải FD Như vậy, X xác định hàm Y lược đồ quan hệ R hai r(R) giá trị X chúng thiết phải giá trị Y Ta có nhận xét sau: • Nếu có ràng buộc trạng thái R có giá trị X thể quan hệ r(R) điều kéo theo X → Y với tập thuộc tính Y R • Nếu X → Y khơng thể nói Y → X Một phụ thuộc hàm tính chất ngữ nghĩa thuộc tính Những người thiết kế sở liệu dùng hiểu biết họ ý nghĩa thuộc tính R để phụ thuộc hàm có trạng thái quan hệ r(R) R Khi ngữ nghĩa hai tập thuộc tính R có phụ thuộc hàm, đặc tả phụ thuộc hàm ràng buộc Các trạng thái quan hệ r(R) thoả mãn ràng buộc phụ thuộc hàm gọi trạng thái hợp pháp R, chúng tuân theo 6/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm ràng buộc phụ thuộc hàm Như vậy, việc sử dụng chủ yếu phụ thuộc hàm dùng để mô tả lược đồ quan hệ R việc ràng buộc thuộc tính phải thoả mãn thời điểm Một phụ thuộc hàm tính chất lược đồ quan hệ R khơng phải tính chất trạng thái hợp pháp r R Vì vậy, phụ thuộc hàm phát cách tự động từ trạng thái r mà phải người hiểu biết ngữ nghĩa thuộc tính xác định cách rõ ràng Ví dụ, ta có quan hệ sau Bảng DẠY Mới nhìn qua, nói có phụ thuộc hàm Tàiliệu → Mônhọc, nhiên khẳng định điều với trạng thái quan hệ này, trạng thái quan hệ khác có hai mơn học khác sử dụng tài liệu tham khảo Với trạng thái cụ thể, khẳng định khơng có phụ thuộc hàm nhóm thuộc tính nhóm thuộc tính khác Để làm điều cần đưa phản ví dụ Chẳng hạn, quan hệ khẳng định khơng có phụ thuộc hàm Giáoviên Mơnhọc cách ví dụ AA dạy hai môn học “ Mônhọc1” “Mônhọc2” Giáo viên xác định Môn học Để biểu diễn phụ thuộc hàm lược đồ quan hệ, sử dụng khái niệm sơ đồ phụ thuộc hàm Mỗi FD biểu diễn đường nằm ngang Các thuộc tính vế trái FD nối với đường biểu diễn FD đường thẳng đứng, thuộc tính vế phải FD nối với đường biểu diễn FD mũi tên đến thuộc tính Ví dụ: Ta có lược đồ quan hệ MƯỢN(Sốthẻ, Mãsốsách, Tênngườimượn, Tênsách, Ngàymượn) 7/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Với phụ thuộc hàm: Sốthẻ → Tênngườimượn Mãsốsách → Tênsách Sốthẻ, Mãsốsách → Ngàymượn Có sơ đồ phụ thuộc hàm sau: Sơ đồ phụ thuộc quan hệ MƯỢN Các quy tắc suy diễn phụ thuộc hàm Chúng ta ký hiệu F tập phụ thuộc hàm xác định lược đồ quan hệ R Một phụ thuộc hàm X → Y gọi suy diễn từ tập phụ thuộc hàm F xác định R X → Y trạng thái quan hệ r mở rộng hợp pháp R, nghĩa r làm thoả mãn phụ thuộc hàm F, X→ Y r Tập hợp tất phụ thuộc hàm suy diễn từ F gọi bao đóng F ký hiệu F+ Để xác định cách suy diễn phụ thuộc hàm có hệ thống, phải phát tập hợp quy tắc suy diễn Tập quy tắc sử dụng để suy diễn phụ thuộc hàm từ tập phụ thuộc hàm cho trước Ta sử dụng ký hiệu F |= X→ Y để ký hiệu phụ thuộc hàm X→ Y suy diễn từ tập phụ thuộc hàm F Để cho tiện, ta viết tắt phụ thuộc hàm có dạng {X,Y}→ Z thành XY → Z ( nghĩa ta nối biến bỏ dấu ngoặc nhọn đi) Có quy tắc suy diễn phụ thuộc hàm: QT1 (quy tắc phản xạ) : Nếu X ? Y X → Y QT2 (quy tắc tăng) : { X→ Y } |= XZ →YZ QT3 (quy tắc bắc cầu) : { X→ Y, Y→ Z } |= X→ Y QT4 (quy tắc chiếu) : { X→ YZ } |= X→ Y X→ Z 8/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm QT5 (quy tắc hợp) : { X→ Y , X→ Z } |= X→ YZ QT6 (quy tắc tựa bắc cầu) : { X→ Y, WY→ Z } |= WX→ Z Quy tắc phản xạ phát biểu tập hợp thuộc tính ln ln xác định tập Vì QT1 tạo phụ thuộc luôn đúng, phụ thuộc gọi tầm thường Một cách hình thức, phụ thuộc hàm X → Y tầm thường X ?Y, ngược lại, gọi khơng tầm thường Quy tắc tăng nói việc thêm tập thuộc tính vào hai vế phụ thuộc hàm tạo phụ thuộc hàm đắn Theo quy tắc 3, phụ thuộc hàm bắc cầu Quy tắc chiếu (QT4) nói bỏ bớt thuộc tính khỏi vế phải phụ thuộc hàm Việc áp dụng nhiều lần quy tắc tách phụ thuộc hàm X → {A1, A2,…, An} thành tập hợp phụ thuộc hàm { X→ A1, X→ A2, , X→ An} Quy tắc hợp cho phép làm ngược lại, ta gộp phụ thuộc hàm { X→ A1, X→A2, , X→ An} thành phụ thuộc hàm đơn X→ {A1, A2, , An} Có thể chứng minh quy tắc suy diễn cách trực tiếp phản chứng dựa định nghĩa phụ thuộc hàm Để chúng minh phản chứng, ta giả thiết quy tắc không điều khơng thể Sau chứng minh quy tắc Quy tắc 1: Giả sử X ? Y hai t1 t2 thể quan hệ r R cho t1[X] = t2[X] Khi t1[Y] = t2[Y] X ? Y, X→ Y phải xẩy r Quy tắc 2: (chứng minh phản chứng) Giả sử X→Y thể quan hệ r R XZ→ YZ không Khi phải có hai t1 t2 r cho: t1[X] = t2[X], t1[Y] = t2[Y], t1[XZ] = t2[XZ] t1[YZ] ≠ t2[YZ] Điều khơng thể từ (1) (3) suy t1[Z] = t2[Z], từ (2) (5) ta suy t1[YZ] = t2[YZ], mâu thuẫn với (4) Quy tắc 3: Giả sử (1) X→ Y (2) Y→ Z hai quan hệ r Khi với t1 t2 r cho t1[X] = t2[X] ta phải có (3) t1[Y] = t2[Y] theo giả thiết (1) Như phải có (4) t1[Z] = t2[Z] theo (3) giả thiết (2) Vậy X→ Z phải r 9/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Chúng ta chứng minh quy tắc từ quy tắc đến quy tắc theo phương pháp Tuy nhiên ta lợi dụng quy tắc chứng minh để chứng minh chúng Sau ta chứng minh theo cách Quy tắc 4: X→ YZ (cho trước) YZ → Y (sử dụng QT1 YZ ? Y) X→ Y (sử dụng QT3 2.) Quy tắc 5: X→ Y (cho trước) X→ Z (cho trước) X→ YX (sử dụng QT2 cách thêm vào hai vế X, XX=X) YX→ YZ (sử dụng QT2 cách thêm vào hai vế Y) X→YZ (sử dụng QT3 4.) Quy tắc 6: X→Y (cho trước ) WY→Z (cho trước) WX→WY (sử dụng QT2 cách thêm vào hai vế W) WX→ Y (sử dụng QT3 2.) Amstrong chứng minh quy tắc suy diễn từ QT1 đến QT3 đầy đủ Đúng có nghĩa cho trước tập phụ thuộc hàm F lược đồ quan hệ R , phụ thuộc hàm suy diễn cách áp dụng quy tắc từ QT1 đến QT3 trạng thái quan hệ r R thoả mãn phụ thuộc hàm F Đầy đủ có nghĩa việc sử dụng quy tắc từ QT1 đến QT3 lặp lại nhiều lần để suy diễn phụ thuộc hàm khơng cịn suy diễn cho kết tập hợp đầy đủ phụ thuộc hàm suy diễn từ F Nói cách khác, tập hợp phụ thuộc hàm F+ (bao đóng F) xác định từ F cách áp dụng quy tắc suy diễn từ QT1 đến QT3 Các quy tắc từ QT1 đến QT3 gọi quy tắc suy diễn Amstrong 10/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Thông thường, người thiết kế sở liệu tập phụ thuộc hàm dễ xác định nhờ ngữ nghĩa thuộc tính R Sau đó, sử dụng quy tắc Amstrong để suy diễn phụ thuộc hàm bổ sung Một cách có hệ thống, để xác định tất phụ thuộc hàm bổ sung xác định tập thuộc tính X xuất vế trái phụ thuộc hàm F sau xác định tập hợp tất thuộc tính phụ thuộc vào X Như vậy, với tập thuộc tính X, xác định tập X+ thuộc tính phụ thuộc hàm vào X dựa F X+ gọi bao đóng X F Thuật toán xác định X+ sau: Thuật toán 7.1: ( xác định X+, bao đóng X F) X+ = X; Repeat Old X+ = X+ ; với phụ thuộc hàm Y → Z F thực X+ ? Y X+ = X+ ? Z; until ( X+ = Old X+ ); Ví dụ: Xét lược đồ quan hệ R = {MãsốNV, HọtênNV, MãsốDA, TênDA, ĐịađiểmDA, Sốgiờ} tập phụ thuộc hàm F = {MãsốNV → HọtênNV, MãsốDA → TênDA, ĐịađiểmDA, {MãsốNV, MãsốDA} → Số giờ} Áp dụng thuật tốn 7.1 ta có: {MãsốNV}+ = { MãsốNV, HọtênNV} {MãsốDA }+ = { MãsốDA, TênDA, ĐịađiểmDA} {MãsốNV, MãsốDA}+ = {MãsốNV, HọtênNV, MãsốDA, TênDA, Sốgiờ} 11/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Bao đóng khóa: Để ý X+ là tập tất thuộc tính quan hệ có nghĩa X xác định hàm thuộc tính cịn lại, hay nói cách khác X siêu khóa Chúng ta kiểm tra xem tập thuộc tính X có phải khóa quan hệ cách trước tiên xem X+ có chứa tất thuộc tính quan hệ hay khơng sau kiểm tra khơng có tập S lập từ X cách loại bỏ thuộc tính X thỏa mãn S+chứa tất thuộc tính quan hệ (nghĩa X siêu khóa tối thiểu) Ví dụ: Xét lược đồ quan hệ R( A,B,C,D,E,F) tập phụ thuộc hàm F ={ A,B → F ; A→ C,D; B → E } Ta có {A,B}+ = {A,B,C,D,E,F}, A+ = {A,C,D}, B+ = {B,E} , AB khóa quan hệ Sự tương đương tập phụ thuộc hàm Trong phần thảo luận tương đương hai tập phụ thuộc hàm Một tập hợp phụ thuộc hàm E phủ tập phụ thuộc hàm F - F phủ E - phụ thuộc hàm E F+ ,điều có nghĩa phụ thuộc hàm E suy diễn từ F Hai tập phụ thuộc hàm E F tương đương E+ = F+ Như tương đương có nghĩa phụ thuộc hàm E suy diễn từ F phụ thuộc hàm F suy diễn từ E Chúng ta xác định xem F có phủ E hay khơng cách tính X+ F thuộc hàm X→Y E sau kiểm tra xem X+ có thuộc tính Y hay khơng (nghĩa X+ ? Y) Nếu điều xẩy với phụ thuộc hàm E, F phủ E Chúng ta xác định xem E F có tương đương hay khơng cách kiểm tra E phủ F F phủ E Ví dụ : Xét hai tập phụ thuộc hàm F = {A →C, AC → D, E→AD, E →H } E = { A →CD, E → AH } Ta chứng minh F phủ E: Tìm bao đóng vế trái phụ thuộc hàm E theo F Áp dụng thuật tốn 7.1 trên, ta có: 12/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm {A}+ = { A, C, D }; {E}+ = {E, A,D, H} ta thấy bao đóng chứa vế phải tương ứng Từ suy F phủ E Ta chứng minh E phủ F: Tìm bao đóng vế trái phụ thuộc hàm F theo E Ta có {A}+ ={A,C,D}, {AC}+ = { A,C,D}, {E}+ = {E,A,H}, ta thấy bao đóng chứa vế phải tương ứng Từ suy E phủ F Tóm lại E tương đương với F Các tập phụ thuộc hàm tối thiểu Một tập phụ thuộc hàm tối thiểu thoả mãn điều kiện sau đây: Vế phải phụ thuộc hàm F có thuộc tính Chúng ta khơng thể thay phụ thuộc hàm X →A F phụ thuộc hàm Y→A, Y tập X mà tập phụ thuộc hàm tương đương với F Chúng ta bỏ phụ thuộc hàm khỏi F mà có tập phụ thuộc hàm tương đương với F Chúng ta nghĩ tập tối thiểu phụ thuộc hàm tập hợp dạng chuẩn khơng có dư thừa Điều kiện đảm bảo phụ thuộc hàm dạng tắc với thuộc tính vế phải Điều kiện đảm bảo khơng có dư thừa phụ thuộc có thuộc tính dư thừa vế trái phụ thuộc, có phụ thuộc suy diễn từ phụ thuộc khác F Một phủ tối thiểu tập phụ thuộc hàm F tập tối thiểu phụ thuộc hàm Fmin tương đương với F Thường có nhiều phủ tối thiểu cho tập phụ thuộc hàm Chúng ta ln ln tìm phủ tối thiểu G cho tập phụ thuộc hàm F theo thuật toán 4.2 sau đây: 13/14 Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm Thuật tốn 7.2: ( Tìm phủ tối thiểu G cho F) Đặt G := F; Thay phụ thuộc hàm X → {A1, A2, , An} G n phụ thuộc hàm X → A1, X → A2, … , X → An Với phụ thuộc hàm X → A G, với thuộc tính B phần tử X ((G – (X → A) ? ((X ? {B}) → A) tương đương với G thay X→A (X – {B})→A G Với phụ thuộc hàm X→A lại G (G ? {X → A}) tương đương với G loại bỏ X → A khỏi G Ví dụ áp dụng : Tìm phủ tối thiểu cho tập phụ thuộc hàm: {A → B, A → C, B → A, B → C, C → A, C → B} Áp dụng thuật 7.2, tìm phủ tối thiểu sau: Do A→B B→C nên A→C thừa Do C→B B→A nên C→A thừa Bỏ phụ thuộc hàm thừa đi, ta có {A→B, B→A, B→C, C→B} phủ tối thiểu Do A→B B→C nên A→C thừa Do có B→C C→A nên B→A thừa Do có C→A A→B nên C→B thừa Bỏ phụ thuộc hàm thừa đi, ta nhận phủ tối thiểu khác {A→B, B→C, C→A} 14/14 ... Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm chính-khố ngồi Nếu khơng tránh quan hệ đừng nối chúng thuộc tính đó, phép nối sinh “giả” Các phụ thuộc hàm Khái niệm thiết kế lược đồ quan hệ. .. Ngàymượn Có sơ đồ phụ thuộc hàm sau: Sơ đồ phụ thuộc quan hệ MƯỢN Các quy tắc suy diễn phụ thuộc hàm Chúng ta ký hiệu F tập phụ thuộc hàm xác định lược đồ quan hệ R Một phụ thuộc hàm X → Y gọi.. .Các nguyên tắc thiết kế lược đồ quan hệ phụ thuộc hàm hầu hết ngữ nghĩa giải thích thiết kế kết có ý nghĩa rõ ràng Nói chung, việc giải thích ngữ nghĩa quan hệ dễ dàng việc thiết kế lược đồ quan