Phụ thuộc hàm
Định nghĩa
- Cho
là một quan hệ trên tập thuộc tính . là hai tập thuộc tính con của - Ta gọi
xác định hàm hoặc phụ thuộc hàm vào nếu với mọi quan hệ xác định trên và hai bộ , bất kì ta có $$t_1.X = t_2.X \Rightarrow t_1.Y = t_2.Y$$với là bộ giá trị các thuộc tính trong của - Khi đó ta có phụ thuộc hàm
- Hệ tiên đề Amstrong định nghĩa các tính chất của phụ thuộc hàm:
- Tính phản xạ: nếu
thì - Tính tăng trưởng: nếu
thì (trong đó ) - Tính bắc cầu: nếu
và thì
- Tính phản xạ: nếu
- Hệ quả:
- Luật hợp: Nếu
, thì - Luật tựa bắc cầu: Nếu
và thì - Luật tách: Nếu
và thì
- Luật hợp: Nếu
Các phép toán
Bao đóng của tập phụ thuộc hàm
là tập lớn nhất của các phụ thuộc hàm có thể được suy diễn logic từ
được suy diễn logic từ nếu với mỗi quan hệ xác định trên thỏa mãn các phụ thuộc hàm trong thì cũng thỏa mãn
Kí hiệu bao đóng tập phụ thuộc hàm:
Nếu
Bao đóng của tập thuộc tính
là tập tất cả các thuộc tính được xác định bởi
Kí hiệu:
Nhận xét:
Thuật toán tìm bao đóng của tập thuộc tính của
- Bước 1: Khởi tạo
, - Bước 2: Tìm phụ thuộc hàm
sao cho , nếu không tìm được, chuyển đến bước 5 - Bước 3: Duyệt các thuộc tính
trong , nếu thì - Bước 4: Tăng
thêm 1, chuyển đến bước 2 - Bước 5: Kết thúc
Khóa tối thiểu
Vậy nếu
Thuật toán tìm khóa tối thiểu bằng loại trừ thuộc tính (
- Bước 1: Khởi tạo
, - Bước 2: Duyệt từng thuộc tính
trong , nếu: thì - ngược lại
- Bước 3: Tăng
thêm 1, nếu thì chuyển đến bước 2 - Bước 4: Kết luận khóa tối thiểu
Thuật toán tìm khóa tối thiểu bằng phân tích tập phụ thuộc hàm
Giả sử
Gọi
Qua đó sử dụng thuật toán loại trừ với
Phủ của phụ thuộc hàm
Tập phụ thuộc hàm
Hai tập phụ thuộc hàm
Để kiểm tra
Thuật toán tìm phủ không dư thừa của một tập phụ thuộc hàm
- Bước 1: Khởi tạo
, , - Bước 2: Xét
là phụ thuộc hàm thứ của . Nếu thì đặt . Ngược lại, đặt - Bước 3: Tăng
thêm 1, nếu thì chuyển đến bước 2 - Bước 4: Kết luận phủ không dư thừa
Phủ tối thiểu của tập phụ thuộc hàm
Thuật toán tìm phủ tối thiểu của tập phụ thuộc hàm
- Bước 1: Biến đổi
về dạng - Bước 2: Loại bỏ thuộc tính dư thừa ở vế trái: Xét phụ thuộc hàm
và các thuộc tính , nếu và , là thuộc tính dư thừa và cần bị loại bỏ. Sau khi loại bỏ tất cả các thuộc tính dư thừa ở vế trái của , ta được - Bước 3: Loại bỏ phụ thuộc hàm dư thừa sử dụng thuật toán tìm phủ không dư thừa của tập phụ thuộc hàm
cho ra - Bước 4: Kết luật
là phủ tối thiểu cần tìm