1. Trang chủ
  2. » Địa lí lớp 9

Về một phép biến đổi tiền xử lý hiệu quả các tập phụ thuộc hàm

7 28 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 218,95 KB

Nội dung

Trong [1] và [2], Ángel Mora và các cộng sự đã thiết kế một phép biến đổi tiền xử lý sử dụng toán tử thay thế của logic thay thế SLFD để loại bỏ dư thừa trong tập phụ thuộc hàm ban đầu[r]

(1)

VỀ MỘT PHÉP BIẾN ĐỔI TIỀN XỬ LÝ HIỆU QUẢ CÁC TẬP PHỤ THUỘC HÀM

Vũ Quốc Tuấn1*, Hồ Thuần2

Tóm tắt: Trong [1] [2], Ángel Mora cộng thiết kế phép biến

đổi tiền xử lý sử dụng toán tử thay logic thay SLFD để loại bỏ dư thừa

trong tập phụ thuộc hàm ban đầu nhằm thu tập phụ thuộc hàm tương đương với kích thước nhỏ thời gian đa thức Cơ sở tính đắn phép biến đổi tiền xử lý chứng minh Định lý [1] Trong báo này, lỗi sai không chấp nhận chứng minh của Định lý đưa chứng minh đơn giản cho định lý Một số nhận xét phép biến đổi tiền xử lý đưa

Từ khóa: Cơ sở liệu quan hệ, Lược đồ quan hệ, Phụ thuộc hàm, Phép biến đổi tiền xử lý

1 MỞ ĐẦU

Trong [1] [2], Ángel Mora cộng thiết kế phép biến đổi tiền xử lý sử dụng toán tử thay logic thay SLFD để loại bỏ dư thừa tập phụ thuộc hàm ban đầu nhằm thu tập phụ thuộc hàm tương đương với kích thước nhỏ thời gian đa thức Cơ sở tính đắn phép biến đổi tiền xử lý chứng minh định lý [1] Trong báo này, lỗi sai không chấp nhận chứng minh Định lý đưa chứng minh đơn giản cho định lý Một số nhận xét phép biến đổi tiền xử lý đưa

Bài báo tổ chức sau: phần thứ hai nhắc lại số khái niệm kết quan trọng mô hình quan hệ, giới thiệu logic Paredaens dựa vào cách trình bày [2] Trong phần nhắc lại định nghĩa tập F phụ thuộc hàm có dư thừa, phát biểu lại Định lý [1] chỗ sai chứng minh định lý Chứng minh Định lý cho phần thứ ba với số nhận xét Trong phần thứ ba giới thiệu thủ tục removeRedundancy trình bày [2] với vài cải tiến số ví dụ ứng dụng Kết luận giới thiệu phần thứ tư

2 MƠ HÌNH QUAN HỆ VÀ LOGIC PAREDAENS 2.1 Mơ hình quan hệ

Trong mơ hình quan hệ E.F.Codd, liệu lưu trữ dạng quan hệ (các bảng) Mỗi quan hệ định nghĩa tập hữu hạn thuộc tính  = {A1, A2, , An}, thuộc tính Ai lấy giá trị miền tương ứng

Dom(Ai) Như vậy, quan hệ R xác định  tập tích Descartes

Dom(A1)  Dom(A2)   Dom(An) Nói cách khác, R tập t có dạng t = (a1,

a2, ,an)  Dom(Ai) với i = 1, 2, , n

Cho X  , t  R Khi đó, hình chiếu t X, ký hiệu t[X] cho t[X](ai) =

t(ai),  Dom(Ai) với Ai  X

Định nghĩa (Phụ thuộc hàm) Cho R quan hệ  Mọi khẳng định có dạng

XY , đó, X, Y   gọi phụ thuộc hàm R Ta nói R thỏa XY

với t1, t2  R có t1[X] = t2[X] kéo theo t1[Y] = t2[Y] Ký hiệu FDR tập sau:

FDR = {XY | X, Y  , R thỏa XY}

(2)

Cho R quan hệ , đó: 1 Nếu Y  X   XY  FDR 2 Nếu XY  FDR XXY  FDR 3 Nếu XY, Y Z  FDR X Z  FDR 4 Nếu XY, X Z  FDR X YZ  FDR 5 Nếu XY  FDR XY X  FDR

6 Nếu XY  FDR, X  U   V  XY UV  FDR

7 Nếu XY, X' Z  FDR, X'  XY, X  U  A V  ZU UV  FDR

2.2 Logic Paredaens

Logic Paredaens gọi LPar cho phép đặc tả hình thức thao tác phụ thuộc

hàm

Định nghĩa (Ngôn ngữ Par) Cho  tập vô hạn đếm nguyên tử (atoms)

 liên kết nhị phân (binary connective), ta định nghĩa ngôn ngữ:

Par = {XY | X, Y  2 X  }

Bây giờ, hệ tiên đề SPar đưa vào sau:

Định nghĩa LPar logic cho cặp (Par, SPar) SPar lược đồ tiên

đề AxPar: | Par S

XY Y  X quy tắc suy diễn sau: (Kí hiệu F |

Par S

F’ nghĩa tập phụ thuộc hàm F’ suy diễn logic từ tập phụ thuộc hàm F theo hệ tiên đề SPar)

Trans XY, Y Z | Par S

XZ (quy tắc bắc cầu) Augm XY |

Par S

XXY (quy tắc gia tăng)

Trong SPar ta có quy tắc suy diễn sau:

Union XY, X Z | Par S

XYZ (quy tắc hợp)

Comp XY, W Z | Par S

XWYZ (quy tắc hợp thành)

Inters XY, X Z | Par S

XY Z Y Z   (quy tắc giao) Reduc XY |

Par S

XY Z Y Z   (quy tắc rút gọn) Frag XYZ |

Par S

XY (quy tắc phân mảnh)

gAug XY | Par S

UV X  U V  XY (quy tắc gia tăng suy rộng)

gTrans XY, Z U | Par S

VW Z  XY, X  V W  UV (quy tắc bắc cầu suy rộng)

(3)

Nhận xét Dễ thấy logic Paredaens logic khác cho phụ thuộc hàm ([3] [4], [5], [6]) có cấu trúc cú pháp, ngữ nghĩa hệ tiên đề chúng tương đương

Nhận xét Để đơn giản thao tác với phụ thuộc hàm suy diễn phụ thuộc hàm từ tập phụ thuộc hàm cho trước, ta sử dụng hệ tiên đề tương đương với hệ tiên đề Armstrong làm [7] bao gồm tiên đề sau với

X, Y, Z tập :

A1 Nếu Y  X XY (quy tắc phản xạ)

A2 Nếu XY XZYZ (quy tắc gia tăng)

A3 Nếu XY Y Z XZ (quy tắc bắc cầu)

với việc ngầm hiểu quy tắc suy diễn khác quy tắc suy diễn dễ dàng suy từ hệ tiên đề Armstrong với ba tiên đề A1, A2, A3

Trong phần đây, ta hình thức hóa khái niệm dư thừa liên quan tới tập F phụ thuộc hàm cho trước 

Định nghĩa Cho F  Par f = XY  F

Ta nói f dư thừa (khơng cần thiết) F F \{ f } |

Par S

f

Ta nói f l-dư thừa F tồn Z  , Z  X cho (F \{ f })  {(X  Z)Y} |

Par S

f

Ta nói f r-dư thừa F tồn U  , U  Y cho (F \{ f })  { X(Y  U)} |

Par S

f

Ta nói F có dư thừa có chứa phần tử dư thừa l-dư thừa là r-dư thứa F

Sau đây, không giảm tổng quát, ta xét tập phụ thuộc hàm F, đó, phụ thuộc hàm thuộc F có vế trái vế phải rời nhau, có nghĩa với phụ thuộc hàm

XY  F ta có X  Y = 

Một tập phụ thuộc hàm có tính chất gọi tập phụ thuộc hàm thu gọn (reduced functional dependencies set)

Trong [1] có phát biểu chứng minh định lý sau:

Định lý (Định lý [1] Định lý [2])

Cho XY, UV  LFD với X  Y = 

(a) Nếu X  U {XY, UV}

Par S

{XY, (U Y)(V  Y)} (1) Do đó, U  Y   hay V  Y =  UV theo thứ tự l-dư thừa hay r-dư thừa trong {XY, UV}

(b) Nếu X  U X  UV {XY, UV}

Par S

(4)

(Kí hiệu F Par S

F’ nghĩa tập phụ thuộc hàm F’ tương đương với tập phụ thuộc hàm F theo hệ tiên đề SPar, từ F suy F’ ngược lại)

Chứng minh Định lý (là Định lý [1]) trình bày lại đầy đủ sau:

Chứng minh

(a) 

1 XY (giả thiết)

2 (U Y)Y (1, gia tăng suy rộng) 3 (U Y)(U  Y) AxFD (tiên đề phản xạ)

4 (U Y)UY (2, 3, quy tắc hợp) 5 (U Y)U (4, gia tăng suy rộng) 6 U  V (giả thiết)

7 (U Y)V (5, 6, bắc cầu suy rộng) 8 (U Y)(V  Y) (7, gia tăng suy rộng) (a) 

1 U  X AxFD (tiên đề phản xạ)

2 XY (giả thiết) 3 U  Y (1, 2, bắc cầu suy rộng) 4 (U Y)(V  Y) (giả thiết)

5 U  VY (3, 4, quy tắc hợp) 6 U  V (2, 5, gia tăng suy rộng) (b) 

1 U  V (giả thiết)

2 U  (V  Y) (1, gia tăng suy rộng) (b) 

1 U  X AxFD (tiên đề phản xạ)

2 XY (giả thiết) 3 U  Y (1, 2, bắc cầu suy rộng) 4 U  (V  Y) (giả thiết)

5 U  VY (3, 4, quy tắc hợp) 6 U  V (2, 5, gia tăng suy rộng)

Cái hay Định lý cho phép đưa vào hai quy tắc thay quan trọng ký hiệu theo thứ tự Subst rSubst

Subst XY, UV | Par S

(U  Y)  (V  Y) X  U, X  Y =  rSubst XY, UV |

Par S

U  (V  Y) X  U, X  UV, X  Y = 

Rõ ràng khơng có hệ tiên đề cho phụ thuộc hàm có quy tắc thay nói trên, có khả phát loại bỏ dư thừa tập phụ thuộc hàm cách hiệu

Dưới số nhận xét phần chứng minh Định lý nêu

Nhận xét Trong chứng minh chiều , phần (a) Định lý 1, dòng viết lại

5 U  VY (3, 4, Quy tắc hợp)

(5)

6 U  V (5, Quy tắc gia tăng suy rộng)

Nhận xét Trong chứng minh chiều , phần (b) Định lý 1, ta xem dòng 1 U  X AxFD (tiên đề phản xạ)

Khẳng định rõ ràng sai phát biểu phần (b) Định lý 1, ta có giả thiết X  U, X  UV, X  Y = 

Do đó, chiều {XY, U(V  Y)} |

Par S

{X  Y, U  V} với giả thiết nêu chưa chứng minh

3 MỘT CHỨNG MINH MỚI CHO ĐỊNH LÝ

Để đơn giản cách chứng minh Định lý 1, ta sử dụng hệ ba tiên đề tương đương với hệ tiên đề Armstrong với X, Y, Z  , đó,  vũ trụ thuộc tính

A1 Nếu Y  X X  Y (Tiên đề phản xạ)

A2 Nếu X  Y XZ  YZ (Tiên đề gia tăng)

A3 Nếu X  Y Y  Z X  Z (Tiên đề bắc cầu)

cùng với quy tắc suy diễn quen thuộc, dễ dàng suy từ hệ ba tiên đề A1, A2, A3

như:

Nếu X  Y U  V XU  YV (Quy tắc hợp)

Nếu X  Y X  Z với Z  Y (Quy tắc tách hay phân mảnh) Sau chứng minh cho Định lý

Trước hết, Định lý phát biểu lại sau: (a) Nếu X  U , X  Y =  hai tập phụ thuộc hàm

{XY, UV}  {X  Y, (U  Y)  (V  Y)}

trong đó,  tương đương theo nghĩa sử dụng hệ quy tắc suy diễn Armstrong, hệ phụ thuộc hàm thứ suy hệ phụ thuộc hàm thứ hai ngược lại

(b) Nếu X  U, X  UV

{XY, UV}  {X  Y, U  (V  Y}

Chứng minh

(a) 

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 XY (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 (V  Y)  V) (a) 

(6)

2 (U  Y)  (V  Y) (Giả thiết)

3 U  X (A1, 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 XY (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) (U  Y)  (V  Y) = UV  Y 5 U  (UV  Y) (3, 4, A3)

6 (UV  Y)  X (A1)

do có X  UV 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 Trong chứng minh Định lý 1, việc chứng minh phần (a) giống với chứng minh phần (a) [1] Cái khác chỗ cách thức giải thích bước suy diễn Trong [1], tác giả dùng tiên đề quy tắc suy diễn logic Paredaens, chứng minh mới, sử dụng hệ tiên đề quen thuộc Armstrong, nên việc giải thích bước suy diễn đơn giản, rõ ràng

Để khắc phục lỗi sai chứng minh phần (b) Định lý [1], chứng minh phần (b) chúng tơi hồn tồn Nó khiến cho Định lý [1], Định lý hay, tảng cho phép biến đổi tiền xử lý loại bỏ hiệu dư thừa tập phụ thuộc hàm cho trước, đứng vững sử dụng

Nhận xét Trong thực hành, nhiều trường hợp, để đơn giản hơn, ta dùng quy tắc thay sau:

Cho hệ hai phụ thuộc hàm {XY, UV} Nếu X  U, X  V X  Y =  thì, tương đương, thay {XY, UV} hệ hai phụ thuộc hàm {XY, U(V 

Y)} nói chung đơn giản Nói cách khác, X  U, X  V X  Y = 

{X  Y, U  V}  {X  Y, U  (V  Y)} (3)

Điều hiển nhiên X  U, X  V X  Y =  đương nhiên X  U,

X  UV X  Y =  ta rơi vào trường hợp (b) Định lý

Nhận xét Trên sở phép thay (1), (2), (3), ta làm đơn giản thủ tục

removeRedundancy [1] thủ tục Loại bỏ dư thừa cho tập phụ thuộc hàm F

ở dạng thu gọn gồm bước sau:

Procedure Loại bỏ dư thừa

(7)

Output: F' (Một tập phụ thuộc hàm tương đương với F với dư thừa hơn) Begin

Repeat

B1 Thực phép hợp cho phụ thuộc hàm có vế trái; B2 Thực phép thay (1), (2), (3);

Until (không thực thao tác B1 B2 thêm nữa);

B3 Kiểm tra xem tập phụ thuộc hàm thu được, có phụ thuộc hàm suy từ hai phụ thuộc hàm khác từ việc áp dụng (A3) Nếu có loại bỏ

End;

Nhận xét Trong [1] [2], tác giả cho chạy thủ tục removeRedundancy nhiều tập phụ thuộc hàm với số lượng kích thước khác thấy tỷ lệ phần trăm số lần áp dụng quy tắc thay cao tăng đáng kể với độ phức tạp tập phụ thuộc hàm

Ngoài ra, tác giả [1] [2] rút kết luận tổng quát sau:

- Đối với 28,25% 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 cách hiệu - Kích thước tập phụ thuộc hàm rút gọn tới 52,89%

- Khi số thuộc tính tăng lên số trường hợp khơng cần áp dụng quy tắc bắc cầu (A3) tăng lên Điều chứng tỏ quy tắc thay đặc biệt thích hợp để làm

việc với lược đồ sở liệu lớn

- Số phần trăm áp dụng quy tắc thay không phụ thuộc vào số thuộc tính độ dài phụ thuộc hàm

Nhận xét 10 Để thấy ý nghĩa ưu việt quy tắc thay (tức phép biến đổi tiền xử lý tập phụ thuộc hàm), ta xét hai ví dụ sau, đó, ví dụ lấy lại từ ví dụ [2] với việc chỉnh sửa lại sai sót nhỏ

Ví dụ ([2]) Cho F = {abc, abce, bdac, afb, cdba} Ta áp dụng

phép thay để thu tập phụ thuộc hàm với dư thừa

Như vậy, sau thực phép biến đổi tiền xử lý, ta thu tập F' tương đương với

F chứa dư thừa

F' = {abce, bda, cdb}

Ví dụ Áp dụng phép thay tập phụ thuộc hàm F = {ba, bgh, da, bih, abde, abfg, abcdj, abck}

Quy tắc áp dụng F

Quy tắc hợp:

ba, bgh | Par S

bagh

bagh, da, bih, abde,

abfg, abcdj, abck

Quy tắc hợp:

abde, abfg | Par S

abdefg

bagh, da, bih, abdefg, abcdj, abck

Quy tắc hợp:

abcdj, abck | Par S

abcdjkh

bagh, da, bih, abdefg, abcdjk

Ngày đăng: 11/03/2021, 10:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w