Cho lược đồ quan hệ và tập các phụ thuộc hàm F={AB → E, AG → I, BE → I, E → G, GI → H}. Phụ thuộc hàm nào thoả R?
Trả lời:
Đáp án đúng: B
Để xác định phụ thuộc hàm nào thỏa mãn lược đồ quan hệ và tập phụ thuộc hàm F đã cho, ta cần kiểm tra xem phụ thuộc hàm đó có thể suy diễn được từ F hay không. Chúng ta sẽ sử dụng các quy tắc suy diễn Armstrong để tìm bao đóng của các tập thuộc tính ở vế trái của mỗi phụ thuộc hàm, và xem vế phải có nằm trong bao đóng đó không.
A. GH → EB:
- Tính GH+:
- GH+ = GH
- Không có phụ thuộc hàm nào trong F có vế trái là GH hoặc là con của GH.
- Vậy GH+ = GH. Vì EB không nằm trong GH+, nên GH → EB không thể suy diễn từ F.
B. AB → GH:
- Tính AB+:
- AB+ = AB
- AB → E (AB → E ∈ F)
- AB+ = ABE
- BE → I (BE ⊆ ABE)
- AB+ = ABEI
- E → G (E ⊆ ABEI)
- AB+ = ABEIG
- AG → I (AG ⊆ ABEIG)
- GI → H (GI ⊆ ABEIG)
- AB+ = ABEIGH
- Vậy AB+ = ABEIGH. Vì GH nằm trong AB+, nên AB → GH có thể suy diễn từ F.
C. A → BH:
- Tính A+:
- A+ = A
- AG → I (AG ⊇ A)
- A+ = AI
- Vậy A+ = AI. Vì BH không nằm trong AI+, nên A → BH không thể suy diễn từ F.
D. BH → ABC:
- Tính BH+:
- BH+ = BH
- BE → I không thể áp dụng vì không có E
- GI → H không thể áp dụng vì không có G, I
- E → G không thể áp dụng vì không có E
- AG → I không thể áp dụng vì không có G
- AB → E không thể áp dụng vì không có A
- Ta cần tìm các thuộc tính có thể suy diễn từ BH:
- Để suy diễn ra A, B, C cần nhiều bước hơn.
- Vậy BH+ = BH. Vì ABC không nằm trong BH+, nên BH → ABC không thể suy diễn từ F.
Vậy đáp án đúng là B.