phỤ thuỘc h À m (functional dependency)

18
1 PHỤ THUỘC HÀM PHỤ THUỘC HÀM (FUNCTIONAL DEPENDENCY) (FUNCTIONAL DEPENDENCY) CHỦ ĐỀ 4 CHỦ ĐỀ 4

Upload: yagil

Post on 13-Jan-2016

43 views

Category:

Documents


2 download

DESCRIPTION

CHỦ ĐỀ 4. PHỤ THUỘC H À M (FUNCTIONAL DEPENDENCY). Phụ thuộc hàm. Phuï thuoäc haøm laø một trường hợp đặc biệt của RBTV. Noù ñöôïc öùng duïng trong vieäc giaûi quyeát caùc baøi toaùn: Tìm khoùa cuûa quan heä Tìm bao ñoùng cuûa taäp thuoäc tính - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

1

PHỤ THUỘC HÀM PHỤ THUỘC HÀM (FUNCTIONAL DEPENDENCY)(FUNCTIONAL DEPENDENCY)

CHỦ ĐỀ 4CHỦ ĐỀ 4

Page 2: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

2

Phụ thuộc hàmPhụ thuộc hàm

Phuï thuoäc haøm laø một trường hợp đặc biệt của RBTV. Noù ñöôïc öùng duïng trong vieäc giaûi quyeát caùc baøi toaùn:

- Tìm khoùa cuûa quan heäTìm khoùa cuûa quan heä

- Tìm bao ñoùng cuûa taäp thuoäc tínhTìm bao ñoùng cuûa taäp thuoäc tính

- Tìm phuû toái thieåu cuûa taäp phuï thuoäc haømTìm phuû toái thieåu cuûa taäp phuï thuoäc haøm

- Chuaån hoùa cô sôû döõ lieäuChuaån hoùa cô sôû döõ lieäu

Page 3: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

3

Định nghĩa Phụ thuộc hàm (FD)Định nghĩa Phụ thuộc hàm (FD)

FD là những qui luật giữa những FD là những qui luật giữa những thuộc tính mà một hay nhiều thuộc tính này (mà một hay nhiều thuộc tính này (A1A1) xác ) xác định duy nhất một giá trị của những thuộc định duy nhất một giá trị của những thuộc tính còn lại (tính còn lại (A2A2)) . . Viết làViết là: : A1A1 A2 A2

Đọc làĐọc là: A1 xác định A2 hay A2 phụ thuộc : A1 xác định A2 hay A2 phụ thuộc hàm vào A1hàm vào A1

Có nghĩaCó nghĩa: Biết giá trị A1 thì tìm được duy : Biết giá trị A1 thì tìm được duy nhất một giá trị cho A2nhất một giá trị cho A2

Page 4: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

4

Ví dụ FD Ví dụ FD

A1 A2 A3

101 ZZ 789*

102 YY 456

101 XX 789*

101 YY 345Table names

A1, A2 A3

OrderNo PartNo Quantity

1234 P1 50*

1234 P2 70

1235 P1 50*

1235 P2 30

1236 P1 80

OrderNo, PartNo quantity

Page 5: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

5

Hệ luật dẫn AmstrongHệ luật dẫn Amstrong

Luaät phaûn xaï X X

Luaät theâm vaøo X Y XZ Y

Luaät hôïp X Y, X Z X YZ

Luaät phaân raõ X YZ X Y

Luaät baéc caàu X Y, Y Z X Z

Luaät baéc caàu giaû X Y, YZ W XZ W

Heä Coi quan hệ Q, với X,Y,Z,W laø taäp con cuûa Q+. Coù 6 luaät daãn sau:

Page 6: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

6

Bài tập áp dụng hệ luật dẫn AmstrongBài tập áp dụng hệ luật dẫn Amstrong

Cho tập phụ thuộc hàm F= {AB E, AG J, BE I,

E G, GI H}. Chứng minh AB GH

1. EI EI ( phản xạ)

2. E G (giả thiết)

3. EI EIG (từ 1. và 2.)

4. EI GI (phân rã từ 3.)

5. GI H (giả thiết)

6. EI GHI (từ 4. và 5.)

7. EI GH (phân rã từ 6.)

8. AB AB (phản xạ)

9. AB E (giả thiết)

10. AB ABE (từ 8. và 9.)

11. BE I (giả thiết)

12. AB ABEI (từ 10. và 11.)

13. AB ABEGI (từ 4. và 12.)

14. AB ABEGHI (từ 7. và 13.)

15. AB 15. AB GH GH (phân rã từ 14.)

CÁCH KHÁC: AB AB, AB E, AB ABE, BE I,

AB ABEI, E G, AB ABEGI, GI H, AB ABEGHI, AB GH

Page 7: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

7

BÀI TẬP BÀI TẬP (tiếp theo)(tiếp theo)

Cho tập phụ thuộc hàm

F= {AB C, B D, CD E, CE GH,

G A}

Chứng minh AB E

Page 8: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

8

Bao đóng của tập thuộc tính Bao đóng của tập thuộc tính (closure of attributes set )(closure of attributes set )

Bao đóng của tập phụ thuộc hàm F, ký hiệu là FBao đóng của tập phụ thuộc hàm F, ký hiệu là F++, là tập gồm , là tập gồm tất cả những phụ thuộc hàm suy ra từ F bằng hệ luật dẫn tất cả những phụ thuộc hàm suy ra từ F bằng hệ luật dẫn Amstrong. Thực hiện bài toán này khá lớn, do vậy đi tìm bao Amstrong. Thực hiện bài toán này khá lớn, do vậy đi tìm bao đóng của tập thuộc tính thì dễ dàng hơnđóng của tập thuộc tính thì dễ dàng hơn

Ví dụ: Cho tập F= {f1:B A, f2: DA CE, f3:D H, f4: GH C, f5: AC D}

Tìm bao đóng của AC ký hiệu là AC+

Bước 1 X0 = AC

Bước 2 X1 = ACD (chỉ có f5 thỏa)

Lặp lại bước 2 ta được x2= ACDE, x3= ACDEH

X3 không đổi, dừng không lặp : AC+= ACDEH

Page 9: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

9

Bài tập áp dụng bao đóng của tập thuộc Bài tập áp dụng bao đóng của tập thuộc tínhtính

1) Cho tập phụ thuộc hàm F= {AB E, AG J, BE I, E G, GI H }. Chứng minh AB GH2) Cho tập phụ thuộc hàm F= {AB C, B D, CD E, CE GH, G A} Chứng minh AB E3) Cho bảng r

A B C D E

a1 b1 c1 d1 e1

a1 b2 c2 d2 d1

a2 b1 c3 d3 e1

a2 b1 c4 d3 e1

a3 b2 c5 d1 e1

Kiểm những phụ thuộc hàm sau có thỏa r ?

A D, AD D, A E

C BDE, E A,

Page 10: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

10

Phụ thuộc hàm tương đươngPhụ thuộc hàm tương đươngHai tập phụ thuộc hàm F và G được gọi là tương tương, ta viết F G Nếu F suy ra G ( F G) và G suy ra F (G F)

F suy ra G có nghĩa là:

Từ tập phụ thuộc hàm F, áp dụng hệ luật dẫn, hay bao đóng của tập thuộc tính, suy ra được mọi phụ thuộc hàm trong G

Page 11: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

11

Ví dụ: Phụ thuộc hàm tương đươngVí dụ: Phụ thuộc hàm tương đương

Cho F= {A BC, A D, CD E} G= { A BCE, A BD, CD E}, H= { A BCDE}Kết luận F tương đương G và F không tương đương H

Hướng dẫn: Kiểm tra F GTừ tập F tìm bao đóng của A, nếu nó chứa BCDE, thì F GTương từ từ G, tìm bao đóng của A, nếu nó chứa BCD thì G F. kết luận F tương đương G.

Page 12: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

12

Phủ không dư thừa của Phủ không dư thừa của một tập phụ thuộc hàmmột tập phụ thuộc hàm

Một tập phụ thuộc hàm F là không dư thừa, nếu không tồn tại một tập F’ là tập con của F tương đương với F.

Ví dụ: tìm phủ không dư thừa của :F= { A B, B A, B C, A C}

Nhận xét : kết qủa không duy nhất, vì tùy thuộc vào thứ tự xét của từng phụ thuộc hàm trong F

Page 13: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

13

Bài tập: tìm phủ không dư thừa của một tập Bài tập: tìm phủ không dư thừa của một tập phụ thuộc hàmphụ thuộc hàm

Tìm phủ không dư thừa của tập phụ thuộc hàm G 1) G= {AB C, D E, CG D,C A,D G, CE A,

BC D, BE C, CE G, ACD B, CG B}

2) ke_hoach(NGAY, GIO, PHONG, MONHOC, GIAOVIEN)

G ={NGAY, GIO,PHONG MONHOC

MONHOC,NGAY GIAOVIEN

NGAY,GIO,PHONG GIAOVIEN

MONHOC GIAOVIEN}

Page 14: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

14

Tìm tất cả khóa chính của quan hệTìm tất cả khóa chính của quan hệ

Gọi : NG tập những thuộc tính chỉ ở vế trái của tập F DI tập những thuộc tính ở vế phải của F

TG tập những thuộc tính không có trong NG và DI

Tìm tất cả khóa của quan hệ Q(A,B,Z) có tập phụ thuộc hàm F = {AB C, C A}

Trong ví dụ trên thì:

NG={B}, DI= ,

TG= {A, C}

Khóa chính:

CB hay AC

(khóa chính là những Xi có chiều dài ngắn nhất và Xi+ chứa đủ các thuộc tính của Q

ACAC SSi = tập i = tập con của con của TGTG

Xi= Si Xi= Si NG NG

XiXi++

0000 BB BB

0101 CC CBCB CBACBA

1010 AA ABAB ABCABC

1111 ACAC ACAC ACAC

Page 15: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

15

Bài tập tìm khóa chínhBài tập tìm khóa chính

Cho quan hệ Q hãy tìm các khóa chính cho Q 1) Q( TENTAU,LOAITAU,MACHUYEN,LUONGHANG,BENCANG, NGAY)F={TENTAU LOAITAU MACHUYEN TENTAU, LUONGHANG TENTAU,NGAY BENCANG, MACHUYEN}

2) Q(A,B,C,D,E,G) F={ABC,C A,BCD,ACDB,DEG,BEC,CGBD,CEG}3)Q(BROKER,OFFICE,STOCK,QUANTITY,INVESTOR,DIVIDENT) F={STOCK DIVIDENT

INVESTOR BROKER INVESTOR,STOCK QUANTITY BROKER OFFICE }

Page 16: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

16

Phủ tối thiểu cho tập phụ thuộc Phủ tối thiểu cho tập phụ thuộc hàmhàm

F ñöôïc goïi laø moät taäp phuï thuoäc haøm toái thieåu (hay phuû toái thieåu) neáu F thoûa ñoàng thôøi ba ñieàu kieän sau:

1) F laø taäp phuï thuoäc haøm coù veá traùi khoâng dö thöøa

2) F laø taäp phuï thuoäc haøm coù veá phaûi moät thuoäc tính.

3) F laø taäp phuï thuoäc haøm khoâng dö thöøa

Thuaät toaùn tìm phuû toái thieåu cuûa moät taäp phuï thuoäc haøm

Böôùc 1:loaïi khoûi F caùc phuï thuoäc haøm coù veá traùi dö thöøa.

Böôùc 2:Taùch caùc phuï thuoäc haøm coù veá phaûi treân moät thuoäc tính thaønh caùc phuï thuoäc haøm coù veá phaûi moät thuoäc tính.

Böôùc 3: loaïi khoûi F caùc phuï thuoäc haøm dö thöøa.

Page 17: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

17

Tìm phủ tối Tìm phủ tối thiểuthiểuCho löôïc ñoà quan heä Q(A,B,C,D) vaø taäp phuï thuoäc F nhö sau: F= {AB CD,B C,C D}Haõy tính phuû toái thieåu (Ftt) cuûa F.

Böôùc 1: ABCD laø PTH coù veá traùi dö thöøa? B CD F+? traû lôøi: B+=BCD B CD F+

Vaäy AB CD laø PTH coù veá traùi dö thöøa A keát quaû cuûa böôùc 1 laø:

F{B CD, B C, C D}Böôùc 2: keát quaû cuûa böôùc 2 laø:

F{B D, B C, C D}=F1ttBöôùc 3: trong F1tt, B C laø PTH dö thöøa?

B C G+? vôùi G = F1tt - {B C}={B D;C D}BG+=BD B C G+ trong F1tt B C khoâng dö thöøa.trong F1tt,B D laø PTH dö thöøa?B D G+? vôùi G = F1tt - {B D}={B C, C D}BG+=BCD B D G+ trong F1tt,B D dö thöøa.keát quaû cuûa böôùc 3 cho phuû toái thieåu:F{B C, C D}=Ftt

Page 18: PHỤ THUỘC H À M    (FUNCTIONAL DEPENDENCY)

18

Bài Bài

tậptập

F = {MSCD CD; CD MSCD; CD,MSSV HG; MSCD,HG MSSV; CD,HG MSSV; MSCD,MSSV HG}

Haõy tìm phuû toái thieåu cuûa F keát quaû:Ftt = {MSCD CD;

CD MSCD;CD,HG MSSV;MSCD,MSSV HG}

Cho löôïc ñoà quan heä Q(MSCD,MSSV,CD,HG) vaø taäp phuï thuoäc F nhö sau: