-
Chương 1: CÁC KHÁI NIỆM CƠ BẢN
Các khái niệm cơ bản
-
Chương 2: MÔ HÌNH THỰC THỂ LIÊN KẾT
Mô hình thực thể liên kết
-
Chương 3: MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
Mô hình cơ sở dữ liệu quan hệ
-
Chương 4: ĐẠI SỐ QUAN HỆ
Các phép toán trên dữ liệu
-
Chương 5: RÀNG BUỘC TOÀN VẸN
-
Chương 6: PHỤ THUỘC HÀM
-
Chương 7: CHUẨN HÓA CƠ SỞ DỮ LIỆU
6.6. phu thuộc hàm không dư thừa
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:
- 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 - Giả sử B->D là dư thừa: F={A ® BC; AB ® D}
Tính: B+ = {B} ta thấy D ∉ B+
=> B ® D không dư thừa
- 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