CHƯƠNG 6 : LÝ THUYẾT VỀ THIẾT KẾ CƠ SỞ DỮ LIỆU
6.1. Phụ thuộc hàm (Functional Dependencies)
6.1.2.2. Bao đóng của tập thuộc tính
Định nghĩa: Cho F là tập các phụ thuộc hàm trên t ập thuộc tính U, X ⊆ U. Bao đóng
(closure) của tập các thuộc tính (X) trên tập các phụ thuộc hàm F ký hi ệu là X+F được
định nghĩa như sau:
X+F= {A | X→ A ∈ F+}.
Nghĩa là XF+ là tập tất cả các thuộc tính A mà phụ thuộc hàm X → A có th ể được suy
diễn logic từ F nhờ hệ tiên đề Armstrong.
Để tiện ta có thể viết X+ thay cho X+F
Thuật tốn tìm bao đóng:
Cho lược đồ quan hệ R(U) với U là tập hữu hạn các thuộc tính, F là tập các phụ
thuộc hàm trên R và X ⊆ U. Cần tìm bao đóng X+F ?
Phương pháp:
Tính liên tiếp tập các thuộc tính X0, X1, X2,… theo các bước: Bước 1: Đặt X0 = X
Bước 2: Lần lược xét các phụ thuộc hàm của F, nếu Y → Z có Y⊆
Xi thì Xi+1 = Xi ∪ Z, loại Y → Z ra khỏi F
Bước 3: Tiếp tục cho đến khi Xi+1=Xi thì thuật tốn dừng
Kết luận: X+F = Xi
Ví dụ 6.4: Cho R(ABCDEG) và tập phụ thuộc hàm F như sau:
F={AB→C, D→EG, ACD→B, C→A, BE→C, CE→AG, BC→D, CG→BD}
Tìm bao đóng của tập thuộc tính BD ?
Giải: Áp dụng thuật tốn tìm bao đóng ở trên Bước 1: Đặt X0 = BD
Bước 2: Lần lượt xét các phụ thuộc hàm của F Xét
D→EG, có D ⊆ X0 ; X1= X0 ∪ EG=BDEG
Xét BE→C, có BE ⊆ X1 ; X2= X1 ∪
C=BCDEG
Xét C→A, có C ⊆ X2 ; X3= X2 ∪
A=ABCDEG Bước 3: dừng vì X3=U
Vậy BD+F=X3= ABCDEG