THUẬT TỐN TÌM F+

Một phần của tài liệu Giáo trình cơ sơ dữ liệu (Trang 48 - 50)

1 Thuật tốn cơ bản

Để tính bao đĩng F+ của tập các phụ thuộc hàm F ta thực hiện các bước sau: Bước 1: Tìm tất cả tập con của Q+

Bước 2: Tìm tất cả các phụ thuộc hàm cĩ thể cĩ của Q. Bước 3: Tìm bao đĩng của tất cả tập con của Q.

Bước 4: Dựa vào bao đĩng của tất cả các tập con đã tìm để xác định phụ thuộc hàm nào thuộc F+

Ví dụ 3:

Cho lược đồ quan hệ Q(A,B,C) F = {AB → C,C → B} là tập phụ thuộc hàm trên Q. F+ được tính lần lượt theo các bước trên là như sau:

Bước 1: Các tập con của Q+

A B C

∅ {A} {B} {C}

{A,B} {A,C}

{B,C} {A,B,C}

Bước 2: các phụ thuộc hàm cĩ thể cĩ của F (khơng kê các phụ thuộc hàm hiển nhiên)

A→B A→BC B→C AB→C∈F C→A C→BC∈F+ AC→BC∈F+ BC→AC A→AB A→ABC B→AC AB→AC∈F+ C→B∈F C→ABC AC→ABC∈F+ BC→ABC A→C B→A B→BC AB→BC∈F+ C→AB AC→B∈F+ BC→A

A→AC B→AB B→ABC AB→ABC∈F+ C→AC AC→AB∈F+ BC→AB

Bước 3: bao đĩng của các tập con của Q đối với F

∅+

=∅ A+ = A C+ = BC

ABC+ =ABC B+ = B AC+ = ABC

AB+ = ABC BC+ = BC

Bước 4: F = {AB → C,C → B} suy ra:

F+ = {AB→C,AB→AC,AB→BC,AB→ABC,C→B,C→BC,AC→B,AC→AB,AC→BC,AC→ABC}

2 Thuật tốn cải tiến

Dựa vào thuật tốn cơ bản trên, ta nhận thấy cĩ thể tính F+ theo các bước sau: Bước 1: Tìm tất cả tập con của Q+

Bước 2: Tìm bao đĩng của tất cả tập con của Q+.

Bước 4: Dựa vào bao đĩng của các tập con đã tìm để suy ra các phụ thuộc hàm thuộc F+.

Ví dụ bao đĩng A+ = A chỉ gồm các phụ thuộc hàm hiển nhiên

bao đĩng {AB}+ = ABC cho các phụ thuộc hàm khơng hiển nhiên sau

AB→C,AB→AC,AB→BC,AB→ABC

(Tìm tất cả các tập con của {ABC} rồi bỏ các tập con của {AB})

Các tập con của {ABC} là: ∅, {A},{B},{AB},{C},{AC},{BC},{ABC}

Bỏ các tập con của {AB} là: ∅, {A},{B},{AB},{C},{AC},{BC},{ABC} (adsbygoogle = window.adsbygoogle || []).push({});

IV BÀI TẬP

1/ Cho quan hệ sau:

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

Phụ thuộc hàm nào sau đây thỏa r:

A→D,AB→D,C→BDE,E→A,A→E

2/ Cho Q+={ABCD}

a) Tìm tất các các tập con của Q

b) Tìm tất cả các phụ thuộc hàm cĩ thể cĩ của Q (khơng liệt kê phụ thuộc hàm hiển nhiên) 3/ Tìm bao đĩng F+ của quan hệ phanCong(PHICONG,MAYBAY,NGAYKH,GIOKH)

4/ Cho F = {AB→C,B→D,CD→E,CE→GH,G→A}

a) Hãy chứng tỏ phụ thuộc hàm AB→E,AB→G được suy diễn từ F nhờ luật dẫn Armstrong b) Tìm bao đĩng của AB(với bài tốn khơng nĩi gì về lược đồ quan hệ Q ta ngầm hiểu Q+ là tập

thuộc tính cĩ trong F nghĩa là Q+={ABCDEGH})

5/ Cho F = {A→D,AB→DE,CE→G,E→H}. Hãy tìm bao đĩng của AB.

6/ Cho F={AB→E,AG→I,BE→I,E→G,GI→H}.

a) Hãy chứng tỏ phụ thuộc hàm AB→GH được suy diễn từ F nhờ luật dẫn Armstrong b) Tìm bao đĩng của {AB}

7/ Cho F={A→D,AB→E,BI→E,CD→I,E→C} tìm bao đĩng của {AE}+={ACDEI}

Chương 5 .

PHỦ CỦA TẬP PHỤ THUỘC HÀM

Một phần của tài liệu Giáo trình cơ sơ dữ liệu (Trang 48 - 50)