thu gọn lược đồ quan hệ
Cho LĐQH a=(U,F) và hai tập con rời nhau X và Y trong U. Khi đó (XY)+F = XY+F\X .
Chứng minh
Đặt V=U\X và G=F\X. Do XY= và X không xuất hiện trong V và G nên
theo định nghĩa bao đóng của tập thuộc tính ta có XY+G = .
Chứng minh bằng quy nạp theo số bước xây dựng các dãy (XY)(h) và Y(h), h =0,1, ... theo thuật toán bao đóng của các tập thuộc tính XY và Y tương ứng với các tập PTH F và G. Cụ thể ta chứng minh bất biến
(XY)(h) = XY(h), h = 0,1,...
- Cơ sở: h = 0. Ta có (XY)(0) = XY và Y(0) = Y, do đó (XY)(0) = XY(0) = XY - Quy nạp: Giả sử với h0 ta có (XY)(h) = XY(h). Ta cần chứng minh:
(XY)(h+1) = XY(h+1)
- Ta sẽ chỉ ra rằng khi chuyển từ bước h sang bước h+1 thì hai tập (XY)(h) và XY(h) sẽ được bổ sung thêm cùng một số thuộc tính.
Đầu tiên, do XY= và X không có mặt trong LĐQH p = p\X = (V,G) nên với mọi h = 0,1,2,... ta luôn có XY(h) = .
Ngoài ra do dãy (XY)(h) đơn điệu không giảm và (XY)(0) = XY X nên với mọi h = 0,1,2,... ta luôn có (XY)h X.
Từ các nhận xét này và từ giả thiết quy nạp (XY)(h)=XY(h) ta suy ra LU: L(XY)(h) = XY(h) L\X Y(h) và
ZU\X: ZY(h) XZXY(h)=(XY)(h)
Giả sử PTH LRF thoả tính chất L(XY)(h). Khi đó L\XR\XG và L\XY(h). Từ (XY)(h) = XY(h) ta suy ra R(XY)(h) = RXY(h) = (R\X)XY(h).
Ngược lại, giả sử ZPG và ZY(h). Theo định nghĩa của phép thu gọn theo X, trong F, tồn tại một PTH LR để Z=L\X và P=R\X. Khi đó ta có L XZXY(h)=(XY)(h) và do đó:
R(XY)(h) = RXY(h) = (R\X)XY(h) = PXY(h).
Ta thấy, với mọi tập X, ta có X=X và X = . Từ nhận xét này ta suy ra hệ quả sau:
Cho LĐQH p = (U,F) và tập XU. Khi đó X+F =X()+F/X.
Ví dụ 6: Cho LĐQH a = (U,F). U=ABCDEH.
F = {AED, BCE, EBC}. Tính: (CE)+, (AHE)+ và E+ ?
Áp dụng hệ quả về công thức tính bao đóng cho mọi tập thuộc tính, ta có: 1. (CE)+F = CE()+F\CE.
G = F\CE={AD, B (loại), B} {AD, B}. Từ đây ta tính được ()+G= B. Do đó (CE)+ = BCE
2. (AHE)+F = AHE()+F\AHE.
G = F\AHE={D, BC (loại), BC} {BCD}. Từ đây ta tính được ()+G= BCD. Do đó (AHE)+ = U
3. E+ = E()+F\E
G = F\E={AD, BC (loại), BC}{AD, BC}. Từ đây ta tính được ()+G = BC. Do đó E+ = EBC.
Ví dụ 7: Cho LĐQH a= (U,F). U =ABCDEHKIL
F = {ABC, DEH,
HKI, EAB} Tính (DHE)+ , (ABDE)+ ? 1. Tính (DHE)+
Áp dụng hệ quả của công thức bao đóng ta có: (DHE)+ = DHE()+F\DHE .
G = F\DHE = {ABC, , KI, AB} Suy ra ()+F\DHE = ABKI
Vậy (DHE)+ = DHEABKI. 2. Tính (ABDE)+
Áp dụng hệ quả của công thức bao đóng: X+ = X()+F\X Ta có (ABDE)+ = ABDE()+F\ABDE
G = F\ABDE = {C, H, HKI, (loại)} = {CH, HKI}. Suy ra ()+F\X = CH
Vậy (ABDE)+ = ABCDEHKI.