Định lý thiết lập công thức biểu diễn bao đóng

Một phần của tài liệu Thu gọn lược đồ quan hệ và ứng dụng (Trang 35 - 37)

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 XY= 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ó XY+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 h0 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 XY= 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ó XY(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 LU: L(XY)(h) = XY(h)  L\X  Y(h) và

ZU\X: ZY(h)  XZXY(h)=(XY)(h)

Giả sử PTH LRF thoả tính chất L(XY)(h). Khi đó L\XR\XG và L\XY(h). Từ (XY)(h) = XY(h) ta suy ra R(XY)(h) = RXY(h) = (R\X)XY(h).

Ngược lại, giả sử ZPG và ZY(h). Theo định nghĩa của phép thu gọn theo X, trong F, tồn tại một PTH LR để Z=L\X và P=R\X. Khi đó ta có L XZXY(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 XU. Khi đó X+F =X()+F/X.

Ví dụ 6: Cho LĐQH a = (U,F). U=ABCDEH.

F = {AED, BCE, EBC}. 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={AD, B (loại), B}  {AD, 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={AD, BC (loại), BC}{AD, BC}. Từ đây ta tính được ()+G = BC. Do đó E+ = EBC.

Ví dụ 7: Cho LĐQH a= (U,F). U =ABCDEHKIL

F = {ABC, DEH,

HKI, EAB} 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 = {ABC, , 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, HKI,  (loại)} = {CH, HKI}. Suy ra ()+F\X = CH

Vậy (ABDE)+ = ABCDEHKI.

Một phần của tài liệu Thu gọn lược đồ quan hệ và ứng dụng (Trang 35 - 37)

Tải bản đầy đủ (PDF)

(66 trang)