4.3. Một phộp biến đổi tiền xử lý hiệu quả cỏc tập FD
4.3.2. Một chứng minh mới cho định lý 4.1
Để đơn giản cỏch chứng minh định lý 4.1, ta sử dụng hệ ba tiờn đề
tương đương với hệ tiờn đề Armstrong với X, Y, Z , trong đú là vũ trụ cỏc thuộc tớnh.
A1. Nếu Y X thỡ X Y (Tiờn đề phản xạ) A2. Nếu X Y thỡ XZ YZ (Tiờn đề gia tăng) A3. Nếu X Y và Y Z thỡ X Z (Tiờn đề bắc cầu)
cựng với cỏc quy tắc suy diễn quen thuộc, dễ dàng được suy ra từ hệ ba tiờn đề A1, A2, A3 như:
Nếu X Y và U V thỡ XU YV (Quy tắc hợp)
Nếu X Y thỡ X Z với mọi Z Y (Quy tắc tỏch hay phõn mảnh)
Sau đõy là một chứng minh mới cho định lý 4.1. Trước hết, định lý 4.1 được phỏt biểu lại như sau:
(a). Nếu X U , X Y = thỡ hai tập phụ thuộc hàm
{XY, UV} {X Y, (U Y) (V Y)}
trong đú là tương đương theo nghĩa sử dụng hệ quy tắc suy diễn Armstrong, hệ phụ thuộc hàm thứ nhất cú thể suy ra hệ phụ thuộc hàm thứ hai và ngược lại.
(b). Nếu X U, X UV thỡ
{XY, UV} {X Y, U (V Y} Chứng minh.
Vỡ X U nờn X Y U Y . Vỡ X Y = nờn X Y = X U Y . Từ đú
ta cú dóy suy diễn sau:
1. (U Y) X (A1)
2. XY (Giả thiết)
3. (U Y) Y (1, 2, A3) 4. (U Y) (U Y) (A1) 5. (U Y) UY (3, 4, Quy tắc hợp) 6. (U Y) U (5, Quy tắc tỏch) 7. U V (Giả thiết) 8. (U Y) V (6, 7, A3) 9. (U Y) (V Y) (8, Quy tắc tỏch do (V Y) V) (a).
1. XY (Giả thiết)
2. (U Y) (V Y) (Giả thiết) 3. U X (A1, vỡ X U) 4. U Y (3, 1, A3) 5. U VY (2, 4, Quy tắc hợp) 6. U V (5, Quy tắc tỏch) (b). 1. U V (Giả thiết) 2. U (V Y) (1, Quy tắc tỏch) (b).
1. XY (Giả thiết)
2. U (V Y) (Giả thiết)
3. U U(V Y) (2, A2)
4. U(V Y) (UV Y) (A1)
do cú U (V Y) (U Y) (V Y) và (U Y) (V Y) = UV Y 5. U (UV Y) (3, 4, A3)
6. (UV Y) X (A1) do cú X UV và X Y = nờn X = (X Y) UV Y 7. (UV Y) Y (6, 1, A3) 8. U Y (5, 7, A3) 9. U UVY (5, 8, A2) 10. U V (9, Quy tắc tỏch)
Nhận xột 4.6. Trong chứng minh mới của định lý 4.1, việc chứng minh phần
(a) về cơ bản là giống với chứng minh phần (a) trong [24]. Cỏi khỏc nhau là ở chỗ cỏch thức giải thớch cỏc bước suy diễn. Trong [24], cỏc tỏc giả dựng cỏc tiờn đề và cỏc quy tắc suy diễn trong logic Paredaens, cũn trong chứng minh mới, chỳng tụi sử dụng hệ tiờn đề quen thuộc của Armstrong, nờn việc giải thớch cỏc bước suy diễn là đơn giản, rừ ràng hơn.
Để khắc phục lỗi sai trong chứng minh phần (b) của định lý 4.1, chứng minh phần (b) của chỳng tụi ở đõy là hoàn toàn mới. Nú khiến cho định lý 6 trong [24], một định lý rất hay, là nền tảng cho phộp biến đổi tiền xử lý loại bỏ hiệu quả cỏc dư thừa trong một tập phụ thuộc hàm cho trước, đứng vững
và sử dụng được. Trong thư trao đổi với cỏc tỏc giả của Định lý 4.1, (là Định lý 6 trong [24]), cỏc tỏc giả của [24] đó thừa nhận chứng minh phần (b) của họ là sai và cụng nhận chứng minh mới của chỳng tụi là đỳng.
Nhận xột 4.7. Trong thực hành, trong nhiều trường hợp, để đơn giản hơn, ta
cú thể dựng quy tắc thay thế sau:
Cho hệ hai phụ thuộc hàm {XY, UV}. Nếu X U, X V và X Y =
thỡ, do tương đương, cú thể thay thế {XY, UV} bằng hệ hai phụ thuộc hàm {XY, U(V Y)} núi chung đơn giản hơn. Núi cỏch khỏc, nếu X U,
X V và X Y = thỡ
Điều này hiển nhiờn đỳng vỡ nếu X U, X V và X Y = thỡ đương nhiờn
X U, X UV và X Y = và ta rơi vào trường hợp (b) của định ly 4.1. Nhận xột 4.8. Trờn cơ sở cỏc phộp thay thế (1), (2), (3), ta cú thể làm đơn giản hơn thủ tục removeRedundancy trong [24] bằng thủ tục Loại bỏ dư thừa cho cỏc tập phụ thuộc hàm F ở dạng thu gọn gồm cỏc bước sau:
------------------------------------------------------------------------------------------------ Procedure Loại bỏ dư thừa
------------------------------------------------------------------------------------------------ INPUT: F (Một tập phụ thuộc hàm ở dạng thu gọn)
OUTPUT: F' (Một tập phụ thuộc hàm tương đương với F với dư thừa ớt hơn)
begin repeat
B1. Thực hiện cỏc phộp hợp cho cỏc phụ thuộc hàm cú cựng vế trỏi; B2. Thực hiện cỏc phộp thay thế (1), (2), (3);
until (khụng thực hiện cỏc thao tỏc B1 và B2 thờm được nữa);
B3. Kiểm tra xem trong tập phụ thuộc hàm thu được, cú phụ thuộc hàm nào được suy ra từ hai phụ thuộc hàm khỏc từ việc ỏp dụng (A3). Nếu cú thỡ loại bỏ nú.
end;
______________________________________________________________
Nhận xột 4.9. Trong [24] và [55], cỏc tỏc giả đó cho chạy thủ tục
removeRedundancy trờn nhiều tập phụ thuộc hàm với số lượng và kớch thước khỏc nhau và đó thấy rằng tỷ lệ phần trăm số lần ỏp dụng cỏc quy tắc thay thế là rất cao và tăng đỏng kể với độ phức tạp của cỏc tập phụ thuộc hàm. Ngồi ra, cỏc tỏc giả của [24] và [55] đó rỳt ra cỏc kết luận tổng quỏt sau:
- Đối với 28,25% cỏc tập phụ thuộc hàm, khụng cần thiết ỏp dụng quy tắc bắc cầu (A3) và phộp biến đổi tiền xử lý loại bỏ dư thừa một cỏch hiệu quả.
- Khi số cỏc thuộc tớnh tăng lờn thỡ số trường hợp trong đú khụng cần ỏp dụng quy tắc bắc cầu (A3) cũng tăng lờn. Điều này chứng tỏ quy tắc thay thế đặc biệt thớch hợp để làm việc với cỏc lược đồ cơ sở dữ liệu lớn.
- Số phần trăm cỏc ỏp dụng của quy tắc thay thế khụng phụ thuộc vào số thuộc tớnh và độ dài của phụ thuộc hàm.
Nhận xột 4.10. Để thấy được ý nghĩa và ưu việt của cỏc quy tắc thay thế (tức
phộp biến đổi tiền xử lý cỏc tập phụ thuộc hàm), ta xột hai vớ dụ sau, trong đú vớ dụ 3.6 được lấy lại từ vớ dụ 1 trong [55] với việc chỉnh sửa lại một sai sút nhỏ.
Vớ dụ 4.6 ([55]). Cho F = {abc, abce, bdac, afb, cdba}. Ta cú thể
ỏp dụng cỏc phộp thay thế để thu được một tập phụ thuộc hàm với dư thừa ớt hơn. Quy tắc ỏp dụng F Subst: abc, abce | Par S
ae abc, ae, bdac, afb, cdba
Quy tắc hợp:
abc, ae |
Par
S
abce abce, bdac, afb, cdba
Subst:
abce, afb |
Par
S
af abce, bdac, af, cdba
A1: |
Par
S
af (sẽ được loại bỏ) abce, bdac, cdba
rSubst:
abce, bdac |
Par
S
bda abce, bda, cdba
rSubst:
bda, cdba |
Par
S
cdb abce, bda, cdb
Như vậy, sau khi thực hiện phộp biến đổi tiền xử lý, ta thu được tập F' tương đương với F nhưng chứa ớt dư thừa hơn.
F' = {abce, bda, cdb}.
Vớ dụ 4.7. Áp dụng cỏc phộp thay thế đối với tập phụ thuộc hàm F = {ba, bgh, da, bih, abde, abfg, abcdj, abck}.
Quy tắc ỏp dụng F Quy tắc hợp: ba, bgh | Par S bagh
bagh, da, bih, abde, abfg, abcdj, abck
Quy tắc hợp:
abde, abfg |
Par
S
abdefg
bagh, da, bih, abdefg, abcdj, abck Quy tắc hợp: abcdj, abck | Par S abcdjkh
bagh, da, bih, abdefg, abcdjk Subst: bagh, bih | Par S bi
bagh, da, bi, abdefg, abcdjk
A1: |
Par
S
bi (sẽ được loại bỏ) bagh, da, abdefg, abcdjk
Subst:
bagh, abdefg |
Par
S
bdef bagh, da, bdef, abcdjk
Quy tắc hợp:
bagh, bdef |
Par
S
badefgh badefgh, da, abcdjk
Subst: badefgh, abcdjk | Par S bcjk badefgh, da, bcjk rSubst: da, badefgh | Par S
bdefgh bdefgh, da, bcjk Bảng 4.2. Minh họa cho vớ dụ 4.7
Như vậy, cuối cựng ta thu được tập F' = {bdefgh, da, bcjk} tương đương với F nhưng chứa ớt dư thừa hơn.