1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phần tử ngoại lai đối với khóa trong mô hình CSDL quan hệ và ứng dụng trong quản lý kết quả tốt nghiệp tại trường đại học kinh tế kỹ thuật công nghiệp

65 190 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 3,81 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN PHẦN TỬ NGOẠI LAI ĐỐI VỚI KHÓA TRONG MÔ HÌNH CSDL QUAN HỆ VÀ ỨNG DỤNG TRONG QUẢN LÝ KẾT

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

PHẦN TỬ NGOẠI LAI ĐỐI VỚI KHÓA TRONG MÔ HÌNH CSDL QUAN HỆ VÀ ỨNG DỤNG TRONG QUẢN LÝ KẾT QUẢ TỐT NGHIỆP TẠI TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP

TRẦN VĂN TRƯỜNG

HÀ NỘI – NĂM 2017

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

PHẦN TỬ NGOẠI LAI ĐỐI VỚI KHÓA TRONG MÔ HÌNH CSDL QUAN HỆ VÀ ỨNG DỤNG TRONG QUẢN LÝ KẾT QUẢ TỐT NGHIỆP TẠI TRƯỜNG ĐẠI

HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, 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à chưa từng được ai công bố trong bất kì công trình nào 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

TRẦN VĂN TRƯỜNG

Trang 4

Trong quá trình nghiên cứu của mình, mặc dù được sự hướng dẫn rất nhiệt tình, đầy trách nhiệm của TS Lê Văn Phùng và các thầy cô giáo trong Viện Đại học

Mở Hà Nội cùng với sự nỗ lực của cá nhân nhưng cũng không thể tránh được những thiếu sót Tác giả chân thành mong nhận được những ý kiến đóng góp từ quý Thầy, Cô và bạn bè đồng nghiệp

Trân trọng cảm ơn

Trần Văn Trường

Trang 5

iii

MỤC LỤC

Trang

LỜI CAM ĐOAN iii

LỜI CẢM ƠN ii

DANH MỤC VIẾT TẮT v

DANH MỤC CÁC HÌNH VẼ vi

DANH MỤC CÁC BẢNG BIỂU vii

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ MÔ HÌNH CSDL QUAN HỆ VÀ PHẦN TỬ NGOẠI LAI 3

1.1 Các đặc trưng nổi bật của mô hình CSDL quan hệ 3

1.2 Vai trò của Khóa trong mô hình quan hệ 4

1.2.1 Khái niệm về Khóa trong mô hình CSDL quan hệ 4

1.2.2 Vai trò của khóa trong tệp dữ liệu 5

1.3 Khái niệm khóa và phương pháp xác định khóa trong CSDL quan hệ 10

1.3.1 Khái niệm khoá 10

1.3.2 Một số thuật toán liên quan đến khóa 12

1.3.3 Hệ bằng nhau 18

1.4 Khái niệm phần tử ngoại lai và vai trò của nó trong mô hình CSDL quan hệ 20

1.4.1.Khái niệm về phần tử ngoại lai 20

1.4.2 Vai trò của phần tử ngoại lai trong mô hình CSDL quan hệ 20

1.5 Ứng dụng của các phần tử ngoại lai 23

1.6 Kết luận chương 24

CHƯƠNG 2 : PHẦN TỬ NGOẠI LAI ĐỐI VỚI KHÓA TRONG MÔ HÌNH CSDL QUAN HỆ 26

2.1 Khái niệm phần tử ngoại lai đối với phụ thuộc hàm và khóa 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ý Nhận biết cặp ngoại lai đối với phụ thuộc hàm 26

Trang 6

iv

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.5 Khái niệm phần tử ngoại lai đối với khóa 32

2.2 Mô hình phát hiện các phần tử ngoại lai 32

2.2.2 Phân loại các phần tử ngoại lai trong CSDL quan hệ 33

2.2.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ệ 33

2.3 Thuật toán xác định phần tử ngoại lai theo khóa 34

2.3.1 Thuật toán 34

2.4 Kết luận chương 35

CHƯƠNG 3 ỨNG DỤNG NGHIÊN CỨU VỀ PHẦN TỬ NGOẠI LAI ĐỐI VỚI KHÓA TRONG QUẢN LÝ KẾT QUẢ TỐT NGHIỆP TẠI TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP 38

3.1 Hiện trạng và yêu cầu quản lý kết quả tốt nghiệp tại Trường Đại học kinh tế-kỹ thuật công nghiệp 38

3.2 Yêu cầu và các chức năng chính của chương trình thử nghiệm ứng dụng phần tử ngoại lai đối với Khóa trong quản lý kết quả tốt nghiệp tại Trường Đại học kinh tế-kỹ thuật công nghiệp 41

3.2.1 Yêu cầu của chương trình thử nghiệm 41

3.2.2 Quy trình xử lý 42

3.3 Các giao diện chính của chương trình 46

3.4 Đánh giá kết quả thử nghiệm của chương trình 53

3.5 Kết luận chương 3 53

KẾT LUẬN 55

1 Kết quả đạt được trong luận văn 55

2 Hạn chế 55

3 Hướng phát triển 55

DANH MỤC TÀI LIỆU THAM KHẢO 56

Trang 7

v

DANH MỤC VIẾT TẮT

STT Từ viết tắt Tiếng Anh Tiếng Việt

1 CNTT Information Technology Công nghệ thông tin

3 DDL Data Definition Languages Ngôn ngữa định nghĩa dữ liệu

5 SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc

Trang 8

vi

DANH MỤC CÁC HÌNH VẼ

Trang 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……… 20

Hình 3.1 Giao diện chính của chương trình……… 46

Hình 3.2 Giao diện chọn dữ liệu học phần ……….……… 47

Hình 3.3 Giao diện tải dữ liệu bảng học phần ………… ……… 47

Hình 3.4 Giao diện chọn file dữ liệu học phần …… ……… 48

Hình 3.5 Giao diện thông tin danh sách các học phần……… 48

Hình 3.6 Giao diện chọn bảng điểm ……… 49

Hình 3.7 Giao diện chọn file bảng điểm ……… 49

Hình 3.8 Giao diện thông tin điểm ……… 50

Hình 3.9 Giao diện thẩm định kết quả tốt nghiệp ……… 50

Hình 3.10 Giao diện chọn file dữ liệu báo cáo ……… 51

Hình 3.11 Giao diện chọn file bảng điểm lưu giáo viên ……… 51

Hình 3.12 Giao diện tổng hợp điểm ……… 52

Hình 3.13 Giao diện đối chiếu điểm ……… 52

Hình 3.14 Giao diện hiển thị môn bị sai điểm ……… 53

Trang 9

vii

DANH MỤC CÁC BẢNG BIỂU

Trang

Bảng 3.1 Bảng danh sách các học phần ……… 42

Bảng 3.2 Bảng danh sách các lớp ……… 42

Bảng 3.3 Bảng danh sách sinh viên ……… 42

Bảng 3.4 Bảng điểm ……… 43

Bảng 3.5 Bảng kết quả ……… 43

Bảng 3.6 Bảng báo cáo ……… 44

Bảng 3.7 Bảng hợp giữa bảng báo cáo và bảng kết quả ……… 44

Bảng 3.8 Bảng điểm lưu ……… 45

Trang 10

1

MỞ ĐẦU

1 Tính cấp thiết của luận văn

Có rất nhiều tri thức còn tiềm ẩn trong dữ liệu và chưa được khai thác một cách có hiệu quả [2,4] Riêng 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ó khả năng được ứng dụng trong nhiều lĩnh vực trong cuộc sống, chẳng hạn 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 (CSDL) 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, càng trở nên cấp thiết hơn nhiều, đặc biệt là trong thời đại công nghệ thông tin (CNTT) ngày nay

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 CSDL quan hệ, tôi đã chọn đề tài “Phần tử ngoại lai đối với

Khóa trong mô hình CSDL quan hệ và ứng dụng trong quản lý kết quả tốt nghiệp tại Trường Đại học kinh tế-kỹ thuật công nghiệp” là luận văn cao học của mình

Trong đó nghiên cứu cơ sở lý luận về khai phá dữ liệu, tâm điểm là phát hiện phần

tử ngoại lai, và ứng dụng vào việc hỗ trợ quản lý kết quả tốt nghiệp tại Trường Đại học kinh tế- kỹ thuật công nghiệp, nơi mà tôi đang công tác

2 Mục tiêu nghiên cứu

Luận văn được hình thành nhằm các mục tiêu sau:

- Tìm các phương pháp phát hiện phần tử ngoại lai đối với khóa trong CSDL quan hệ;

- Hỗ trợ thẩm định kết quả tốt nghiệp cho học sinh Trường Đại học kinh tế-

kỹ thuật công nghiệp

3 Đối tượng nghiên cứu

Đối tượng nghiên cứu trong luận văn là phần tử ngoại lai trong CSDL quan

hệ

4 Phạm vi nghiên cứu

Trang 11

2

Phạm vi nghiên cứu trong luận văn chỉ bó hẹp trong vùng về phần tử ngoại lai đối với khóa trong CSDL 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 thích hợp

6 Dự kiến kết quả đạt được

- Xác định phần tử ngoại lai đối với phụ thuộc khóa trong cơ sở dữ liệu quan

hệ

- Xây dựng được một chương trình demo hỗ trợ kiểm tra kết quả tốt nghiệp tại trường Đại học Kinh tế Kỹ thuật Công nghiệp có ứng dụ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 12

3

CHƯƠNG 1 TỔNG QUAN VỀ MÔ HÌNH CSDL QUAN HỆ

VÀ PHẦN TỬ NGOẠI LAI

1.1 Các đặc trưng nổi bật của mô hình CSDL quan hệ

Mô hình dữ liệu quan hệ được Codd đề xuất năm 1970 Nó đã tạo ra một cuộc

cách mạng mới trong lĩnh vực CSDL và nhanh chóng thay thế các mô hình dữ liệu trước đó [4]

Mô hình dữ liệu quan hệ tương đối đơn giản và dễ hiểu Mô hình dữ liệu quan

hệ là mô hình dữ liệu mà cốt lõi của nó là CSDL quan hệ Một CSDL quan hệ là một tập của một hoặc nhiều quan hệ, trong đó mỗi một quan hệ là một bảng Mô hình quan hệ sử dụng một tập các bảng để biểu diễn cả dữ liệu và mối liên hệ giữa những dữ liệu này Bảng có n cột và mỗi cột có một tên duy nhất

Các ưu điểm cơ bản của mô hình dữ liệu quan hệ so với các mô hình khác [4]:

- Được xem là mô hình có cơ sở toán học vững chắc nhất

- Đang giữ vai trò thống trị và là nền tảng cho hàng loạt các hệ quản trị CSDL nổi tiếng và phổ biến như Oracle, DB2, MS SQL server, Access

- Tương đối đơn giản dễ hiểu, một CSDL quan hệ là một tập quan hệ, biểu diễn đơn giản bằng bảng gồm các cột và hàng giúp NSD mới làm quen với CSDL

có thể hiểu được nội dung CSDL

- Cung cấp các khái niệm chặt chẽ được hình thức hoá cao, cho phép áp dụng các công cụ toán học, các thuật toán tối ưu trên dữ liệu

-Tuy được trừu tượng hoá cao nhưng chỉ dừng ở mức logic, nghĩa là độc lập với mức vật lý- mức cài đặt, với các thiết bị lưu trữ nên đảm bảo được tính độc lập giữa dữ liệu và chương trình ứng dụng

- Nhờ biểu diễn dữ liệu thống nhất, nó có thể cho phép sử dụng các ngôn ngữ thao tác dữ liệu ở mức cao, dễ sử dụng và dễ chuẩn hoá

-NSD có thể tạo và sửa các bản ghi trong CSDL, có thể tạo báo cáo, độc lập với nhóm phát triển phần mềm

Trang 13

dữ liệu Nhờ vậy NSD có thể làm việc độc lập với nhóm lập trình

-Những CSDL quan hệ thông dụng nhất đều sử dụng ngôn ngữ SQL (structured query language)

1.2 Vai trò của Khóa trong mô hình quan hệ

1.2.1 Khái niệm về Khóa trong mô hình CSDL quan hệ

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 [4]:

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ẽ có 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 [4]:

+ A là một khoá của r (s,Y) tức A → R

Trang 14

Ký hiệu Kr , Ks , Ky là tập tất cả các khoá tối tiểu của r (s, Y)

1.2.2 Vai trò của khóa trong tệp dữ liệ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 đó

Khoá chính là hình ảnh của cột mã số hay số thứ tự (vì số thứ tự không thể

trùng nhau được)

Khóa đóng một vai trò rất quan trọng vì nhờ có nó người ta mới tìm kiếm được (tìm kiếm bản ghi) Phép toán tìm kiếm bản ghi trong file dữ liệu là phép toán quan trọng nhất vì chỉ sau khi tìm kiếm xong thì người ta mới tiến hành loại bỏ bản ghi ấy hoặc bổ sung một bản ghi mới vào trước hoặc sau bản ghi mà ta đã tìm được

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

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

Trang 15

6

Thuật toán Tìm khoá tối tiểu của một quan hệ [4]:

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

Trang 16

7

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

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

Trang 17

8

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}

Vậy khoá tối tiểu khác của quan hệ là {B, A}

Thuật toán Tìm khoá tối tiểu cho một sơ đồ quan hệ [4]

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:

Ki-1 nếu Ki-1 − {ai} → R ∉ F +

K i-1 − {a i } nếu ngược lại

K i-1 − {a i } nếu K i-1 − a i  + = R

K i-1 nếu ngược lại

Trang 18

9

Giả sử s = < F, R > là một lược đồ quan hệ trong đó:

R = {a, b, c, d}

F = {{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ó:

Vậy khoá tối tiểu là {a, c}

Trong mô hình CSDL quan hệ, khái niệm 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 tìm khóa cho một quan hệ r

Giả sử r = {h1, h2, , hm} là một quan hệ trên R = {a1, a2, , an}

Đặt Er = {Eij : 1 ≤ i<j ≤ | r |} trong đó Eij = {a ∈ R: hi(a) = hj(a)}, | r | = m

Er được gọi là hệ bằng nhau của r

Giả sử Mr = {A∈P (R) : ∃ Eij = A,∃Epq :A ⊂ Epq}

Trang 19

Vậy Mr là hệ bằng nhau cực đại của r

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 Khái niệm khoá

Cho 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 [4]:

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:

Trang 20

11

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ẽ có 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 [4]:

+ 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.6 : Cho bảng quan hệ sau:

Trang 21

12

Trong bảng trên mã số mặt hàng (MAHANG) là khoá Mỗi giá trị mã hàng đều xác định duy nhất một loại mặt hàng trong quan hệ BAN_HANG

Ký 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 có là phần tử của F+ hay không Để trả lời câu hỏi này chúng ta cần tính bao đóng F+của tập các phụ thuộc hàm F

Tuy nhiên tính F+ trong trường hợp tổng quát là rất khó khăn và tốn kém thời gian vì các tập phụ thuộc hàm thuộc F+ là rất lớn cho dù F có thể là nhỏ Chẳng hạn,

F = {A → B1, A → B2, A → Bn }, khi đó F+ bao gồm cả những phụ thuộc hàm A

→ Y với Y ⊆ {B1 ∪ B2 ∪ ∪ Bn}, như vậy ta sẽ có 2n 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+

Thuật toán 1: Tính bao đóng của một tập các thuộc tính đối với tập các phụ thuộc hàm trên sơ đồ quan hệ [4]

Input : s = < R, F > là một sơ đồ quan hệ trong đó

R = (a1, a2, , an) là tập hữu hạn các thuộc tính

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

Ai = Ai+1

Trang 22

Thuật toán 2: Tính bao đóng cho một tập bất kỳ trên quan hệ r [4]

Input: r = {h1, h2, , hm} là một quan hệ trên R = {a1, a2, , an}, A ⊆ R

Output : A+r

Bước 1: Từ r xây dựng một tập Er = { Eij : 1 ≤ i < j ≤ m }

Eij = {a : a ∈ R và hi(a) = hj(a)}

Bước 2: Từ Er xây dựng một tập

M = {B ∈ P(R) : Tồn tại Eij ∈ Er : Eij = B}

ở đây P(R) là tập các tập con của R

Bước 3: A+r đượ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))

R ngược lại

Có thể thấy rằng Eij = ∅ (trong trường hợp hai dòng i và j không có cột nào trùng nhau về giá trị, có nghĩa rằng chúng khác nhau hoàn toàn)

Trang 23

14

Không bao giờ có Eij = R (có nghĩa rằng Eij = toàn bộ không gian), vì nếu xẩy

ra thì có hai dòng trùng nhau, theo định nghĩa quan hệ thì không cho phép có hai dòng trùng nhau

E12 ={B, C}, E13 = {D, E}, E14 = {D}

E23 = {A}, E24 ={E}

E34 = {B, C, D}

M = {{A}, {B, C}, {B, C, D}, {D}, {D, E}, {E}}

Vậ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ệ [4]

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

Trang 24

15

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

Vậy {C, E} là một khoá tối tiểu của r

K i-1 - { a i } nếu: không tồn tại A ∈ M r : K i-1 - {a i } ⊆ A

(bao Ki)

Ki-1 trong trường hợp ngược lại

Trang 25

16

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

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

Bước 1: E12 = {B, C} E13 = {E} E14 = ∅

E23 = {A, D} E24 = {E} E34 = {B}

Trang 26

17

Xét K4 = K3 - {D} = {E} ⊂ P(Mr) ⇒ K4 = K3 = {D, E}

Xét K5 = K4 - {E} = {D} ⊂ P(Mr) ⇒ K5 = K4 = {D, E}

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}

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ệ [4]

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:

K i-1 nếu K i-1 − {a i } → R ∉ F+

K i-1 − {a i } nếu ngược lại

Ki-1 − {a i} nếu Ki-1 − ai+ = R

K i-1 nếu ngược lại

Trang 27

Tìm khoá tối tiểu của sơ đồ quan hệ

Áp dụng thuật toán trên ta có:

Giả sử r = {h1, h2, , hm} là một quan hệ trên R = {a1, a2, , an}

Đặt Er = {Eij : 1 ≤ i<j ≤ | r |} trong đó Eij = {a ∈ R: hi(a) = hj(a)}, | r | = m

Er được gọi là hệ bằng nhau của r

Trang 28

Vậy Mr là hệ bằng nhau cực đại của r

Trang 29

20

1.4 Khái niệm phần tử ngoại lai và vai trò của nó trong mô hình CSDL quan hệ

1.4.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 [1,2,7] 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 Và 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.4.2 Vai trò của phần tử ngoại lai trong mô hình CSDL quan hệ

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

Trang 30

Phần tử ngoại lai giữ một vai trò đặc biệt quan trọng trong mô hình CSDL

quan hệ, đặc biệt là đối với phụ thuộc hàm của bảng dữ liệu r

Cho r là một bảng dữ liệu trên sơ đồ quan hệ (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 bảng dữ liệu r

Người ta biểu diễn một cách hình thức như sau [6,7]:

Giả sử X → Y là một phục thuộc hàm thuộc F Khi đó cặp t1, t2 ∈r 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)

Khái niệm phần tử ngoại lai đi cùng với mô hình CSDL quan hệ ngày nay đã ngày càng đi sâu vào mọi mặt trong đời sống kinh tế -xã hội Chúng dùng để:

- Phát hiện xâm nhập (phát hiện các hoạt động nguy hiểm (phá vỡ thâm nhập

và các hình thức khác của máy tính lạm dụng) trong một hệ thống máy tính liên quan từ một vấn đề bảo mật Khác với hệ thống hành vi bình thường, phát hiện xâm nhập là một ứng cử viên hoàn hảo cho việc áp dụng các kỹ thuật phát hiện ngoại lai)

- Phát hiện gian lận (liên quan đến hoạt động tội phạm xảy ra trong các tổ chức thương mại, các tổ chức như ngân hàng, các công ty thẻ tín dụng, cơ quan bảo hiểm, các công ty điện thoại di động, thị trường chứng khoán, … Người sử dụng độc hại có thể là khách hàng thực tế của tổ chức hoặc phải dùng đến hành vi trộm cắp danh tính (giả làm khách hàng) Các hoạt động phát hiện nhằm mục đích phát

Trang 31

- Phát hiện gian lận trong y tế công cộng (Dữ liệu có thể có giá trị ngoại lai

do một số lý do như tình trạng bệnh nhân bất thường hoặc thiết bị đo đạc lỗi hoặc lỗi ghi âm Hầu hết các ngoại lai hiện tại kỹ thuật phát hiện trong này nhằm mục đích phát hiện tại miền hồ sơ bất thường (ngoại lai điểm)).- Phát hiện thiệt hại công nghiệp (Đơn vị công nghiệp bị thiệt hại do liên tục sử dụng và hao mòn thông thường, thiệt hại như vậy cần phải được phát hiện sớm để ngăn chặn sự leo thang hơn nữa và gây tổn thất dẫn đến thiệt hại Các dữ liệu trong phạm vi này thường là cảm biến dữ liệu được ghi bằng các cảm biến khác nhau và thu thập cho phân tích

Ví dụ như Phát hiện lỗi trong đơn vị cơ khí và thành phần như động cơ, tua bin, dầu chảy trong đường ống, Các vết nứt trong dầm, thủng trong khung máy bay, dữ

liệu không lường trước được sử dụng cho lỗi phát hiện ở các đơn vị cơ khí…)

- Phát hiện gian lận trong Xử lý hình ảnh (Phát hiện ngoại lai ở đây nhằm phát hiện những thay đổi trong một hình ảnh theo thời gian (phát hiện chuyển động) hoặc trong các khu vực mà xuất hiện bất thường trên hình ảnh tĩnh Tên miền này bao gồm các hình ảnh vệ tinh, công nhận chữ số, quang phổ, hình ảnh X quang vú,

và giám sát video Các yếu tố được gây ra bởi chuyển động hoặc chèn đối tượng hoặc thiết bị lỗi Các dữ liệu có không gian cũng như đặc điểm thời gian Mỗi điểm

dữ liệu có một vài các thuộc tính liên tục như màu sắc, kết cấu , …Các giá trị ngoại lai thú vị là những điểm hoặc bất thường hoặc khu vực trong ảnh (điểm và sự chênh lệch theo ngữ cảnh))

- Phát hiện sai sót trong Mạng cảm biến (Ngoại lai trong dữ liệu thu thập hoặc có thể bao hàm một hoặc nhiều cảm biến bị lỗi (Các ứng dụng cảm biến phát hiện lỗi), hoặc các cảm biến sự kiện phát hiện (ứng dụng phát hiện xâm nhập))

Trang 32

23

1.5 Ứng dụng của các phần tử ngoại lai

Đối với một số ứng dụng khám phá tri thức, các sự kiện hiếm có thường được quan tâm hơn các sự kiện thông thường, chẳng hạn việc phát hiện các thẻ tín dụng giả, theo dõi các hoạt động tội phạm trong thương mại điện tử

Sau sự tấn công các trang Web năm 2000 và đặc biệt sự kiên khủng bố tấn công nước Mỹ ngày 11/9/2001, người ta quan tâm nhiều đến việc bảo mật máy tính, bao gồm cả phần cứng, phần mềm và cả hệ thống mạng (ví dụ: phát hiện sự xâm nhập) Bảo mật hệ thống mạng bao gồm tần suất của các tấn công dịch vụ mà một sự kiện bên ngoài được phát hiện trong gói dữ liệu hệ thống mạng (ví dụ: Số lượng lớn không bình thường các gói dữ liệu từ một nguồn lạc danh) Công cụ thống kê có thể được dùng để tìm ra một thói quen là ngoại lệ tương ứng với một lịch sử đã biết (ví dụ: Những thói quen điển hình theo đăng nhập, sử dụng CPU và truy xuất dữ liệu)

Đối với các hệ thống thanh toán điện tử bao gồm các ứng dụng thẻ tín dụng, thẻ điện thoại và thẻ thông minh, chúng ta quan tâm tới việc phát hiện thẻ giả

Thêm một ứng dụng nữa trong việc phát hiện phần tử ngoại lai là ứng dụng

để nghiên cứu cổ phiếu, chứng khoán Nhiều cá nhân và công ty đã từng thử dự đoán giá trị các cổ phiếu được niêm yết dựa trên việc tìm kiếm các phần tử ngoại lai (ví dụ: Giả sử phần lớn giá các cổ phiếu ở một ngành đang lên cao ở một thị trường ảo và có các thị trường khác (trong cùng một ngành) mà giá cổ phiếu biến động đột ngột, các phẩn tử ngoại lai như thế nên được xác định và sau đó các nhà phân tích có thể dựa vào các nguyên nhân để giải thích sự quá nóng hoặc quá lạnh của thị trường, để xác định khuynh hướng của cố phiếu có thể mua vào hay bán ra hoặc tích lũy) Sự có mặt của các phần tử ngoại lai trong các cổ phiếu của các quỹ chung, có thể giúp làm đa dạng hóa bảng niêm yết cổ phiếu trên sàn chứng khoán trong cùng một loại

Trên các thị trường chứng khoán thế giới, các giao dịch được thực hiện mỗi ngày lên đến con số hàng triệu giao dịch, các nhà quản lý bảng niêm yết, các doanh

Ngày đăng: 03/09/2018, 16:21

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm