1. Trang chủ
  2. » Công Nghệ Thông Tin

TẬP PHỤ THUỘC HÀM TƯƠNG ĐƯƠNG TẬP PHỤ THUỘC HÀM TỐI THIỂU

7 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tập phụ thuộc hàm tương đương Tập phụ thuộc hàm tối thiểu
Trường học Trung tâm Đào tạo E-learning
Chuyên ngành Cơ sở dữ liệu
Thể loại Bài học
Định dạng
Số trang 7
Dung lượng 301,69 KB

Nội dung

1 Tập phụ thuộc hàm tương đương Hai tập phụ thuộc hàm F và G là tương đương (kí hiệu F ≡ G) nếu: • Tất cả các phụ thuộc hàm trong F có thể được suy dẫn từ G, và • Tất cả các phụ thuộc hàm trong G có thể suy dẫn từ F. Vì thế, F và G là tương đương nếu F+ = G+ Nếu F và G là tương đương thì ta nói F phủ G và G phủ F. Thuật toán kiểm tra sự tương đương của 2 tập PTH • F phủ G: ∀X → Y∈G, tính X+ F, sau đó kiểm tra xem Y∈X+ F • G phủ F: ∀X → Y∈F, tính X+ G, sau đó kiểm tra xem Y∈X+ G

Trang 1

Tập phụ thuộc hàm tương đương – tập phụ thuộc hàm tối thiểu - Bài 5 Trang 1

BÀI 5: TẬP PHỤ THUỘC HÀM TƯƠNG ĐƯƠNG

TẬP PHỤ THUỘC HÀM TỐI THIỂU

Mục tiêu:

Trong bài này, Anh/Chị cần đạt được những mục tiêu sau:

1 Nắm vững khái niệm tập phụ thuộc hàm tương đương và tập phụ thuộc hàm tối thiểu

2 Nắm rõ các thuật toán kiểm tra 2 tập phụ thuộc hàm có tương đương nhau; thuật toán tìm phủ tối thiểu

3 Áp dụng thuật toán để giải quyết bài toán rút gọn tập phụ thuộc hàm, kiểm tra sự tương đương nhau của các tập phụ thuộc hàm

Nội dung:

1 Tập phụ thuộc hàm tương đương

Hai tập phụ thuộc hàm F và G là tương đương (kí hiệu F ≡ G) nếu:

• Tất cả các phụ thuộc hàm trong F có thể được suy dẫn từ G, và

• Tất cả các phụ thuộc hàm trong G có thể suy dẫn từ F

Vì thế, F và G là tương đương nếu F+ = G+

Nếu F và G là tương đương thì ta nói F phủ G và G phủ F

Thuật toán kiểm tra sự tương đương của 2 tập PTH

• F phủ G: ∀X → Y∈G, tính X+F, sau đó kiểm tra xem Y∈X+F

• G phủ F: ∀X → Y∈F, tính X+G, sau đó kiểm tra xem Y∈X+G

Ví dụ : Xét hai tập phụ thuộc hàm

F = {A →C, AC → D, E→AD, E →H }

G = { A →CD, E → AH }

Ta chứng minh F phủ G:

Tìm bao đóng của các vế trái của các phụ thuộc hàm trong G theo F Áp dụng thuật toán tìm bao đóng của tập thuộc tính, ta có:

Trang 2

Tập phụ thuộc hàm tương đương – tập phụ thuộc hàm tối thiểu - Bài 5 Trang 2

{A}+F = { A, C, D };

{E}+F = {E, A, D, H, C}

ta thấy các bao đóng này chứa các vế phải tương ứng Từ đó suy ra F phủ

G

Ta chứng minh G phủ F:

Tìm bao đóng của các vế trái của các phụ thuộc hàm trong F theo G Ta có:

{A}+G ={A,C,D},

{AC}+G = { A,C,D},

{E}+G = {E,A,H,C,D}, ta thấy các bao đóng này chứa các vế phải tương ứng Từ đó suy ra G phủ F

Tóm lại G tương đương với F

2 Tập phụ thuộc hàm tối thiểu

2.1 Phụ thuộc hàm có vế phải một thuộc tính

Mỗi tập phụ thuộc hàm F đều tương đương với tập phụ thuộc hàm G mà

vế phải của các phụ thuộc hàm trong G chỉ chứa một thuộc tính

Ví dụ: Cho tập phụ thuộc hàm F

F = {A →C, AC → D, E→AD, E →H }

Ta suy ra:

F≡G={ A →C, AC → D, E→A, E→D, E →H }

2.2 Phụ thuộc hàm có vế trái dư thừa

Cho F là tập phụ thuộc hàm của quan hệ R(U) và X, Y ⊆U, X → Y ∈ F Nói rằng phụ thuộc hàm X → Y có vế trái dư thừa (phụ thuộc không đầy đủ) nếu có thuộc tính A ∈ X (X gồm nhiều thuộc tính) sao cho:

Trang 3

Tập phụ thuộc hàm tương đương – tập phụ thuộc hàm tối thiểu - Bài 5 Trang 3

F≡F - { X → Y }∪{ (X-A) → Y }

Nói một cách khác, phụ thuộc hàm X → Y gọi là phụ thuộc hàm có vế trái không dư thừa khi ta không thể thay thế bất kì một phụ thuộc hàm X → Y trong F bằng một phụ thuộc hàm A → Y mà A là tập con của X nhưng vẫn được tập phụ thuộc hàm tương đương với F ban đầu

Ví dụ:

Cho tập phụ thuộc hàm F={ A → BC, B → C, AB → D} ta thấy phụ thuộc hàm AB → D có vế trái dư thừa B vì

F≡ F - { AB → D}∪{ A → D }

≡ { A → BC, B → C, A → D }

Ta nói F là tập phụ thuộc hàm có vế trái không dư thừa nếu F không chứa các phụ thuộc hàm có vế trái dư thừa

Thuật toán loại bỏ dư thừa vế trái của các phụ thuộc hàm trong F

Input: Tập phụ thuộc hàm F

Output: Tập phụ thuộc hàm F không chứa phụ thuộc hàm có vế trái dư thừa

Các bước thực hiện:

o Bước 1: Với mỗi phụ thuộc hàm X → Y (X từ 2 thuộc tính trở lên) của F thì thực hiện bước 2

o Bước 2: Với mỗi A ∈ X, nếu A → Y∈ F+ thì thay X → Y bằng A

→ Y Lặp lại bước 2 đến khi vế trái X không dư thừa

Ví dụ: Cho tập F={ A → BC, B → C, AB → D}

Trang 4

Tập phụ thuộc hàm tương đương – tập phụ thuộc hàm tối thiểu - Bài 5 Trang 4

Xét phụ thuộc hàm AB → D: có A+={ABCD} nên A → D ∈ F+ nên thay

AB → D bằng A → D và

F≡{ A → BC, B → C, A → D }

2.3 Tập phụ thuộc hàm không dư thừa

F là tập PTH không dư thừa nếu không tồn tại F’ ⊂ F sao cho F’ ≡ F

Ví dụ: Cho F = {A →BC, B →D, AB →D} F là dư thừa vì F≡F’={ A

→BC, B →D}

Thuật toán loại khỏi F các phụ thuộc hàm dư thừa

- Input: Tập PTH F

- Output: Tập F không có PTH dư thừa

- Thuật toán:

! Bước 1: Với mỗi PTH X → Y trong F

! Bước 2: Nếu X → Y là thành viên của F – {X → Y} thì loại

X → Y khỏi F

! Bước 3: Lặp lại bước 2 cho đến khi hết các PTH cần xét

Ví dụ:

Cho F = {A →BC, B →D, AB →D} Tìm tập phụ thuộc hàm không dư thừa

Giải:

1 Giả sử A → BC là dư thừa F={B → D, AB → D} Kiểm tra A → BC có là thành viên của F: A+={A} ta thấy BC ∉ A+

Vậy: A → BC không dư thừa

2 Giả sử B->D là dư thừa: F={A → BC; AB → D} Tính: B+ = {B} ta thấy D ∉ B+

Trang 5

Tập phụ thuộc hàm tương đương – tập phụ thuộc hàm tối thiểu - Bài 5 Trang 5

=> B → D không dư thừa

3 Xét AB → D: F={A → BC; B → D}

Tính (AB)+ = {ABCD} ta thấy D ∈ (AB)+

=> Vậy: AB → D là dư thừa

Kết luận: F ≡ { A →BC, B →D } là tập phụ thuộc hàm không dư thừa

2.4 Thuật toán tìm tập phụ thuộc hàm tối thiểu

F được gọi là tập phụ thuộc hàm tối thiểu Ftt (phủ tối thiểu) nếu F thỏa mãn đồng thời các điều kiện sau:

1 F là tập phụ thuộc hàm có vế trái không dư thừa

2 F là tập phụ thuộc hàm có vế phải một thuộc tính

3 F là tập phụ thuộc hàm không dư thừa

Thuật toán tìm phủ tối thiểu của một tập phụ thuộc hàm

Input: Tập phụ thuộc hàm F

Output: Phủ tối thiểu của F

Các bước:

Bước 1: Loại khỏi F các phụ thuộc hàm có vế trái dư thừa

Bước 2: Tách các phụ thuộc hàm có vế phải nhiều hơn một thuộc tính thành các phụ thuộc hàm có vế phải một thuộc tính

Bước 3: Loại khỏi F các phụ thuộc hàm dư thừa

Lưu ý:

- Với thuật toán trên ta luôn tìm được ít nhất một phủ tối thiểu Ftt ≡ F

- Nếu ta thay đổi trật tự loại bỏ các phụ thuộc hàm trong F thì ta có thể tìm được các phủ tối thiểu khác nhau

Trang 6

Tập phụ thuộc hàm tương đương – tập phụ thuộc hàm tối thiểu - Bài 5 Trang 6

Ví dụ 1:

Cho tập F={ A → BC, B → C, AB → D} Tìm phủ tối thiểu của F

Giải:

Bước 1: Xét phụ thuộc hàm AB → D có A+={ABCD} nên A → D ∈ F+ thay AB → D bằng A → D và

F≡{ A → BC, B → C, A → D }

Bước 2: Tách phụ thuộc hàm A → BC ta được

F≡{ A → B, A → C, B → C, A → D }

Bước 3: Kiểm tra xem các phụ thuộc hàm có dư thừa hay không

• Giả sử A → B dư thừa khi đó F = { A → C, B → C, A → D }

Tính A+ = {ACD} ta thấy B ∉ A+ nên A → B không dư thừa

• Giả sử A → C dư thừa khi đó F= { A → B, B → C, A → D }

Tính A+={ABCD} ta thấy C ∈ A+ nên A → C dư thừa

F≡{ A → B, B → C, A → D }

• Giả sử B → C dư thừa khi đó F={ A → B, A → D }

Tính B+ ={B} ta thấy C ∉ B+ nên B → C không dư thừa

• Giả sử A → D dư thừa khi đó F= { A → B, B → C }

Tính A+={ABC} ta thấy D ∉ A+ nên A → D không dư thừa

Kết luận: Phủ tối thiểu của tập F đã cho là

Ftt={ A → B, B → C, A → D }

Ví dụ 2: Cho F={AB →CD, B →C, C →D} Tìm tập phụ thuộc hàm tối thiểu

Giải:

Trang 7

Tập phụ thuộc hàm tương đương – tập phụ thuộc hàm tối thiểu - Bài 5 Trang 7

Bước 1: Loại PTH có vế trái dư thừa:

Xét AB → CD, giả sử dư A cần CM B → CD là thành viên của F: B+={BCD} => đúng nên dư A

Khi đó F = {B → CD; B → C; C → D}

Bước 2: Đưa về dạng PTH có vế phải 1 thuộc tính

F = {B → C; B → D; C → D}

Bước 3: Loại khỏi F các PTH dư thừa

Dễ thấy B → D là dư thừa vì B → C và C → D

Vậy phủ tối thiểu của Ftt = {B → C; C → D}

Chúc Anh/Chị học tập tốt!

TÀI LIỆU THAM KHẢO

- Cơ sở dữ liệu, Đỗ Trung Tuấn, NXB Giáo dục, 2004

- Nhập môn Cơ sở dữ liệu, Nguyễn Tuệ, NXB Đại học Quốc gia, 2008

- Nhập môn Cơ sở dữ liệu quan hệ, Lê Tiến Vương, NXB Giáo dục,

2004

- Giáo trình Cơ sở dữ liệu, Học viện Bưu chính viễn thông, NXB Bưu điện, 2004

- Fundamentals of Database Systems, 6th edition, John Wiley & Sons,

Inc, 2011

- Database Systems Concepts, Abram Siberschatz, Henry F.Korth, S.Sudarshan, McGaw-Hill /Irwin, 2002

Ngày đăng: 03/08/2024, 21:30