Tuỳ theo các loại ràng buộc đối với các phần tử trong một quan hệ của CSDL quan hệ ta cũng có những loại phần tử ngoại lai đối với từng trƣờng hợp đó (phần tử vi phạm các ràng buộc tƣơng ứng). Tuỳ theo ngữ cảnh và yêu cầu của bài toán thực tế mà các khái niệm, định nghĩa, phƣơng pháp xác định phần tử ngoại lai sẽ đƣợc đƣa ra. Trong phạm vi nghiên cứu của Luận văn, tôi chỉ đề cập tới một số dạng phần tử ngoại lai phổ biến đối với CSDL quan hệ và có ý nghĩa trong việc ứng dụng vào một số bài toán kiểm toán và quản lý tài chính. Chi tiết về khái niệm và phƣơng pháp xác định các phần tử ngoại lai cho từng trƣờng hợp sẽ đƣợc trình bày ở các nội dung sau. Các loại phần tử ngoại lai trong CSDL quan hệ thƣờng đƣợc đề cập tới gồm [5,9,10]:
1. Phần tử ngoại lai đối với phụ thuộc hàm, trong đó đƣợc chia ra: a. Phần tử ngoại lai đối với phụ thuộc hàm nói chung;
b. Phần tử ngoại lai đối với khoá;
c. Phần tử ngoại lai đối với các dạng phụ thuộc hàm đặc biệt khác(dạng bằng nhau, dạng tỉ lệ).
2. Phần tử ngoại lai đối với hệ luật kết hợp (các ràng buộc dạng phụ thuộc hàm); 3. Phần tử ngoại lai đối với các dạng chuẩn, trong đó chia ra:
16
a. Phần tử ngoại lai đối với dạng chuẩn 2NF; b. Phần tử ngoại lai đối với dạng chuẩn 3NF; c. Phần tử ngoại lai đối với dạng chuẩn BCNF.
4. Phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ loại 2.
5. Phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ dạng hồi qui.
1.5. Mơ hình phát hiện phần tử ngoại lai dựa theo luật đối với CSDL quan hệ
Mơ hình đƣợc trình bày ở đây dùng cho việc phát hiện các phần tử ngoại lai theo nghĩa chúng vi phạm các qui tắc, ràng buộc (luật) cho trƣớc trong CSDL dạng quan hệ. Các luật đƣợc đề cập ở đây mang tính chủ quan của ngƣời dùng và đã biết trƣớc (dựa trên các qui định trong thực tế đối với từng loại dữ liệu) có ý nghĩa nhƣ hệ thống giám sát trong kỹ thuật học máy có giám sát.
Trong trƣờng hợp bài toán phát hiện phần tử ngoại lai theo nghĩa xác định các phần tử trong tập dữ liệu có sự khác biệt đáng kể so với đa số các phần tử còn lại mà chƣa biết rõ luật mà các phần tử phải tn theo thì có thể áp dụng các phƣơng pháp đã đƣợc trình bày trong [5,9,10] để giải quyết.
Trong sơ đồ tổng quát, việc phát hiện phần tử ngoại lai dựa theo luật đối với CSDL quan hệ đƣợc tiến hành theo các bƣớc sau:
1. Phân tích bài tốn thực tế: trong bƣớc này cần xác định các dữ liệu đầu vào (các bảng dữ liệu đầu vào), các yêu cầu đặt ra và các luật (các ràng buộc, qui tắc) mà các phần tử của dữ liệu đầu vào phải tuân theo. Xác định các bộ vi phạm các luật qui định (đầu ra).
2. Xử lý trƣớc: trong bƣớc này cần phân tích bài tốn để nếu cần thiết thì sẽ sử dụng các thuật toán phân loại dữ liệu hoặc lấy mẫu kiểm tra.
3. Dựa vào các mơ hình (phƣơng pháp) phát hiện phần tử ngoại lai đã biết để phân loại bài toán.
4. Sử dụng phƣơng pháp đƣợc lựa chọn để xử lý bài tốn.
Mơ hình phát hiện phần tử ngoại lai dựa theo luật đƣợc trình bày ở trên so với các mơ hình của các tác giả trƣớc đó có những điểm khác biệt sau:
17
- Các mơ hình trƣớc đây không đặt ra vấn đề biết trƣớc các luật mà các phần tử trong tập dữ liệu phải tuân theo mà thƣờng gắn quá trình xác định phần tử ngoại lai cùng với việc phát hiện các luật nằm trong dữ liệu. Các phƣơng pháp, thuật toán phát hiện thuộc loại phát hiện khơng có giám sát (tƣơng tự nhƣ phƣơng pháp học máy khơng có giám sát). Trong mơ hình mới đƣợc đƣa ra có các luật đƣợc biết trƣớc. Các phƣơng pháp, thuật toán đƣợc đƣa ra thuộc loại phát hiện có giám sát (tƣơng tự nhƣ phƣơng pháp học máy có giám sát).
- Mơ hình mới tập trung vào việc phát hiện phần tử ngoại lai trong tập dữ liệu mà mỗi phần tử là một bản ghi (bộ giá trị của nhiều thuộc tính - phần tử trong khơng gian nhiều chiều). Tập dữ liệu trong các mơ hình trƣớc đó là tập dữ liệu nói chung và các phần tử thuộc không gian một chiều.
- Các phần tử ngoại lại trong CSDL quan hệ đƣợc đề cập ở đây đƣợc hiểu là các phần tử (bộ) giá trị của bảng dữ liệu cho trên một tập thuộc tính R hoặc cho trên một sở đồ quan hệ s=<R,F> mà không tuân theo các qui định, ràng buộc đối với quan hệ trên sơ đồ quan hệ đó.
18 Xác định bài toàn Tiền xử lý - Bảng đầu vào - Các luật (ràng buộc, qui tắc)
- Phân loại dữ liệu (a) - Xác định mẫu chọn (b) Lựa chọn mơ hình Phát hiện PTNL đối với PTH Phát hiện PTNL đối với các dạng chuẩn Phát hiện PTNL đối với phụ thuộc hàm xấp xỉ loại II Phát hiện PTNL đối với các ràng buộc theo ngữ nghĩa Dạng đặc biệt Dạng chung (1) Đối với khóa (2) 2NF (5) 3NF (6) BCNF (7) Dạng chung (8) Dạng hồi qui (9) Dạng luật kết hợp (10) Dạng ràng buộc khác (11) Dạng bằng nhau (3) Dạng tỉ lệ (4)
19
Hình 1. 2. Sơ đồ phát hiện phần tử ngoại lai dựa theo luật trong CSDL quan hệ
Ghi chú:
(a) Phân loại dữ liệu.
(b) Lấy mẫu phát hiện phần tử ngoại lai.
TÓM TẮT CHƢƠNG 1
Khái niệm phụ thuộc hàm miêu tả một loại ràng buộc (phụ thuộc dữ liệu) xảy ra tự nhiên nhất giữa các tập thuộc tính. Dù hiện nay đã có nhiều loại phụ thuộc dữ liệu đƣợc nghiên cứu, nhƣng về cơ bản, các hệ quản trị CSDL lớn thƣờng sử dụng đặc trƣng phụ thuộc hàm.
Một cách hình thức ngƣời ta có thể định nghĩa phần tử ngoại lai (outliers)
của một tập dữ liệu là các phần tử mà theo một cách nhìn nào đó có các đặc tính khơng giống với tập hợp đa số còn lại của tập dữ liệu.
Có nhiều cơng trình nghiên cứu về phát hiện phần tử ngoại lai. Các phƣơng pháp chính để xác định phần tử ngoại lai bao gồm:
1. Xác định phần tử ngoại lai theo khoảng cách (Distance-Based) 2. Xác định theo thống kê (Sttistical-Based)
3. Xác định theo độ khác biệt (Deviation-Based)
Hƣớng nghiên cứu thứ 3 dựa trên việc xác định những đặc trƣng cơ bản của các phần tử trong một tập các phần tử. Các phần tử có những đặc trƣng khác biệt quá lớn so với các phần tử cịn lại thì là các phần tử ngoại lai. Điển hình cho hƣớng tiếp cận này là các tác giả Arning, Agrawal, Raghavan. Nội dung của luận văn cũng nghiêng theo hƣớng nghiên cứu này.
Các loại phần tử ngoại lai trong CSDL quan hệ thƣờng đƣợc đề cập tới gồm [5,9,10]:
20
+ Phần tử ngoại lai đối với phụ thuộc hàm nói chung; + Phần tử ngoại lai đối với khoá;
+ Phần tử ngoại lai đối với các dạng phụ thuộc hàm đặc biệt (dạng bằng nhau, dạng tỉ lệ);
- Phần tử ngoại lai đối với hệ luật kết hợp (các ràng buộc dạng phụ thuộc hàm); - Phần tử ngoại lai đối với các dạng chuẩn, trong đó chia ra:
+ Phần tử ngoại lai đối với dạng chuẩn 2NF; + Phần tử ngoại lai đối với dạng chuẩn 3NF; + Phần tử ngoại lai đối với dạng chuẩn BCNF;
- Phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ loại 2;
- Phần tử ngoại lai đối với phụ thuộc hàm xấp xỉ dạng hồi qui.
Trong các chƣơng tiếp theo của luận văn, tác giả sẽ tập trung nghiên cứu một phần nội dung về phần tử ngoại lai đối với phụ thuộc hàm đặc biệt dạng đơn giản, cụ thể là đối với hai loại phụ thuộc hàm dạng bằng nhau và dạng tỉ lệ.
21
CHƢƠNG 2
CÁC THUẬT TOÁN XÁC ĐỊNH PHẦN TỬ NGOẠI LAI ĐỐI VỚI CÁC PHỤ THUỘC HÀM DẠNG ĐẶC BIỆT
2.1. Phần tử ngoại lai đối với phụ thuộc hàm
2.1.1. Khái niệm phần tử ngoại lai đối với phụ thuộc hàm
Cho r là một quan hệ dạng bảng dữ liệu trên sơ đồ quan hệ s=<R,F>. Giải thiết r là một quan hệ. Ta gọi một cặp bộ t1, t2 r không thỏa mãn điều kiện phụ thuộc hàm của F là cặp phần tử ngoại lai đối với phụ thuộc hàm của quan hệ r. Ta biểu diễn một cách hình thức nhƣ sau [5]:
Giả sử X Y là một phụ thuộc hàm thuộc F.
Khi đó cặp t1, t2r là cặp phần tử ngoại lai đối với phụ thuộc hàm X Y nếu t1(X)= t2(X) và t1(Y) t2(Y).
Ví dụ:
Cho quan hệ r sau:
Bảng 2. 1. Quan hệ r có phần tử ngoại lai đối với phụ thuộc hàm [7]
A B C D E t1 0 1 2 1 3 t2 1 2 2 1 3 t3 0 1 2 1 4 t4 3 1 2 1 1 t5 3 2 1 3 1
Hàng trên cùng biểu diễn các thuộc tính A, B, C, D, E. Các hàng tiếp theo đƣợc coi là các phần tử của quan hệ và đƣợc đánh số lần lƣợt t1, t2, t3, t4, t5.
Giả sử trong r tồn tại phụ thuộc hàm: A BE. Thế thì cặp (t1, t3) và cặp (t4, t5) là cặp ngoại lai đối với phụ thuộc hàm này.
22
2.1.2. Định nghĩa hệ bằng nhau
Giả sử r = {t1, t2, .......tm} là quan hệ trên cơ đồ quan hệ s=<R,F>. Tập Er đƣợc xác định nhƣ sau:
Er = {Ei,j: 1 i < j m và Ei,j = {a ∈ R; ti(a) = tj(a)}}.
Gọi Er là hệ bằng nhau của r. Ví dụ:
Cho quan hệ r sau:
Bảng 2. 2. Quan hệ r minh họa để xác định hệ bằng nhau [7]
a1 a2 a3 a4 a5 1 1 0 1 0 1 0 0 3 0 3 1 1 3 1 5 1 0 3 0 12 1 3 5 13 2 14 2 3 5 r 23 4 24 3 4 5 34 2 4 E a , a , a E a E a , a , a E E a E a , a , a E a , a
2.1.3. Định lý về sự nhận biết phần tử ngoại lai đối với phụ thuộc hàm hàm
Định lý [5,7]:
Cho r là một quan hệ trên sơ đồ quan hệ s=<R,F>; Er là hệ bằng nhau của r; X Y là một phụ thuộc hàm đƣợc giả thiết đúng trên r. Cặp phần tử (ti,tj) với ti, tj r là ngoại lai đối với phụ thuộc hàm X Y khi và chỉ khi Ei,j Er mà X Ei,j nhƣng Y Ei,j .
23
Thật vậy giả sử (ti, tj) là cặp ngoại lai đối với phụ thuộc hàm X Y, khi đó ta có: t1(X) = t2(X) nhƣng t1(Y) t2(Y).
Từ định nghĩa Ei,j ta có X Ei,j nhƣng Y Ei,j, vì nếu Y Ei,j thì ti(Y) = tj(Y) trái với giả thiết.
Ngƣợc lại: Nếu có Ei,j Er (xác định theo ti, tj) mà X Ei,j nhƣng Y Ei,j thì cũng theo cách xác định Ei,j ta có: ti(a) = tj(a) với a Ei,j do (Y Ei,j), do vậy ti(X) = tj(X). Cũng do Y Ei,j nên ti(Y) tj(Y). Theo định nghĩa 2.1.1 thì (ti, tj) là cặp ngoại lai. Đó là điều phải chứng minh.
Ví dụ:
Cho quan hệ r sau:
Bảng 2. 3. Quan hệ minh họa nhận biết phần tử ngoại lai đối với phụ thuộc
hàm [7] A B C D E 0 1 2 1 3 1 2 2 1 3 0 1 2 1 4 3 1 2 1 1 3 2 1 3 1
Hàng trên cùng biểu diễn các thuộc tính A, B, C, D, E. Các hàng tiếp theo đƣợc coi là các phần tử của quan hệ và đƣợc đánh số lần lƣợt t1, t2, t3, t4, t5.
Giả sử quan hệ này có phụ thuộc hàm: A BE. Tìm các cặp ngoại lai đối với phụ thuộc hàm này.
Tính Er: E1,2 = CDE; E1,3 = ABCD; E1,4 = BCD; E1,5 = ;
24 E2,3 = CD; E2,4 = CD; E2,5 = B; E3,4 = BCD; E3,5 = ; E4,5 = AE.
Ta thấy trong E1,3 ; E4,5 có chứa A, nhƣng khơng chứa BE. Nhƣ vậy cặp (t1, t3) và cặp (t4, t5) là cặp ngoại lai đối với phụ thuộc hàm A BE.
Từ định lý trên ta có thuật tốn xác định các cặp ngoại lai đối với phụ thuộc hàm nhƣ dƣới đây.
2.1.4. Thuật toán xác định phần tử ngoại lai đối với phụ thuộc hàm
Input: Tập thuộc tính R = {A1, A2 ....An}, quan hệ r = {t1, t2,...,tm} trên R. Giả sử có tập các phụ thuộc hàm F = {X1 Y1, X2 Y2,..., Xs Ys}
Output: OUTLI – tập các cặp ngoại lai đối với phụ thuộc hàm
Bƣớc 1: Tính hệ bằng nhau Er = {Ei,j: 1 i < j m, Ei,j = { a R; ti(a) = tj(a)}}.
Bƣớc 2: Với mỗi phụ thuộc hàm XiYiF và mọi Ek,jEr (1 k < j m) kiểm tra điều kiện XiEk,j AND Yi Ek,j. Nếu đúng, lƣu cặp (tk,tj) vào tập OUTLI. Nếu không, kiểm tra tiếp các phụ thuộc hàm khác trong F.
Tập OUTLI là tập các cặp ngoại lai đối với phụ thuộc hàm của r. Trong ví dụ trên với phụ thuộc hàm A BE thì k=1 hoặc k=4.
2.1.5. Phụ thuộc hàm dạng đặc biệt
Chúng ta thấy rằng trong trƣờng hợp đối với một phụ thuộc hàm nói chung thì các thuật tốn nêu trên chỉ có thể tìm đƣợc các cặp phần tử mà trong đó có ít nhất một phần tử là ngoại lai đối với phụ thuộc hàm. Trong một số trƣờng hợp đặc biệt dạng đơn giản của phụ thuộc hàm trong các CSDL thực tế nhƣ phụ thuộc hàm dạng bằng nhau, phụ thuộc hàm dạng tỉ lệ mà chúng ta đã giới thiệu tóm lƣợc trong
25
lai đối với các phụ thuộc hàm loại này. Phần dƣới đây trình bày một số trƣờng hợp đó.
2.1.6. Phần tử ngoại lai đối với phụ thuộc hàm dạng đặc biệt
Định nghĩa phụ thuộc hàm có dạng bằng nhau [7]:
Ngƣời ta đã đƣa ra khái niệm về phụ thuộc hàm bằng nhau nhƣ sau:
Cho quan hệ r trên R = (A1, A2, .....An). Giả sử với Ap, Aq nào đó thuộc R, mà
với mọi ti r ta có: ti(Ap) = ti(Aq). Khi đó nếu có phụ thuộc hàm Ap Aq mà đồng
thời cũng có Aq Ap thì đó là phụ thuộc hàm có dạng bằng nhau.
Trong trƣờng hợp này, để xác định các cặp phần tử ngoại lai ti, tj ta có thể so sánh: ti(Ap) với ti(Aq) (hoặc tj(Ap) với tj(Aq)).
Nếu ti(Ap) ti(Aq) (hoặc tj(Ap) tj(Aq)) thì khi đó mọi cặp (ti, tk) (hoặc (tj, tk)) với tk r đều là cặp phần tử ngoại lai.
Ví dụ:
Bảng 2. 4. Form tóm lược bảng kê kiểm tra tỷ lệ thuế nộp của một công ty kinh doanh
Ngày Số HĐ Mã hàng TL_thuế nộp (theo loại hàng) Thành tiền Tiền thuế TL_thuế QĐ (theo loại hàng) T1 HĐ1 MH001 a A A‟ a T2 HĐ2 MH001 a B B‟ a T3 HĐ2 MH008 b C C‟ b T4 HĐ3 MH005 c D D‟ c T5 HĐ4 MH001 a E E‟ a
Nhận thấy rằng trong bảng có phụ thuộc hàm dạng bằng nhau: TL_thuế nộp -> TL_thuế QĐ
Định nghĩa phụ thuộc hàm có dạng tỷ lệ [7]:
Cho r là một quan hệ trên sơ đồ quan hệ (R,F).
Giả sử có các thuộc tính số: As, As1, As2,..., Ask R và các số thực: p1, p2, .....pk với pj 1; (j = 1,2,..,k)
26 Và 1 k j j p
= 1; với mọi ti r sao cho: ti(As1) = p1 * ti(As)
ti(As2) = p2 * ti(As) .....
ti(Ask) = pk * ti(As)
Khi này ta ký hiệu phụ thuộc hàm As As1.As2.....Ask và gọi phụ thuộc hàm dạng này là phụ thuộc hàm dạng tỉ lệ với pj là tỉ lệ đối với thuộc tính Asj với j = 1,...,k.
Trong thực tế chúng ta gặp loại phụ thuộc hàm loại này trong một số trƣờng hợp thực tế. Trong thực tế, các tỉ lệ pj có thể đƣợc chấp nhận với một giá trị sai số δ nào đó.
Ví dụ:
Bảng 2. 5. Quan hệ minh họa có phụ thuộc hàm dạng tỷ lệ [7]
AS A1 A2 A3 A4
120 24 42 30 24
75 15 26.25 18.75 15
80 16 28 20 16
160 32 56 40 32
Với bảng tỷ lệ của các thuộc tính A1,A2,A3,A4 so với AS nhƣ sau:
Tỷ lệ A1 A2 A3 A4
p1=0.2 p 2=0.35 p 3=0.25 p 4=0.2
Trong ví dụ này: k=4.
2.2. Phần tử ngoại lai đối với phụ thuộc hàm dạng bằng nhau
2.2.1. Định nghĩa phần tử ngoại lai đối với phụ thuộc hàm dạng bằng nhau nhau
27
Cho r là một quan hệ trên sơ đồ quan hệ s=<R,F> với R = {A1, A2, ..., An}; cho Ap Aq là phụ thuộc hàm dạng bằng nhau đúng trên r (ti(Ap) = ti(Aq) với mọi ti
r). Phần tử ngoại lai đối với Ap Aq đƣợc định nghĩa là phần tử tkr mà tk(Ap)