4 Chương 1: Tổng quan về phụ thuộc hàm, khóa và phần tử ngoại lai trong cơ sở dữ liệu quan hệ .... 23 Chương 2: Phát hiện phần tử ngoại lai đối với phụ thuộc hàm và khóa trong cơ sở dữ l
Trang 2LUẬN VĂN THẠC SĨ MÁY TÍNH
Người hướng dẫn khoa học: TS Lê Văn Phùng
HÀ NỘI, 2016
Trang 3Em xin chân thành gửi lời cảm ơn tới các thầy cô phòng Sau Đại học, khoa CNTT và thư viện trường ĐHSPHN2 đã tận tình giúp đỡ và truyền đạt những kiến thức quý giá trong quá trình học tập cũng như trong quá trình hoàn thành cuốn luận văn này
Em xin gửi lời cảm ơn đến Ban giám hiệu trường THPT Trần Hưng Đạo – Tam Dương – Vĩnh Phúc và các thầy cô trong trường đã tạo điều kiện
để em có được những dữ liệu thực tế góp phần vào sự hoàn thiện của luận văn
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan tất cả các số liệu và kết quả nghiên cứu trong luận văn này là hoàn toàn trung thực và không trùng lặp với các đề tài khác Tôi cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc
Tác giả luận văn
Lê Thanh Hà
Trang 5MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục đích nghiên cứu 2
3 Nhiệm vụ nghiên cứu 2
4 Đối tượng và phạm vi nghiên cứu 2
5 Phương pháp nghiên cứu 2
6 Dự kiến kết quả đạt được: 2
NỘI DUNG 4
Chương 1: Tổng quan về phụ thuộc hàm, khóa và phần tử ngoại lai trong cơ sở dữ liệu quan hệ 4
1.1 Khái niệm phụ thuộc hàm 4
1.1.1 Định nghĩa phụ thuộc hàm: 4
1.1.2 Hệ tiên đề Armstrong 6
1.2 Các dạng phụ thuộc hàm đặc biệt 7
1.2.1 Dạng các phụ thuộc hàm dạng bằng nhau 7
1.2.2 Dạng phụ thuộc hàm dạng tỉ lệ 7
1.3 Khái niệm khóa và phương pháp xác định khóa trong CSDL quan hệ 8
1.3.1 Khoá 8
1.3.2 Một số thuật toán liên quan đến khóa 10
1.3.2.1 Một số thuật toán tính bao đóng 10
1.3.2.2 Một số thuật toán tính khóa tối tiểu 13
1.4 Hệ bằng nhau 17
1.5 Phần tử ngoại lai và mối quan hệ giữa chúng với khai phá dữ liệu 19
1.5.1 Khái niệm về phần tử ngoại lai 19
1.5.2 Mối quan hệ giữa phần tử ngoại lai với khai phá dữ liệu 20
Trang 61.6 Mô hình phát hiện các phần tử ngoại lai trong dữ liệu và trong cơ sở dữ
liệu quan hệ 21
1.6.1 Định nghĩa 21
1.6.2 Phân loại các phần tử ngoại lai trong CSDL quan hệ 21
1.6.3 Mô hình phát hiện phần tử ngoại lai dựa theo luật đối với CSDL quan hệ 22
1.7 Ứng dụng của các phần tử ngoại lai 23
Chương 2: Phát hiện phần tử ngoại lai đối với phụ thuộc hàm và khóa trong cơ sở dữ liệu quan hệ 26
2.1 Phần tử ngoại lai đối với phụ thuộc hàm 26
2.1.1 Khái niệm phần tử ngoại lai đối với phụ thuộc hàm 26
2.1.2 Định lý 2.1: Nhận biết cặp ngoại lai đối với phụ thuộc hàm 26
2.1.3 Thuật toán xác định các cặp ngoại lai đối với tập các phụ thuộc hàm 27
2.1.4 Phần tử ngoại lai đối với các dạng phụ thuộc hàm đặc biệt 28
2.1.4.1 Phần tử ngoại lai đối với phụ thuộc hàm dạng bằng nhau 28
2.1.4.2 Phần tử ngoại lai đối với phụ thuộc hàm dạng tỉ lệ 30
2.2 Phần tử ngoại lai đối với khóa 33
2.2.1 Khái niệm phần tử ngoại lai đối với khóa 33
2.2.3 Thuật toán xác định phần tử ngoại lai theo khóa 34
Chương 3: Ứng dụng tìm phần tử ngoại lai để kiểm tra xếp loại học lực và danh hiệu cho học sinh trường THPT Trần Hưng Đạo 36
3.1 Bài toán đặt ra và mục tiêu chương trình 36
3.1.1 Bài toán đặt ra 36
3.1.2 Mục tiêu chương trình 36
3.2 Chọn thuật toán thử nghiệm: 38
3.3 Dữ liệu vào và yêu cầu kết quả ra 41
3.4 Môi trường thử nghiệm 41
Trang 73.4.1 Hệ quản trị dữ liệu 41
3.4.2 Ngôn ngữ lập trình 42
3.5 Một số giao diện chính 42
3.5.1 File dữ liệu 42
3.6 Đánh giá kết quả và hướng mở rộng 47
3.6.1 Đánh giá kết quả 47
3.6.2 Hướng mở rộng 47
KẾT LUẬN 48
TÀI LIỆU THAM KHẢO 50
Trang 9DANH MỤC CÁC HÌNH
Hình 1.1 – Phần tử ngoại lai trong tập điểm có tọa độ (x,y) trên mặt phẳng có
giá trị tung độ y nhỏ hơn hẳn các phần tử khác của tập hợp 19
Hình 3.0 – Hình ảnh file dữ liệu excel đưa vào chương trình 42
Hình 3.1 – Giao diện đăng nhập vào trang web chứa chương trình 43
Hình 3.2 – Giao diện chính của trang web chưa chương trình 43
Hình 3.3 – Chọn Nhập điểm 44
Hình 3.4 – Giao diện nhập điểm tra của học sinh bằng file excel 44
Hình 3.5 – Giao diện dữ liệu file excel được tải lên 45
Hình 3.6 – Giao diện thông báo số phần tử ngoại lai 45
Hình 3.7 – Giao diện thể hiện phần tử ngoại lai 46
Hình 3.8 – Giao diện hoàn chỉnh đúng 46
Hình 3.9 – Giao diện thể hiện nhập thành công file dữ liệu và kiểm tra không phát hiện phần tử ngoại lai 47
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Thế kỷ XXI được xem là một thể kỷ của công nghệ thông tin Các công nghệ khám phá tri thức được áp dụng rộng rãi trong nhiều lĩnh vực và đem lại những thành tựu vô cùng to lớn Nhưng các công nghệ khám phá tri thức thường nhằm mục đích tìm kiếm, khám phá các dạng và mẫu thường gặp Chủ yếu tập trung vào các hướng: Tìm kiếm các luật kết hợp, nhận dạng và phân lớp mẫu… Còn lĩnh vực khám phá phần tử ngoại lai chưa có được sự quan tâm, đầu tư và phát triển ở trong và ngoài nước
Người ta nhận thấy rằng có rất nhiều tri thức còn tiềm ẩn trong dữ liệu, vấn đề đặt ra là làm thế nào để khai thác được thông tin và khai thác một cách
có hiệu quả Còn lĩnh vực khám phá phần tử ngoại lai mới bước đầu được thực sự quan tâm nghiên cứu Mặc dù nó được ứng dụng trong nhiều lĩnh vực trong cuộc sống: như phát hiện những thẻ bất thường trong hệ thống ngân hàng, những tuyến đường bất ổn không hợp lý trong giao thông, ứng dụng trong hệ thống an ninh, dự báo thời tiết, trong thị trường chứng khoán, trong lĩnh vực thể thao, y tế, giáo dục,… Tuy nhiên, với số lượng dữ liệu được tập trung và lưu trữ trong cơ sở dữ liệu ngày càng lớn thì việc tìm kiếm các ngoại
lệ hoặc các phần tử ngoại lai trở nên cấp thiết hơn nhiều
Do tính hấp dẫn và tính thời sự của khai phá dự liệu, đặc biệt là phát
hiện phần tử ngoại lai trong sơ sở dữ liệu quan hệ, tôi đã chọn đề tài “Nghiên
cứu phần tử ngoại lai đối với phụ thuộc hàm và khóa trong cơ sở dữ liệu quan hệ” là luận văn cao học của mình Trong đó nghiên cứu vận dụng kiến thức
nghiên cứu này vào hỗ trợ kiểm tra xếp loại học lực và danh hiệu cho học sinh trường THPT Trần Hưng Đạo
Trang 113 Nhiệm vụ nghiên cứu
- Tìm hiểu về phần tử ngoại lại, phụ thuộc hàm, khóa trong cơ sở dữ liệu quan hệ
- Tìm hiểu phần tử ngoại lai đối với phụ thuộc hàm và khóa trong cơ sở
dữ liệu quan hệ
- Ứng dụng phần tử ngoại lai để hỗ trợ kiểm tra xếp loại học lực và danh hiệu cho học sinh trường THPT Trần Hưng Đạo
4 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Phần tử ngoại lai đối với phụ thuộc hàm và khóa trong cơ sở dữ liệu quan hệ
- Phạm vi nghiên cứu: Phần tử ngoại lai trong phụ thuộc hàm và khóa trong cơ sở dữ liệu quan hệ
5 Phương pháp nghiên cứu
- Kết hợp lý thuyết với đánh giá thưc nghiệm
- Thu thập tài liệu, phân tích, suy luận, tổng hợp, đánh giá
- Phân tích bài toán và ứng dụng và chọn lọc thuật toán thử nghiệm
Trang 12dụng việc xác định phần tử ngoại lai đối với phụ thuộc hàm và khóa trong cơ
sở dữ liệu quan hệ
Trang 13NỘI DUNG Chương 1: Tổng quan về phụ thuộc hàm, khóa và phần tử ngoại lai trong
cơ sở dữ liệu quan hệ 1.1 Khái niệm phụ thuộc hàm
Phụ thuộc hàm (functional dependency) là một công cụ dùng để biểu diễn một cách hình thức các ràng buộc toàn vẹn (vắn tắt: ràng buộc) Phương pháp biểu diễn này có rất nhiều ưu điểm, và đây là một công cụ cực kỳ quan trọng, gắn chặt với lý thuyết thiết kế cơ sở dữ liệu
Phụ thuộc hàm được ứng dụng trong việc giải quyết các bài toán tìm khóa, tìm phủ tối thiểu và chuẩn hóa cơ sở dữ liệu
Khái niệm về phụ thuộc hàm trong một quan hệ là rất quan trọng trong việc thiết kế mô hình dữ liệu Năm 1970 E.F Codd đã mô tả phụ thuộc hàm trong mô hình dữ liệu quan hệ, nhằm giải quyết việc phân rã không mất thông tin
1.1.1 Định nghĩa phụ thuộc hàm:
Cho R = {a1, a2, , an} là tập các thuộc tính, r = {h1, h2, , hm} là một quan hệ trên R, và A, B R (A, B là tập cột hay tập thuộc tính) Khi đó ta nói
A xác định hàm cho B hay B phụ thuộc hàm vào A trong r
(ký pháp A r f B) nếu:
( hi, hj r) ((a A) ( hi(a) = hj(a)) (b B) ( hi(b) = hj(b) )) nghĩa là đối số trùng nhau thì hàm có cùng giá trị
Người ta còn viết (A, B) hay A B thay cho r f B
Lúc đó tập hợp tất cả (A, B) như thế xác định một họ f trên R
Nhận xét:
Trang 14- Ta có thể thấy rằng B mà phụ thuộc hàm vào A, nếu hai dòng bất kỳ
mà các giá trị của tập thuộc tính A mà bằng nhau từng cặp một, thì kéo theo các giá trị trên tập thuộc tính B cũng phải bằng nhau từng cặp một
Ví dụ 1.1: Về việc phân công lái máy bay:
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Với các thuộc tính : tên phi công(PHICONG), số máy bay(MAYBAY), ngày khởi hành(NGAYKH), giờ khởi hành(GIOKH)
Quan hệ phanCong diễn tả phi công nào lái máy bay nào và máy bay khởi hành vào thời gian nào
Không phải sự phối hợp bất kỳ nào giữa phi công, máy bay và ngày giờ khởi hành cũng đều được chấp nhận mà chúng có các điều kiện ràng buộc qui định sau:
+ Mỗi máy bay có một giờ khởi hành duy nhất
+ Nếu biết phi công, biết ngày giờ khởi hành thì biết được máy bay do phi công ấy lái
+ Nếu biết máy bay, biết ngày khởi hành thì biết phi công lái chuyến bay
+ GIOKH phụ thuộc hàm vào MAYBAY
+ MABAY phụ thuộc hàm vào {PHICONG,NGAYKH,GIOKH}
+ PHICONG phụ thuộc hàm vào {MAYBAY,NGAYKH}
và được ký hiệu như sau:
Trang 15Gọi F là tập xác định các phụ thuộc hàm đối với lược đồ quan hệ R và
X Y là một phụ thuộc hàm X, Y R Nói rằng X Y được suy diễn logic từ F nếu mối quan hệ r trên R đều thoả mãn phụ thuộc hàm của F thì
cũng thoả mãn X Y Chẳng hạn F ={A B, B C} thì A C suy ra từ
F Gọi F +
là bao đóng (closure) của F, tức là tập tất cả các phụ thuộc hàm
được suy diễn logic từ F Nếu F = F+
thì F là họ đầy đủ (full family) của các
phụ thuộc hàm
Để có thể xác định khoá của một lược đồ quan hệ và các suy diễn logic giữa các phụ thuộc hàm cần thiết phải tính được F+
từ F Do đó đòi hỏi phải
có các hệ tiên đề Tập các quy tắc của hệ tiên đề được Armstrong (1974) đưa
ra, thường được gọi là hệ tiên đề Armstrong
Định nghĩa 1.2
Cho R = {a1, ,an} là tập các thuộc tính
X, Y, Z R Hệ tiên đề Armstrong bao gồm 3 tính chất cơ bản sau:
A1 (phản xạ) : Nếu Y X thì X Y
A2 (tăng trưởng) : Nếu Z R và X Y thì XZ YZ
Trong đó ký hiệu XZ là hợp của hai tập X và Z thay cho ký hiệu X Z
A3 (bắc cầu ) : Nếu X Y và Y Z thì X Z
Nhận xét:
Trang 16 Việc nghiên cứu phụ thuộc hàm không lệ thuộc vào các quan hệ (bảng) cụ thể Vì vậy, áp dụng được các công cụ toán nhằm sáng tỏ
cấu trúc logic của mô hình dữ liệu quan hệ
Có nhiều quan hệ khác nhau nhưng các họ đầy đủ các phụ thuộc hàm của chúng lại như nhau
Các phụ thuộc hàm dạng bằng nhau có trong các bảng dữ liệu được sinh ra trong trường hợp chúng ta kết nối hai hoặc nhiều bảng dữ liệu với nhau
Trang 17ti(As2) = p2 * ti(As)
ti(Ask) = pk * ti(As)
Trong trường hợp này ta có phụ thuộc hàm:
As As1.As2 Ta gọi phụ thuộc hàm dạng này là phụ thuộc hàm dạng tỉ lệ Gọi pj là tỉ lệ đối với phụ thuộc tính Asj (j = 1 k)
Trong thực tế chúng ta gặp loại phụ thuộc hàm loại này trong các trường hợp tạo các bảng kê về khối lượng một loại sản phẩm được sản xuất ra cùng với các thành phần dùng để tạo nên sản phẩm đó (theo định mức qui định)
1.3 Khái niệm khóa và phương pháp xác định khóa trong CSDL quan hệ
1.3.1 Khoá
Giả sử r = {h1, h2, , hm} là một quan hệ, s = < R, F > là một sơ đồ quan
hệ, trong đó R = {a1, a2, , an} là tập các thuộc tính, F là tập xác định các phụ thuộc hàm trên R Gọi Y là một họ f trên R và A R Khi ấy A là một khoá
của r ( tương ứng là một khoá của s, một khóa của Y) nếu:
A r f R (A R F+, (A, R) Y)
Nghĩa là A phải thoả mãn các tính chất sau đây:
Với bất kỳ hai bộ h1, h2 r đều tồn tại một thuộc tính a A sao cho
h1(a) h2(a) Nói cách khác, không tồn tại hai bộ mà có giá trị bằng nhau trên mọi tập thuộc tính của A Điều kiện này có thể viết t1(A) t2(A) Do vậy, mỗi giá trị của A xác định là duy nhất Khi biết giá trị thuộc tính trong A sẽ biết được các giá trị của thuộc tính khác
Theo định nghĩa của Codd: Nếu có hai dòng bằng nhau trên các giá trị của khoá A thì sẽ kéo theo bằng nhau trên tất cả các cột còn lại Như vậy sẽ
Trang 18có hai cột bằng nhau, điều này không thể có được và nếu có thì đấy là dữ liệu nhầm lẫn
Chúng ta gọi A (A R) là một khoá tối tiểu của r (tương ứng của s,
của Y) nếu:
+ A là một khoá của r (s,Y) tức A R
+ Bất kỳ một tập con thực sự của A không là khoá của r (s, Y) hay không tồn tại A' tập con thực sự A' A mà A' R
Dù rằng dễ thấy A có thể chính bằng R nhưng người ta vẫn phải đi tìm khóa tối tiểu, tức là khóa nhỏ nhất mà không thể nhỏ hơn được nữa để việc so sánh các giá trị khóa với nhau trong quá trình tìm kiếm bản ghi là nhanh nhất Một sơ đồ quan hệ có thể có nhiều khóa, thậm chí còn có nhiều khoá tối tiểu
Ví dụ 1.3:
Ta có bảng quan hệ sau:
Trang 19Ký hiệu Kr , Ks , Ky là tập tất cả các khoá tối tiểu của r (s, Y)
1.3.2 Một số thuật toán liên quan đến khóa
1.3.2.1 Một số thuật toán tính bao đóng
Một vấn đề thường xuyên xảy ra là đối với một sơ đồ quan hệ cho trước (s = <R, F>), và một phụ thuộc hàm A B, chúng ta muốn biết A B
bao gồm cả những phụ thuộc hàm A Y với Y {B 1 B 2 B n }, như vậy ta sẽ có 2 n
tập con Y Trong khi đó việc tính bao đóng của tập thuộc tính A lại không khó Theo kết quả đã trình bầy ở trên thì việc kiểm tra A B F + sẽ được thế bởi việc tính A +
Trang 20Output : A+ là bao đóng của A đối với F
2) Ai = Ai-1 {a} nếu (C D) F, {a} D và C Ai-1
3) Rõ ràng A = A0 A1 Ai R và R hữu hạn nên tồn tại i sao cho
Thuật toán 2: Tính bao đóng cho một tập bất kỳ trên quan hệ r
Input: r = {h1, h2, , hm} là một quan hệ trên R = {a1, a2, , an}, A R
Output : A+r
Trang 21r được tính như sau:
B nếu tồn tại B M : A B, (giao của tất cả các tập
A+r = A B trong M chứa nó (A))
Trang 22Vậy {B, C}+
r = {B, C} {B, C, D} ={B, C}
1.3.2.2 Một số thuật toán tính khóa tối tiểu
Khi giải quyết các bài toán thông tin quản lý, người ta thường sử dụng các hệ quản trị cơ sở dữ liệu mà trong đó chứa cơ sở dữ liệu quan hệ Các phép xử lí đối với bài toán này thường là tìm kiếm bản ghi sau đó thêm bản ghi mới, thay đổi nội dung bản ghi hoặc xoá bản ghi Trong các thao tác trên, việc tìm kiếm bản ghi là rất quan trọng Muốn tìm được bản ghi trong file dữ liệu thì chúng ta phải xây dựng khoá của file dữ liệu đó
Có hai thuật toán tìm khoá của quan hệ và lược đồ quan hệ Tìm khoá
ở đây chính là tìm khoá tối tiểu
Thuật toán 3: Tìm khoá tối tiểu của một quan hệ Vào: r = {h1, , hm} là một quan hệ trên tập thuộc tính R = {a1 , ,an}
Ra: K là một khoá tối tiểu của r
Phương pháp:
Bước 1: Tính E r= {A1, A2 } trong đó E r là các hệ bằng nhau
Bước 2: Tính M r là các hệ bằng nhau cực đại
Bước 3: Lần lượt tính các thuộc tính K0, K1, , Kn theo qui tắc:
K0 = R ={a1, , an } hoặc K0 là một khoá đã biết
Ki =
Bước 4: Đặt K = Kn Khi đó K là khoá tối tiểu
Nhận xét: Nếu ta thay đổi thứ tự các thuộc tính của r bằng thuật toán
này chúng ta có thể tìm được một khoá tối tiểu khác
Ki-1 - { a i} nếu: không tồn tại A Mr : Ki-1 - {ai} A
(bao Ki)
Ki-1 trong trường hợp ngược lại
Trang 23Xét K3 = K2 - {C} = {D, E} P(Mr) K3 = {C, D, E}
Xét K4 = K3 - {D} = {C, E} P(Mr) K4 = {C, E}
Xét K5 = K4 - {E} = {C} P(Mr) K5 = {C, E}
Vậy {C, E} là một khoá tối tiểu của r
Cũng ví dụ trên nhưng ta thay đổi tập thuộc tính theo thứ tự là {A, C, E, B, D} Ta đi tìm khoá tối tiểu của r
Bước 1 và bước 2 giống như trên
Bước 3:
K0 ={A, C, E, B, D}
Xét K1 = K0 - {A} = {C, E, B, D} P(Mr) K1 = {C, E, B, D} Xét K2 = K1 - {C} = {E, B, D} P(Mr) K2 = {E, B, D}
Xét K3 = K2 - {E} = {B, D} P(Mr) K3 = K2 = {E, B, D}
Xét K4 = K3 - {B} = {E, D} P(Mr) K4 = K3 = {E, B, D}
Trang 24Xét K5 = K4 - {D} = {B, E} P(Mr) K5 = {E, B}
Vậy khoá tối tiểu của r là {E, B}
Như vậy thay đổi thứ tự của các thuộc tính, ta sẽ có những tập khoá tối tiểu khác nhau
Vậy khoá tối tiểu của r là {D, E}
*Các thuộc tính được lấy theo thứ tự r2 = {E, D, C, B, A}
K0 = R = {E, D, C, B, A}
Xét K1 = K0 - {E} = {D, C, B, A} P(Mr) K1 = {D, C, B, A}
Trang 25Xét K2 = K1 - {D} = {C, B, A} P(Mr) K2 = {C, B, A}
Xét K3 = K2 - {C} = {B, A} P(Mr) K3 = {B, A}
Xét K4 = K3 - {B} = {A} P(Mr) K4 = K3 = {B, A}
Xét K5 = K4 - {A} = {B} P(Mr) K5 = K4 = {B, A}
Vậy khoá tối tiểu khác của quan hệ là {B, A}
Thuật toán 4: Tìm khoá tối tiểu cho một sơ đồ quan hệ
Vào : sơ đồ quan hệ s = <R, F> trong đó
F là tập các phụ thuộc hàm
R={a1, , an}là tập các thuộc tính
Ra: K là tối tiểu của s
Phương pháp: Tính liên tiếp các tập thuộc tính K0, K1, , Kn như sau:
K0 = R = {a1, , an}
Ki =
K = Kn là khoá tối tiểu
Ta có thể dùng công thức tương đương:
- Nếu như đã biết A là một khoá nào đó thì có thể đặt K0 = A, ta vẫn tìm
ra được khoá tối tiểu và thời gian tìm nhanh hơn
Ví dụ 1.8: Giả sử s = < F, R > là một lược đồ quan hệ trong đó:
R = {a, b, c, d}
Ki-1 nếu Ki-1 {ai} R F+
Ki-1 {a i} nếu ngược lại
Ki-1 {a i} nếu Ki-1 ai+
= R
Ki-1 nếu ngược lại
Trang 26F = {{a, b} {d},{c} {b}}
Tìm khoá tối tiểu của sơ đồ quan hệ
Áp dụng thuật toán trên ta có:
Trang 27Khi đó Mr được gọi là hệ bằng nhau cực đại của r
Nhận xét:
Hệ bằng nhau và hệ bằng nhau cực đại đóng một vai trò quan trọng trong các thuật toán thiết kế cũng như mối quan hệ giữa các lớp quan hệ và lớp các phụ thuộc hàm trong quá trình nghiên cứu cấu trúc logic của lớp các phụ thuộc hàm
Vậy Mr là hệ bằng nhau cực đại của r
Trang 281.5 Phần tử ngoại lai và mối quan hệ giữa chúng với khai phá dữ liệu
1.5.1 Khái niệm về phần tử ngoại lai
Một cách hình thức người ta có thể định nghĩa phần tử ngoại lại (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 Chẳng hạn trong Hình 1.1 cho thấy một phần tử ngoại lai theo vị trí hình học
Hình 1.1 – Phần tử ngoại lai trong tập điểm có tọa độ (x,y) trên mặt phẳng có giá trị tung độ y nhỏ hơn hẳn các phần tử khác của tập hợp
Các khái niệm về ngoại lai đầu tiên có nguồn gốc từ lĩnh vực thống kê Barnett và Lewis định nghĩa: một phần tử ngoại lai là một quan trắc hoặc một tập con các quan trắc mà sự xuất hiện của chúng trái ngược với những quan trắc còn lại Phần tử ngoại lai cũng có thể được hiểu như một quan trắc mà giá trị của nó khác biệt quá nhiều so với những quan trắc khác gây cho người người ta nghi ngờ rằng nó đã được thực hiện bằng một kỹ thuật khác
Có nhiều cách định nghĩa và hiểu khác nhau về phần tử ngoại lai Tuy nhiên chúng có điểm chung là: phần tử ngoại lai của một file dữ liệu là những phần tử của file dữ liệu có sự khác biệt đáng kể đối với những phần tử còn lại
Trang 29Và khi tiến hành xác định phần tử ngoại lai, trước hết người ta đưa ra định nghĩa, sau đó sẽ xây dựng phương pháp để xác định
1.5.2 Mối quan hệ giữa phần tử ngoại lai với khai phá dữ liệu
Trước khi các kỹ thuật khai thác dữ liệu ra đời, thông tin hữu ích phục
vụ cho người dùng chỉ được khai thác hiệu quả trên các tập dữ liệu có cỡ và
số chiều nhỏ Do vậy, để có thể khai thác dữ liệu một cách hiệu quả với khối lượng thông tin dữ liệu lớn thì cần phải có các công dụng khai thác dữ liệu tốt, các thuật toán khai thác dữ liệu thông minh, tự động, thời gian thực hiện nhanh
Trong thực tế, các chương trình ứng dụng khai thác dữ liệu thường phải khai thác dữ liệu trên các tập dữ liệu rất lớn với khối lượng thông tin khổng
lồ, không phù hợp với bộ nhớ chính, dữ liệu đó được nằm ở bộ nhớ ngoài (Disk-resident Data)
Trong luận văn này vấn đề được quan tâm lớn nhất là tìm hiểu các thuật toán khai thác, tìm kiếm các phần tử ngoại lai trong các tập dữ liệu lớn, nhiều chiều Hiện nay, một số các kỹ thuật phát hiện phần tử ngoại lai nhằm các mục đích sau:
Cung cấp một số thông tin về mối quan hệ giữa các phần tử ngoại lai Cung cấp một số giải thích hoặc mô tả về không gian dữ liệu mà trong
đó xuất hiện phần tử ngoại lai
Và một vấn đề khác chúng ta cần quan tâm đó là việc liên quan tới ý nghĩa của các phần tử ngoại lai Cho đến nay, chưa có một định nghĩa nào có thể định nghĩa một cách đầy đủ và chính xác về phần tử ngoại lai, việc xác định các phần tử ngoại lai trong mỗi lĩnh vực là khác nhau, bởi vì ý nghĩa ngoại lai của các phần tử ngoại lai mang tính chất và đặc trưng của từng lĩnh vực áp dụng (có thể nhiễu của người này nhưng lại là tín hiệu tốt của người
Trang 30khác), nên rất khó có thể đưa ra được một định nghĩa hoàn chỉnh và chính xác
về phần tử ngoại lai
1.6 Mô hình phát hiện các phần tử ngoại lai trong dữ liệu và trong
cơ sở dữ liệu quan hệ
1.6.1 Định nghĩa
Cho một sơ đồ quan hệ (R,F), với tập thuộc tính R = {A1, A2, An} và tập các phụ thuộc hàm F đúng trên R Gọi F+
là bao đóng của F (theo Hệ tiên
đề Amstrong) Giả sử r là một bảng dữ liệu có các trường (thuộc tính) và miền giá trị trùng với quan hệ trên sơ đồ quan hệ (R,F) Ta gọi r là bảng dữ
liệu trên R Bảng dữ liệu này có thể chứa những bộ trùng nhau Kí hiệu T là tập các ràng buộc và qui tắc mà các phần tử của R thỏa mãn
Định nghĩa 1.6: Cho một bảng dữ liệu r trên một tập thuộc tính R Kí
hiệu T là tập các qui tắc, ràng buộc (gọi là các luật) mà các phần tử của r phải tuân theo Phần tử ngoại lai của r là những phần tử của bảng dữ liệu này
không tuân theo một trong các qui tắc, ràng buộc đó
Một phần tử của bảng dữ liệu được hiểu là một bộ các giá trị của các thuộc tính
Các qui tắc, ràng buộc được đề cập bao gồm những ràng buộc về cấu của CSDL (khóa, phụ thuộc hàm, các dạng chuẩn phải tuân theo đối với một quan hệ và các ràng buộc theo ngữ nghĩa phụ thuộc vào yêu cầu, ý nghĩa của ứng dụng mà trong đó CSDL được sử dụng)
1.6.2 Phân loại các phần tử ngoại lai trong CSDL quan hệ
Tùy 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) Tùy 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ử ngoai lai sẽ được đưa ra Trong phạm vi nghiên cứu của Luân văn tôi