bài tập về phụ thuộc hàm có lời giải-Nguyễn Công Trình
Hệ quản lý bán hàng có cơ sở dữ liệu quan hệ với tập thuộc tính U và tập phụ thuộc hàm F.
+U = {Số đơn hàng, ngày cung cấp, người cung cấp, địa chỉ người cung cấp, ngày đặt hàng, mã hàng, số lượng, tên hàng, đơn vị tính, đơn giá}
F = {Số đơn hàng ==>(ngày cung cấp, người cung cấp, địa chỉ người cung cấp, ngày đặt hàng), (Số đơn hàng,mã hàng) ==> (tên hàng, đơn vị tính, đơn giá, số lượng), ngày cung cấp ==>(người cung cấp, địa chỉ người cung cấp), mã hàng ==>(tên hàng, đơn vị tính, đơn giá)}.
Tập phụ thuộc hàm F đã phủ tối thiểu chưa ? Vì sao? Nếu chưa tìm một phủ tối thiểu của tập phụ thuộc hàm F trong quan hệ R ?
GIẢI :
Tập phụ thuộc hàm F chưa tối thiểu vì tồn tại PTH Số đơn hàng ==>(ngày cung cấp, người cung cấp, địa chỉ người cung cấp, ngày đặt hàng) có vế phải gồm 4 thuộc tính- Đặt các thuộc tính của U tương ứng như sau:
Số đơn hàng =A, ngày cung cấp = B, người cung cấp = C, địa chỉ người cung cấp = D,
ngày đặt hàng = E, mã hàng=F, số lượng=G, tên hàng= H, đơn vị tính = I, đơn giá=K
Khi đó F={A==>BCDE ; AF==>HIKG ; B ==> CD;F==>HIK}
+ Tách vế phải của các PTH thành các thuộc tính đơn
F1={A==>B ;A==>C ;A==>D ;A==>E ;AF==>H ; AF==>I ; AF==>K ; AF==>G ; B ==>C ; B ==>D ; F==>H ; F==>I ; F==>K}
+ Loại bỏ những thuộc tính dư thừa bên trái
Xét PTH AF==>H
A+= ABCDE không chứa F nên F không dư thừa
F+= FHIK không chứa A nên A không dư thừa
Xét PTH AF==>I
A+= ABCDE không chứa F nên F không dư thừa
F+=FHIK không chứa A nên A không dư thừa
Xét PTH AF==>K
A+= ABCDE không chứa F nên Fkhông dư thừa
F+=FHIK không chứa A nên Akhông dư thừa
Xét PTH (A,F)àG
A+= ABCDE không chứa F nên F không dư thừa
F+=FHIK không chứa A nên A không dư thừa
Như vậy ta có:
F2={A==>B ;A==>C ;A==>D ;A==>E ;AF==>H ; AF==>I ; AF==>K ; AF==>G ; B ==>C ; B ==>D ; F==>H ; F==>I ; F==>K}
+ Loại bỏ những PTH dư thừa
Xét các PTH sau :
AF==>H dư thừa vì có {AF}+ = ABCDEFGHIK chứa H
AF==>I dư thừa vì có {AF}+ = ABCDEFGHIK chứa I
AF==>K dư thừa vì có {AF}+ = ABCDEFGHIK chứa K
A==>C dư thừa vì có A+= ABCDE chứa C
A==>D dư thừa vì có A+= ABCDE chứa D
Như vậy ta có F3={A==>B ; A==>E ; AF==>G ; B ==>C ; B ==>D ;F==>H ; F==>I ; F==>K} (1 điểm)
Kết luận: phủ tối thiểu của tập phụ thuộc hàm F trong quan hệ R là
F=F3={A==>B ; A==>E ; AF==>G ; B ==>C ; B ==>D ;F==>H ; F==>I ; F==>K}
Hay F = {Số đơn hàng ==>ngày cung cấp; Số đơn hàng ==>ngày đặt hàng ;(Số đơn hàng, mã hàng) à==>số lượng ; ngày cung cấp ==>người cung cấp; ngày cung cấp ==>địa chỉ người cung cấp ; mã hàng ==>tên hàng ; mã hàng ==> đơn vị tính ; mã hàng ==>đơn giá }
Nhấn vào bên dưới để tải tài liệu
Để tải xuống xem đầy đủ hãy nhấn vào bên trên
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Mình giải thế này! Bây giờ F={AB->D, B->C, C->D}Bước 3: Loại bỏ cái PTH hàm dư thừa - Nếu bỏ PTH: AB->D thì F={B->C, C->D} =>F+={BCD} # Q+={ABCD} => Không thể bỏ - Nếu bỏ PTH: B->C thì F={AB->D,C->D} F+={ABDC} = Q+={ABCD} => Bỏ - Viết lại F={AB->D,C->D} - Xét tiếp C->D nếu bỏ thìF={AB->D} => F+={ABD} # Q+={ABCD} => Không thể bỏ - Vậy PTT(F) = {AB->D, C->D} => Đáp án của mình khác với bạn. => Theo như đáp án của bạn thì PTH(F)={B->C, C->D} ??Làm cách nào suy ra A |