1. Trang chủ
  2. » Luận Văn - Báo Cáo

Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ

72 676 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 72
Dung lượng 0,98 MB

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

Nội dung

Đóng góp của đề tài là nghiên cứu và xây dựng thuật toán loại bỏ mẩu tin thừa cho một quan hệ của cơ sở dữ liệu quan hệ; xây dựng ứng dụng thực hiện ý đồ của giải thuật; bên cạnh đó là t

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CẢM ƠN 2

MỤC LỤC 3

DANH MỤC HÌNH VẼ 5

DANH MỤC BẢNG 6

HỆ THỐNG CÁC TỪ VIẾT TẮT 8

MỞ ĐẦU 9

Chương 1 CƠ SỞ LÝ THUYẾT 12

1.1 CƠ SỞ DỮ LIỆU QUAN HỆ 12

1.1.1 Khái niệm về CSDL quan hệ 12

1.1.2 Các phép toán đại số quan hệ 16

1.2 PHÂN MẢNH CƠ SỞ DỮ LIỆU QUAN HỆ 23

1.2.1 Khái quát về cơ sở dữ liệu phân tán 23

1.2.2 Các kiểu phân mảnh cơ sở dữ liệu 25

1.3 LÝ THUYẾT CHẮC CHẮN 29

1.3.1 Hệ số chắc chắn dành cho dữ kiện 29

1.3.2 Hệ số chắc chắc chắn dành cho luật 30

1.3.3 Các quy tắc tính toán trên CF 30

1.4 TỔNG KẾT CHƯƠNG 1 32

Chương 2 THUẬT TOÁN LOẠI BỎ MẨU TIN NHÂN BẢN THỪA TRONG CSDL QUAN HỆ 33

2.1 TƯ TƯỞNG CỦA THUẬT TOÁN 33

2.2 TIÊU CHUẨN THẨM ĐỊNH BẢN GHI NHÂN BẢN THỪA 33

2.3 NỘI DUNG THUẬT TOÁN 35

Trang 4

2.3.1 Thuật toán xác định độ chắc chắn lặp cho từng bản ghi 35

2.3.2 Thuật toán loại bỏ bản ghi nhân bản thừa 36

2.3.3 Nhận xét thuật toán 38

2.4 TỔNG KẾT CHƯƠNG 2 39

Chương 3 ỨNG DỤNG THUẬT TOÁN 40

3.1 HỆ THỐNG LOẠI BỎ MẨU TIN NHÂN BẢN THỪA TRONG CSDL QUAN HỆ 40

3.1.1 Mô tả bài toán 40

3.1.2 Yêu cầu đặt ra đối với hệ thống 40

3.1.3 Khả năng giải quyết bài toán 41

3.1.4 Sơ đồ hệ thống 42

3.2 THIẾT KẾ HỆ THỐNG LOẠI BỎ MẨU TIN NHÂN BẢN THỪA TRONG CSDL QUAN HỆ 49

3.2.1 Xây dựng các lớp đối tượng 49

3.2.2 Biểu đồ tuần tự 59

3.3 KẾT QUẢ ỨNG DỤNG THUẬT TOÁN 61

3.3.1 Môi trường phát triển 61

3.3.2 Kết quả thực nghiệm 62

3.4 TỔNG KẾT CHƯƠNG 3 68

Chương 4 KẾT LUẬN & HƯỚNG PHÁT TRIỂN 69

4.1.1 Kết quả thu được trong quá trình nghiên cứu đề tài 69

4.1.2 Hướng phát triển 69

TÀI LIỆU THAM KHẢO 71

Trang 5

DANH MỤC HÌNH VẼ

Hình 1-1 Kiến trúc cơ sở dữ liệu phân tán 23

Hình 1-2 Phân mảnh hỗn hợp của quan hệ EMP 27

Hình 3-1 Các tầng xử lý của hệ thống 42

Hình 3-2 Luồng xử lý của hệ thống EDRS 44

Hình 3-3 Sơ đồ tương tác giữa các lớp trong hệ thống 51

Hình 3-4 Biểu đồ tuần tự của quá trình loại bỏ bản ghi nhân bản 59

Hình 3-5 Biểu đồ tuần tự của quá tình xử lý bản ghi nghi ngờ nhân bản 60

Hình 3-6 Biểu đồ tuần tự của quá trình thiết lập luật cho hệ thống 60

Trang 6

DANH MỤC BẢNG

Bảng 1-1 Quan hệ EMP 13

Bảng 1-2 Quan hệ EMP1 14

Bảng 1-3 Quan hệ NHÂNVIÊN 17

Bảng 1-4 Kết quả phép chọn 17

Bảng 1-5 Kết quả phép chọn 18

Bảng 1-6 Kết quả của các phép toán tập hợp 19

Bảng 1-7 Tích Đề Các của hai quan hệ R và S 20

Bảng 1-8 Phép nối tê-ta hai quan hệ 21

Bảng 1-9 Phép nối tự nhiên hai quan hệ 22

Bảng 3-1 Ví dụ về tính toán hệ số chắc chắn 46

Bảng 3-2 Các lớp thuộc gói Rule Engine 49

Bảng 3-3 Các lớp thuộc gói Process 50

Bảng 3-4 Bảng thuộc tính của lớp clsRuleReader 52

Bảng 3-5 Bảng các phương thức của lớp clsRuleReader 52

Bảng 3-6 Bảng thuộc tính của lớp clsRuleEngine 52

Bảng 3-7 Bảng các phương thức của lớp clsRuleEngine 53

Bảng 3-8 Bảng các phương thức của lớp clsExpressionEvaluator 54

Bảng 3-9 Bảng các phương thức của lớp clsProxy 55

Bảng 3-10 Bảng các thuộc tính của lớp clsDeduplicate 55

Bảng 3-11 Bảng các phương thức của lớp clsDeduplicate 56

Trang 7

Bảng 3-12 Bảng các thuộc tính của lớp clsDAO 56

Bảng 3-13 Bảng các phương thức của lớp clsDAO 57

Bảng 3-14 Bảng các phương thức của lớp clsInterface 57

Bảng 3-15 Bảng các phương thức của lớp clsSetting 58

Trang 8

HỆ THỐNG CÁC TỪ VIẾT TẮT

EDRS Eliminate duplicate record system Hệ thống loại bỏ mẩu tin nhân

Cardr Cardinality - Row Số bộ

CFf Certainty factor – Fact Hệ số chắc chắn dùng cho dữ

kiện

CFr Certainty factor – Rule Hệ số chắc chắn dùng cho luật

Trang 9

MỞ ĐẦU

Các ứng dụng làm việc với thông tin nói chung và hệ cơ sở dữ liệu lớn ngày càng phát triển và đóng vai trò quan trọng trong mọi lĩnh vực ứng dụng và nghiên cứu Đi đôi với sự lớn mạnh của các hệ thống này là sự xuất hiện những dữ liệu “bẩn” và dữ liệu dị thường Dữ liệu dị thường và dữ liệu “bẩn” làm ảnh hưởng rất nhiều tới hiệu quả xử lý

và độ chính xác của kết quả xử lý cũng như ảnh hưởng tới việc biểu diễn và phân tích

dữ liệu Tệ hại hơn có thể làm hệ thống phần mềm trở nên vô giá trị

Dữ liệu dị thường và dữ liệu “bẩn” xuất hiện trong dữ liệu thực là chuyện không thể tránh khỏi, người ta ước tính dữ liệu dị thường và dữ liệu “bẩn” chiếm khoảng 5% Thực tế này dẫn tới xu hướng phát triển các phương pháp làm sạch dữ liệu Không có

mô tả chung nào cho mục đích và cũng không có mô tả bao quát cho quá trình làm sạch

dữ liệu Làm sạch dữ liệu đòi hỏi rất nhiều loại tri thức cũng như đòi hỏi có nhiều kiến thức về việc xử lý và bảo trì dữ liệu Mục đích trước hết của làm sạch dữ liệu là loại bỏ những nhân bản thừa trong tập hợp dữ liệu có sẵn

Quá trình làm sạch dữ liệu khó có thể thực hiện được nếu không có sự tham gia của các chuyên gia hay các kiến thức chuyên gia, vì việc loại bỏ dữ liệu dị thường và dữ liệu “bẩn” cần phải có kiến thức chuyên gia về lĩnh vực đó Quá trình làm sạch dữ liệu

là quá trình bán tự động Nhưng nên xử lý tự động nhiều nhất có thể Hiệu quả và sự thành công của quá trình làm sạch dữ liệu phụ thuộc rất nhiều vào kiến thức chuyên gia hiện có và những thông tin cần thiết để xác định và chỉnh sửa những dữ liệu dị thường Làm sạch dữ liệu là một thuật ngữ không rõ ràng và không có định nghĩa chính xác Nguyên nhân chính là vì mục đích chính của làm sạch dữ liệu là tìm ra “lỗi” trong

dữ liệu có sẵn, tuy nhiên thế nào là dữ liệu lỗi và thế nào là không lỗi thì phụ thuộc rất nhiều vào từng lĩnh vực, khó có thể đưa ra một định nghĩa chung Chính vì điều này, nhiều phương pháp chỉ tập trung vào một phần nhỏ của kiến thức về lĩnh vực đang xét bằng cách sử dụng một số thuật toán cũng như áp dụng kinh nghiệm sẵn có

Có nhiều phương pháp được áp dụng để làm sạch dữ liệu như phân tích cú pháp

Trang 10

(parsing), biến đổi dữ liệu (data transformation), tạo các ràng buộc về mặt dữ liệu (Integrity constraint enforcement), phương pháp thống kê… Trong phạm vi luận văn này tôi nghiên cứu phương pháp loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu dựa vào hệ chuyên gia và hệ số chắc chắn(certainty factor) Đóng góp của đề tài là nghiên cứu và xây dựng thuật toán loại bỏ mẩu tin thừa cho một quan hệ của cơ sở dữ liệu quan hệ; xây dựng ứng dụng thực hiện ý đồ của giải thuật; bên cạnh đó là thực hiện kiểm thử chương trình với một quan hệ có số lượng bản ghi từ 50 tới 300 Các nghiên cứu trong luận văn này sẽ hữu ích cho các nghiên cứu ở mức cao hơn như loại bỏ mẩu tin thừa cho một cơ sở dữ liệu quan hệ…

Cấu trúc luận văn được trình bày như sau:

Chương 1: Cơ sở lý thuyết Chương này trình bày về các kiến thức cơ sở dùng cho

thuật toán loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ Kiến thức cơ sở gồm hai phần:

9 Cơ sở dữ liệu: Phần này là tóm tắt các kiến thức cơ bản về cơ sở dữ liệu quan hệ cũng như các kiến thức về cơ sở dữ liệu phân tán Đặc biệt, trong phần này luận văn còn đề cập đến các kiểu phân mảnh trong cơ sở dữ liệu phân tán, kiến thức này là nền tảng cho ý tưởng của thuật toán loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ

9 Lý thuyết chắc chắn: Lý thuyết chắc chắn là kiến thức cơ sở giúp xây dựng thuật toán loại bỏ mẩu tin nhân bản thừa Nội dung cơ bản là nghiên cứu các luật và suy luận dựa vào các hệ số chắc chắn thu thập được từ hệ các chuyên gia hoặc hệ chuyên gia

Chương 2: Thuật toán loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ

Chương này trình bày thuật toán nhận diện bản ghi nhân bản thừa trong cơ sở dữ liệu

quan hệ dựa vào kiến thức về cơ sở dữ liệu và lý thuyết chắc chắn ở Chương 1

Chương 3: Ứng dụng thuật toán Là phần phân tích yêu cầu, thiết kế và cài đặt hệ

thống loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ Bên cạnh đó luận văn

Trang 11

cũng đưa ra những kết quả kiểm thử trên dữ liệu thật để đi đến những đánh giá về hiệu quả của thuật toán

Chương 4 Kết luận và hướng phát triển Kết luận, đánh giá những gì đã đạt được và

chưa làm được trong luận văn tốt nghiệp và nêu ra hướng phát triển của đề tài là nội dung trình bày của chương này

Trang 12

Chương 1 CƠ SỞ LÝ THUYẾT

1.1 CƠ SỞ DỮ LIỆU QUAN HỆ

Các cơ sở dữ liệu và các hệ quản trị cơ sở dữ liệu đã trở thành một thành phần chủ yếu trong cuộc sống hàng ngày của xã hội hiện đại Trong vòng một ngày con người có thể có nhiều hoạt động cần có sự giao tiếp với cơ sở dữ liệu như: đến ngân hàng để rút tiền và gửi tiền, đăng ký chỗ trên máy bay hoặc khách sạn, truy cập vào thư viện đã tin học hoá để tìm sách báo, đặt mua tạp chí ở một nhà xuất bản… Tại các ngân hàng, các cửa hàng, người ta cũng cập nhật tự động việc quản lý tiền bạc, hàng hoá

Tất cả các giao tiếp như trên được gọi là các ứng dụng của cơ sở dữ liệu truyền thống Trong các cơ sở dữ liệu truyền thống, hầu hết các thông tin được lưu giữ và truy cập là văn bản hoặc số Những năm gần đây, những tiến bộ về kỹ thuật đã đưa đến những ứng dụng mới của cơ sở dữ liệu Các cơ sở dữ liệu đa phương tiện bây giờ có thể lưu trữ hình ảnh, phim và tiếng nói Các hệ thống thông tin địa lý có thể lưu trữ và phân tích các bản đồ, các dữ liệu về thời tiết và các ảnh vệ tinh Kho dữ liệu và các hệ thống phân tích trực tuyến được sử dụng trong nhiều công ty để lấy ra và phân tích những thông tin có lợi từ các cơ sở dữ liệu rất lớn nhằm đưa ra các quyết định Các kỹ thuật cơ

sở dữ liệu động và thời gian thực được sử dụng trong việc kiểm tra các tiến trình công nghiệp và sản xuất Các kỹ thuật tìm kiếm cơ sở dữ liệu đang được áp dụng cho World Wide Web để cung cấp việc tìm kiếm các thông tin cần thiết cho người sử dụng bằng cách duyệt qua Internet

Để hiểu được các cơ sở kỹ thuật của cơ sở dữ liệu chúng ta phải bắt đầu từ những khái niệm cơ bản về cơ sở dữ liệu Mục đích của chương này là định nghĩa cơ sở dữ liệu quan hệ, các phép toán trên cơ sở dữ liệu quan hệ và cơ sở dữ liệu phân tán

1.1.1 Khái niệm về CSDL quan hệ

Trong cơ sở dữ liệu quan hệ, dữ liệu được lưu trữ dưới dạng các bảng, gọi là các quan hệ Mỗi một dòng trong bảng biểu thị một sự kiện tương ứng với một thực thể

Trang 13

hoặc một liên kết của thế giới thực Tên bảng và tên cột dùng để giải thích ý nghĩa của các giá trị trong mỗi hàng Mọi giá trị trong cùng một cột có cùng một kiểu dữ liệu Theo thuật ngữ mô hình quan hệ hình thức, mỗi hàng được gọi là một bộ, mỗi cột được gọi là thuộc tính và bảng được gọi là một quan hệ Số lượng các thuộc tính có trong một quan hệ gọi là mức(grade), số lượng các bộ gọi là lực lượng(cardinality) của quan hệ đó

Để hiểu rõ hơn các khái niệm nêu trên chúng ta xét ví dụ sau đây:

Bảng 1-1 biểu diễn quan hệ EMP (NHÂN VIÊN) gồm 4 thuộc tính: EMPNUM (Mã số nhân viên), NAME (Tên nhân viên), AGE (Tuổi), DEPTNUM (Mã số phòng ban) và 5 bộ, ví dụ (18, Mary, 31, 1) là một bộ Quan hệ này có 4 thuộc tính do vậy mức của quan hệ này là 4 và lực lượng của quan hệ này là 5

Tập hợp các giá trị có thể có của một thuộc tính gọi là miền của thuộc tính Ví dụ, EMPNUM lấy giá trị từ miền mã số nhân viên, là các số nguyên dương, AGE có miền giá trị từ tuổi, giá trị từ 0 tới 100 Có thể tồn tại những giá trị giống nhau giữa hai miền nhưng về bản chất nó thuộc về hai miền hoàn toàn khác nhau, do vậy không thể so sánh các giá trị của những miền khác nhau Ví dụ, thật vô nghĩa khi so sánh tuổi với mã số nhân viên

Trang 14

Một số khía cạnh quan trọng định nghĩa cơ sở dữ liệu quan hệ:

9 Không bao giờ có hai bản ghi giống hệt nhau trong một quan hệ

9 Không có quy định về thứ tự các bản ghi trong một quan hệ Một quan hệ được định nghĩa như một tập hợp các bộ Các phần tử trong một tập hợp không có thứ tự,

vì vậy các bộ trong một quan hệ không có một thứ tự cụ thể

Trong thực tế, không phải tất cả hệ quản trị cơ sở dữ liệu quan hệ nào cũng tuân thủ chặt chẽ quy định này Vì vậy, trong một số hệ quan trị cở sở dữ liệu vẫn tồn tại các bản ghi nhân bản và vẫn đưa ra một thứ tự sắp xếp ngầm nào đó để thuận tiện trong quá trình xử lý

Người ta cũng đưa ra một định nghĩa khác về quan hệ dựa trên khái niệm về miền Trong định nghĩa này, người ta cho tập hợp các miền D1, D2,…, Dn có gán thứ tự ưu tiên,

quan hệ mức n của các miền này là tập con của tích Đề Các của chúng Chính xác hơn,

quan hệ R là tập hợp các bản ghi có thứ tự (d1, d2,…, dn) trong đó d1 thuộc miền D1, d2thuộc miền D2,…, dn thuộc miền Dn Định nghĩa này rất hữu dụng trong việc phân tích các tính chất của mô hình quan hệ và đại số

Trong tài liệu này, chúng ta coi thứ tự các cột trong một quan hệ là không quan trọng Điều này có nghĩa chúng ta coi quan hệ là ánh xạ từ tập tên của các thuộc tính tới tập giá trị tương ứng Vì vậy, quan hệ EMP1 dưới đây cũng giống quan hệ EMP ở hình 1-1

Trang 15

1.1.1.1 Khóa

Một quan hệ được định nghĩa như một tập hợp các bộ Theo định nghĩa, các phần

tử của một tập hợp là khác nhau, vì vậy, mọi bộ trong một quan hệ phải khác nhau Điều

đó có nghĩa là không có hai bộ có cùng một tổ hợp giá trị cho tất cả các thuộc tính của chúng Thông thường, tồn tại tập con của các thuộc tính của một quan hệ có tính chất: không có hai bộ nào có cùng một tổ hợp giá trị cho các thuộc tính của nó Giả sử chúng

ta ký hiệu tập con như vậy là SK, khi đó với hai bộ khác nhau bất t1 và t2 trong quan hệ

R chúng ta có ràng buộc là t1[SK] # t2[SK]

Tập hợp SK như vậy gọi là siêu khóa của lược đồ quan hệ R Mỗi quan hệ có ít nhất một siêu khóa mặc định, đó là tập hợp tất cả các thuộc tính của nó Một khóa K của lược đồ quan hệ R là một siêu khóa của R với tính chất nếu bỏ đi bất kì thuộc tính nào

ra khỏi K thì sẽ còn lại một tập K không phải là siêu khóa của R Như vậy, một khóa là một siêu khóa tối thiểu, nghĩa là đó là một siêu khóa mà ta không thể vứt bỏ thuộc tính nào rời khỏi nó mà vẫn giữ được ràng buộc về tính duy nhất

Tính chất quan trọng của khóa là duy nhất về mặt ngữ nghĩa, chúng ta không coi một thuộc tính là khóa chỉ vì nó thỉnh thoảng mới định danh cho một bản ghi nào đó Trong bảng 1-1, EMPNUM(mã số nhân viên) là khóa của quan hệ EMP, bởi vì không

có hai bộ nhân viên có cùng một giá trị cho EMPNUM(mã số nhân viên) Mọi tập hợp thuộc tính có chứa EMPNUM(mã số nhân viên), ví dụ {EMPNUM, AGE}, đều là một siêu khóa Tuy nhiên, siêu khóa {EMPNUM, AGE} không phải là khóa vì nếu bỏ thuộc tính AGE đi thì nó vẫn còn là một siêu khóa

Một khóa được xác định từ ý nghĩa của thuộc tính và tính chất là bất biến, tính chất đó phải thỏa mãn khi chúng ta chèn một bộ mới vào quan hệ Ví dụ: chúng ta không thể và không được chỉ định thuộc tính NAME(Tên nhân viên) làm khóa vì không

có gì đảm bảo rằng không tồn tại hai nhân viên có cùng họ tên

Nói chung, một lược đồ quan hệ có thể có nhiều hơn một khóa Trong trường hợp

đó, mỗi khóa được gọi là một khóa dự tuyển Thông thường ta phải chỉ định một trong

Trang 16

các khóa dự tuyển làm khóa chính của quan hệ Khóa chính là một khóa dự tuyển mà các giá trị của chúng được dùng để xác định các bộ trong quan hệ

Chú ý rằng, khi một lược đồ quan hệ có nhiều khóa dự tuyển thì việc lựa chọn khóa chính là tùy ý, tuy nhiên tốt nhất là chọn khóa chính gồm một thuộc tính hoặc có

số thuộc tính ít nhất

1.1.2 Các phép toán đại số quan hệ

Ngoài việc định nghĩa cấu trúc cơ sở dữ liệu và các ràng buộc, một mô hình dữ liệu phải chứa một tập hợp các phép toán để thao tác dữ liệu Tập hợp cơ sở các phép toán mô hình quan hệ tạo nên đại số quan hệ Các phép toán này giúp cho người sử dụng xác định rõ yêu cầu lấy tin cơ bản Kết quả của phép lấy tin là một quan hệ mới,

có thể được tạo ra từ một hoặc nhiều quan hệ

Các phép toán quan hệ đại số chia làm hai nhóm Một nhóm bao gồm các phép toán tập hợp lấy từ lý thuyết tập hợp toán học Các phép toán đó là phép hợp, phép giao, phép trừ tập hợp và phép tích Đề Các Nhóm kia bao gồm những phép toán được xây dựng đặc biệt cho các cơ sở dữ liệu quan hệ Các phép toán đó là phép chiếu, phép chọn, phép nối và một số phép khác

1.1.2.1 Phép chọn

Phép chọn được sử dụng để chọn ra một tập hợp các bộ thỏa mãn điều kiện chọn

từ một quan hệ Ta có thể xem phép chọn như bộ lọc, nó chỉ giữ lại những bộ thỏa mãn điều kiện đặt ra

Phép chọn được kí hiệu như sau: σ< điều kiện chọn>( R)

Trong đó σ được dùng để kí hiệu phép chọn, <điều kiện chọn> là một biểu thức logic được chỉ ra trên các thuộc tính của R Chú ý rằng R nói chung là một biểu thức đại

số quan hệ Kết quả của một biểu thức đại số quan hệ là một quan hệ Biểu thức đơn giản nhất chính là tên của một quan hệ của một cơ sở dữ liệu Quan hệ kết quả của phép

Trang 17

<tên thuộc tính> <phép so sánh> <giá trị hằng>

hoặc <tên thuộc tính> <phép so sánh> <tên thuộc tính>

trong đó <tên thuộc tính> là tên của một thuộc tính trong R, <phép so sánh> là một trong các phép toán so sánh {<, >, ≤, ≥, ≠, =}, <giá trị hằng> là một giá trị hằng từ miền giá trị của thuộc tính Các hạng mục có thể được nối với nhau bằng các phép toán logic AND, OR, NOT để tạo ra một điều kiện chọn chung

Phép chọn là phép toán có tính chất giao hoán, nghĩa là :

σ< điều kiện chọn 1>( σ< điều kiện chọn 2>( R)) = σ< điều kiện chọn 2>( σ< điều kiện chọn 1>( R))

Trang 18

1.1.2.2 Phép chiếu

Nếu ta coi quan hệ như một bảng thì phép chọn chọn một số hàng của bảng thỏa mãn điều kiện chọn và bỏ qua các hàng không thỏa mãn điều kiện chọn Phép chiếu là phép toán chọn một số cột của bảng Nếu chúng ta chỉ quan tâm đến một số thuộc tính trong quan hệ, chúng ta dùng phép chiếu để chiếu lên các thuộc tính đó Phép chiếu được kí hiệu là:

π<danh sách các thuộc tính>( R)

Trong đó π là kí hiệu dùng để biểu diễn phép chiếu và <danh sách thuộc tính> là một danh sách con các thuộc tính của quan hệ R Nói chung R là một biểu thức đại số quan hệ Trường hợp đơn giản nhất nó là tên một quan hệ của cơ sở dữ liệu Kết quả của phép chiếu là một quan hệ chỉ có các thuộc tính nằm trong <danh sách các thuộc tính> và có cùng thứ tự như thứ tự của chúng trong danh sách

Nếu <danh sách các thuộc tính> không bao gồm thuộc tính khóa của R thì quan hệ kết quả có thể có những bộ trùng nhau

Phép chiếu không có tính chất giao hoán

Ví dụ: Ta xét quan hệ NHÂNVIÊN như bảng 1-3

Phép chiếu π<TênNV, Lương>( NHÂNVIÊN) có kết quả như sau:

TênNV Lương David 2000 Mary 3500 John 1200 Cathy 5600

Bảng 1-5 Kết quả phép chọn

1.1.2.3 Các phép toán lý thuyết tập hợp

Nhóm tiếp theo của các phép toán đại số quan hệ là các phép toán toán học thông

Trang 19

thường trên các tập hợp Đó là các phép giao, hợp và trừ tập hợp Các phép toán này là phép toán hai ngôi, nghĩa là mỗi phép toán được áp dụng cho hai tập hợp Khi áp dụng phép toán này cho cơ sở dữ liệu quan hệ, hai quan hệ tham gia vào một trong phép toán trên phải có kiểu của các bộ như nhau, hay nói cách khác, chúng phải có cùng một cấu trúc Điều đó có nghĩa là, hai quan hệ có cùng số các thuộc tính và mỗi cặp thuộc tính tương ứng có cùng miền giá trị

Các phép toán được định nghĩa như sau :

hệ chứa tất cả các bộ có trong R hoặc trong S hoặc trong cả hai Các bộ trùng lặp bị loại

bỏ

hệ chứa tất cả các bộ có trong cả hai quan hệ R và S

Phép trừ quan hệ Phép trừ quan hệ R và S, được kí hiệu là R – S, cho kết quả là

một quan hệ chứa tất cả các bộ có trong R nhưng không có trong S

Trang 20

Các phép toán hợp và giao có tính chất giao hoán, nghĩa là :

R ∪ S = S ∪ R và R ∩ S = S ∩ R Các phép toán trên cũng có tính chất kết hợp, nghĩa là :

R ∪ (S ∪ T) = (R ∪ S) ∪ T và R ∩ (S ∩ T) = (R ∩ S) ∩ T

Phép trừ tập hợp không có tính chất giao hoán

Ngoài các phép toán trên, còn một phép toán gọi là tích Đề Các Tích Đề Các còn gọi là tích hỗn hợp(cross product), được kí hiệu là × Đó cũng là phép toán hai ngôi nhưng quan hệ mà nó áp dụng trên đó không phải là tương thích đồng nhất Phép toán này được sử dụng để nối các bộ của hai quan hệ vào một kiểu kết hợp Kết quả của R(A1, A2, , An) × S(B1, B2, , Bm)

là một quan hệ Q với n + m thuộc tính Q(A1, A2, , An, B1, B2, , Bm) Quan hệ Q có các bộ được tạo thành do sự kết hợp một bộ của R và một bộ của S

Ví dụ, xét hai quan hệ sau :

Trang 21

quan hệ có nhiều bảng bởi vì nó cho phép ta xử lý các mối liên kết giữa các quan hệ Dạng tổng quát của phép nối trên hai quan hệ R(A1, A2,…,An) và S(B1,B2,…, Bm) là

< Điều kiện nối>

Kết quả của phép nối là một quan hệ Q(A1,A2,…,An,B1,B2,…,Bm) có n+m thuộc tính Mỗi bộ của Q là một sự kết nối giữa một bộ của R và một bộ của S khi chúng thoả mãn điều kiện nối Sự khác nhau giữa tích Đề Các và phép nối là ở chỗ trong phép nối, chỉ có các bộ thoả mãn điều kiện nối mới xuất hiện trong kết quả, trong khi đó trong tích Đề Các mọi tổ hợp của các bộ đều có trong kết quả Điều kiện nối được chỉ ra trên các thuộc tính của hai quan hệ R và S và được tính toán cho mỗi tổ hợp các bộ Mọi tổ hợp bộ mà điều kiện nối là đúng được chứa trong quan hệ kết quả Q như là một bộ đơn Một điều kiện nối tổng quát có dạng

<điều kiện> AND <điều kiện> AND … AND <điều kiện>

trong đó mỗi điều kiện có dạng Ai θ Bj, Ai là một thuộc tính của R, Bj là một thuộc tính của S, Ai và Bj có cùng miền và θ là một trong các dấu phép toán so sánh {<, <=, =,

>=, >, ≠} Một phép toán nối với điều kiện tổng quát như vậy gọi là một phép nối tê-ta Các bộ có các thuộc tính nối là null không xuất hiện trong kết quả Theo nghĩa đó, phép toán không nhất thiết phải xử lý mọi thông tin trong các quan hệ tham gia Ví dụ :

Bảng 1-8 Phép nối tê-ta hai quan hệ

Phần lớn các phép nối chỉ cho phép các điều kiện nối với các so sánh bằng Những

Trang 22

phép nối chỉ sử dụng phép so sánh bằng được gọi là nối bằng (equi join) Ví dụ trong bảng 1-8 là một phép nối bằng Chú ý rằng trong kết quả của phép nối bằng chúng ta thấy luôn luôn có một hoặc nhiều cặp thuộc tính có các giá trị như nhau trong mỗi bộ Việc có các cặp thuộc tính có giá trị như nhau là thừa, vì vậy người ta đề nghị một phép nối mới gọi là nối tự nhiên, ký hiệu là * Phép nối tự nhiên nhằm loại bỏ thuộc tính thứ hai (thuộc tính thừa) trong điều kiện nối bằng Định nghĩa chuẩn của nối tự nhiên đòi hỏi hai thuộc tính nối (hoặc mỗi cặp thuộc tính nối) phải có tên như nhau trong cả hai quan hệ Nếu các thuộc tính đó không cùng tên thì trước khi nối phải áp dụng phép toán đặt lại tên Ví dụ, ta cần nối tự nhiên hai quan hệ R(A1,A2) và S(B1,B2) như trong ví dụ trên Để có thể thực hiện được phép nối tự nhiên với điều kiện so sánh bằng, ta phải đổi tên thuộc tính B1 thành A2

Phép nối sẽ có kết quả như sau :

Bảng 1-9 Phép nối tự nhiên hai quan hệ

Chú ý rằng nếu không có một tổ hợp các bộ nào thoả mãn điều kiện nối thì kết quả của một phép nối là một quan hệ rỗng không chứa bộ nào Nói chung, nếu R có nR

bộ và S có nS bộ thì kết quả của phép nối R với S sẽ có số các bộ lớn hơn 0 và nhỏ hơn

nR.nS Cỡ của một kết quả nối chia cho cỡ cực đại nR.nS tạo nên một tỷ lệ gọi là chọn lựa nối, đó là một tính chất của mỗi điều kiện nối Nếu không có điều kiện nối, mọi tổ hợp các bộ sẽ được chọn và phép nối trở thành một tích Đề Các

Phép nối được sử dụng để kết hợp các dữ liệu từ nhiều quan hệ sao cho các thông tin có liên hệ với nhau có thể được biểu diễn trong một bảng Đôi khi phép nối được áp dụng nối một bảng với chính nó Chúng ta có thể áp dụng phép nối tự nhiên và nối bằng

để nối nhiều bảng với nhau Nếu ta nối n bảng với nhau thì phải chỉ ra n-1 điều kiện nối

Trang 23

1.2 PHÂN MẢNH CƠ SỞ DỮ LIỆU QUAN HỆ

1.2.1 Khái quát về cơ sở dữ liệu phân tán

Hình dưới đây thể hiện kiến trúc một cơ sở dữ liệu quan hệ Kiến trúc này không phải lúc nào cũng được triển khai trong mọi cơ sở dữ liệu nhưng các cấp độ của nó là các khái niệm cơ bản để chúng ta hiểu được kiến trúc của cơ sở dữ liệu phân tán

Hình 1-1 Kiến trúc cơ sở dữ liệu phân tán

Mức trên cùng của hình 1-1 là lược đồ toàn cục Lược đồ toàn cục định nghĩa toàn

bộ dữ liệu có trong cơ sở dữ liệu phân tán Vì vậy, lược đồ toàn cục định nghĩa một cách chính xác nhất một cơ sở dữ liệu lúc chưa phân tán Trong tài liệu này chúng ta sử dụng

mô hình quan hệ để mô tả cơ sở dữ liệu phân tán Khi đó, lược đồ toàn cục bao gồm tập hợp các quan hệ toàn cục

Mỗi quan hệ toàn cục có thể được chia thành nhiều phần không giao nhau, người

Global schema

Fragement schema

Allocation schema

Local mapping schema 1

DMS of site 1

Local database

at site 1

Local mapping schema 2

DMS of site 2

Local database

at site 2

(Other sites)

Site independent schemas

Trang 24

ta gọi là phân mảnh Có nhiều cách để thực hiện phân mảnh một quan hệ toàn cục, ví dụ: phân mảnh ngang, phân mảnh dọc, phân mảnh hỗn hợp… Sự khớp nhau giữa lược

đồ toàn cục và các phân mảnh gọi là lược đồ phân mảnh Quan hệ này là một-nhiều - một quan hệ toàn cục có nhiều phân mảnh nhưng một phân mảnh chỉ thuộc về một quan

hệ toàn cục mà thôi Các phân mảnh được gọi tên bằng tên quan hệ toàn cục cộng thêm chỉ số kèm sau, ví dụ Ri chỉ các phân mảnh của quan hệ toàn cục R

Phân mảnh là thành phần logic của quan hệ toàn cục, chúng được lưu trữ vật lý tại một hoặc nhiều nơi khác nhau Lược đồ phân bố(allocation schema) định nghĩa vị trí lưu trữ phân mảnh Kiểu phân bố phân mảnh quy định cơ sở dữ liệu có dư thừa hay không bị dư thừa Tất cả phân mảnh thuộc về cùng một một quan hệ toàn cục R và lưu

trữ tại vị trí j tạo thành hình ảnh vật lý của quan hệ toàn cục R tại vị trí j Vì vậy chúng

ta có quan hệ một-một giữa hình ảnh vật lý và cặp đôi quan hệ toàn cục-vị trí, hình ảnh vật lý được kí hiệu bằng tên quan hệ toàn cục cộng với số thứ tự của vị trí Để phân biệt các phân mảnh với nhau ta sử dụng số mũ, ví dụ: Rj là hình ảnh vật lý của quan hệ toàn

1 Tách biệt khái niệm phân mảnh dữ liệu và lưu trữ dữ liệu Sự tách biệt này giúp

chúng ta phân biệt được hai mức độ trong suốt trong phân tán dữ liệu: trong suốt phân mảnh và trong suốt về mặt lưu trữ Trong suốt phân mảnh là mức độ cao nhất

Ở mức độ này người dùng hoặc các chương trình ứng dụng sử dụng cơ sở dữ liệu phân tán như đang sử dụng cơ sở dữ liệu tập trung Trong suốt về mặt lưu trữ ở mức

độ thấp hơn Mức độ này đòi hỏi người dùng hay các chương trình ứng dụng phải

Trang 25

làm việc với các phân mảnh, tuy nhiên họ không biết các phân mảnh này đang được lưu trữ tại vị trí nào

2 Kiểm soát dữ thừa dữ liệu một cách tường minh Mô hình này giúp cho việc kiểm

soát dư thừa dữ liệu một cách tường minh ở mức độ phân mảnh

3 Độc lập với các hệ quản trị cở sở dữ liệu địa phương Chức năng này cho phép

chúng ta nghiên cứu một số vấn đề của quản trị cơ sở dữ liệu phân tán mà không cần phải tìm hiểu mô hình dữ liệu cụ thể của hệ quản trị cơ sở dữ liệu địa phương

1.2.2 Các kiểu phân mảnh cơ sở dữ liệu

Phân chia quan hệ toàn cục thành các phân mảnh có thể thực hiện theo hai cách cơ bản: phân mảnh ngang và phân mảnh dọc Trong thực tế sự phân mảnh có thể kết hợp

cả hai loại phân mảnh, gọi là phân mảnh hỗn hợp

Khi phân mảnh cơ sở dữ liệu cần tuân thủ một số quy tắc liệt kê dưới đây Các quy tắc này nhằm đảm bảo tính nhất quán của cơ sở dữ liệu, đặc biệt về ngữ nghĩa của dữ liệu

1 Tính đầy đủ Tất cả dữ liệu trong quan hệ toàn cục phải tương ứng với các phân

mảnh Không bao giờ xảy ra trường hợp một bản ghi thuộc vào quan hệ toàn cục nhưng không thuộc phân mảnh nào

2 Tính tái thiết được Bao giờ cũng phải xây dựng được quan hệ toàn cục từ những

phân mảnh của nó

3 Tính tách biệt Các phân mảnh không được giao nhau, vì thế dữ liệu nhân bản có thể

được kiểm soát ở cấp độ lưu trữ Quy tắc này có tác dụng chủ yếu đối với phân mảnh ngang, phân mảnh dọc có thể không nhất thiết tuân theo quy tắc này

Sau đây chúng ta xem xét các loại phân mảnh

1.2.2.1 Phân mảnh ngang

Phân mảnh ngang là cách chia các bản ghi của một quan hệ toàn cục thành các tập con, các tập con này có cùng tính chất Có thể biểu diễn phân mảng ngang bằng phép

Trang 26

toán chọn trên quan hệ toàn cục Ví dụ, hãy xem xét quan hệ toàn cục sau:

SUPPLIER(SNUM, NAME, CITY)

Phân mảnh ngang có thể chia theo cách sau đây:

SUPPLIER1 = σ<CITY = “SF”>SUPPLIER

SUPPLIER2 = σ<CITY = “LA”>SUPPLIER

Phân mảnh trên thoải mãn điều kiện toàn vẹn nếu thuộc tính CITY chỉ có hai giá trị

“SF” và “LA”

Điều kiện xây dựng lại được hoàn toàn có thể kiểm chứng được dựa vào phép toán sau:

SUPPLIER = SUPPLIER1 ∪ SUPPLIER2

1.2.2.2 Phân mảnh ngang dẫn xuất

Trong một số trường hợp muốn phân mảnh ngang một quan hệ ta không chỉ căn

cứ vào mỗi các thuộc tính của nó mà còn phải xem xét thuộc tính của các quan hệ liên quan khác Ví dụ, hãy xét một quan hệ toàn cục sau :

SUPPLY(SNUM, PNUM, DEPTNUM, QUAN)

Trong đó, SNUM là mã số nhà cung cấp Chúng ta có thể phân mảnh quan hệ SUPPY(cung cấp) theo địa chỉ, nhưng thuộc tính địa chỉ lại không có trong quan hệ này

1.2.2.3 Phân mảnh dọc

Phân mảnh dọc là cách chia các thuộc tính của một quan hệ toàn cục thành các nhóm: các phân mảnh được tạo ra bằng cách thực hiện phép chiếu trên quan hệ toàn cục

Ví dụ, xét quan hệ toàn cục sau:

EMP(EMPNUM, NAME, SAL, TAX, MGRNUM, DEPNUM)

Phân mảnh dọc có thể tiến hành như sau:

Trang 27

EMP1 = π<EMNUM, NAME, MGRNUM, DEPTNUM>EMP

EMP2 = π<EMPNUM, SAL, TAX>EMP

Có thể xây dựng lại quan hệ này từ các phân mảnh bằng phép toán sau:

EMP = EMP1 EMP2

<EMPNUM=EMPNUM>

1.2.2.4 Phân mảnh hỗn hợp

Phân mảnh hỗn hợp là sự kết hợp của hai kiểu phân mảnh đã trình bày ở trên Trong phân mảnh hỗn hợp, người ta lần lượt áp dụng từng kiểu phân mảnh Quy tắc xây dựng lại quan hệ từ các phân mảnh hỗn hợp có thứ tự ngược với thứ tự phân mảnh

Để cụ thể hơn ta xét ví dụ sau:

EMP(EMPNUM, NAME, SAL, TAX, MGRNUM, DEPTNUM)

Phân mảnh hỗn hợp được thực hiện bằng cách phân mảnh dọc trước, sau đó sẽ tiến hành phân mảnh ngang

EMP1 = σ<DEPTNUM ≤ 10>π<EMPNUM, NAME, MEGNUM, DEPTNUM>EMP

EMP2 = σ<10 < DEPTNUM ≤ 20>π<EMPNUM, NAME, MGRNUM, DEPTNUM>EMP

EMP3 = σ<DEPTNUM > 20>π<EMPNUM, NAME, MGRNUM, DEPTNUM>EMP

EMP4 = π<EMPTNUM, NAME, SAL, TAX>EMP

Hình 1-2 Phân mảnh hỗn hợp của quan hệ EMP

EMP

EMP4

EMP1 EMP2 EMP3

Trang 28

Xây dựng lại quan hệ EMP từ các phân mảnh bằng phép toán sau: EMP = (EMP1 ∪ EMP2 ∪ EMP3) π<EMPNUM, SAL, TAX>EMP4 <EMPNUM = EMPNUM>

Trang 29

1.3 LÝ THUYẾT CHẮC CHẮN

Trong thực tế có rất nhiều tình huống chúng ta phải rút ra những kết luận tốt từ những bằng chứng nghèo nàn và không chắc chắn thông qua việc sử dụng những suy diễn không chắc chắn Đây không phải là nhiệm vụ không thể thực hiện được, trái lại chúng ta có thể thực hiện rất thành công trong nhiều lĩnh vực trong cuộc sống, chẳng hạn những chuẩn đoán y học đúng đắn và đề xuất cách điều trị thích hợp từ những triệu chứng không rõ ràng, phân tích những trục trặc của xe ô tô dựa vào biểu hiện của nó, nhận ra bạn bè chỉ qua giọng nói hoặc điệu bộ của họ

Lý thuyết chắc chắn đảm bảo tiếp cận thực tế cho lý thuyết xác xuất trong quản lý lập luận không chắc chắn trong hệ chuyên gia

Đối với dấu hiệu không chắc chắn, người ta gán một nhân tố chắc chắn CF(Certainty Factor) để thể hiện độ tin cậy vào dấu hiệu đó Số này chạy từ -1, ứng với sai hoàn toàn, đến +1, ứng với đúng hoàn toàn Số dương thể hiện sự tin cậy, số âm thể hiện sự không tin cậy

Có hai loại không chắc chắn: một là dữ liệu ban đầu cho không chắc chắn, không

đủ, không đáng tin cậy, hai là các luật sử dụng không hợp logic, suy luận ngược từ kết luận về điều kiện, hay còn gọi là suy luận theo kiểu phỏng đoán Vì vậy, ở đây ta cũng

có hai loại hệ số CF là hệ số chắc chắn cho dữ kiện(fact) và hệ số chắc chắn cho luật(rule) Để dễ phân biệt ta kí hiệu CFf dùng cho dữ kiện và CFr dùng cho luật

1.3.1 Hệ số chắc chắn dành cho dữ kiện

Dữ kiện ở đây bao gồm dữ liệu ban đầu, dữ kiện suy luận được

CFf ∈ [-1,1]

CFf càng tiến về 1 thể hiện sự tin tưởng dữ kiện là đúng càng mạnh

CFf càng tiến về -1 thể hiện sự tin tưởng dữ kiện là không đúng càng mạnh

CFf có giá trị xung quanh 0 cho thấy tồn tại rất ít bằng cớ cho việc ủng hộ hay

Trang 30

chống lại dữ kiện Vì vậy, nếu lấy dữ kiện này để suy luận thì độ chính xác sẽ rất thấp

Do vậy, người ta đưa ra một giới hạn(threshold) nhằm tránh suy luận với thông tin không chắc chắn như vậy (ví dụ: 0.01) Nghĩa là nếu có dữ kiện nào có CF nhỏ hơn giới hạn thì sẽ không được sử dụng trong quá trình suy luận

1.3.2 Hệ số chắc chắc chắn dành cho luật

Hệ số này thể hiện sự tin tưởng của chuyên gia vào độ tin cậy của luật Cấu trúc

cơ bản của luật dùng trong mô hình chắc chắn có dạng IF E THEN H CF(luật), trong đó CF(luật) thể hiện mức độ tin cậy H khi có E Tức là khi E là đúng thì người ta tin H theo CF(H,E) = CF(luật)

Ví dụ:

Luật 1: IF có mây đen, E THEN sẽ mưa, H với CF = 0.8 sẽ được tham chiếu đến bảng miêu tả để hiểu rằng “nếu có mây đen thì hầu như chắc chắn trời mưa(CF=0.8)”

1.3.3 Các quy tắc tính toán trên CF

1.3.3.1 Quy tắc kết hợp các CF f của các điều kiện

Thông thường, một luật thường có tiền đề(vế trái) tạo thành từ những kết nối AND/OR của nhiều điều kiện Khi một luật được sử dụng, các CF liên kết với mỗi điều kiện của tiền đề sẽ được kết hợp với nhau để tạo ra một độ chắc chắn cho toàn bộ tiền đề(toàn bộ vế trái của luật) theo công thức sau:

CF(<điều kiện 1> AND <điều kiện 2>)=Min[CF(<điều kiện 1>),CF(<điều kiện 2>)] CF(<điều kiện 1> OR <điều kiện 2>) = Max[CF(<điều kiện 1>), CF(<điều kiện 2>)]

Trang 31

⇒ CF(bệnh nhân bị sốt OR bệnh nhân bị hắt hơi) = 0.9

1.3.3.2 Quy tắc tính CF cho dữ kiện suy ra từ luật

Khi hệ thống sử dụng các luật không chắc chắn(nghĩa là đi kèm theo một hệ số

CFr) để suy ra kết luận thì các hệ số CF của tiền đề cũng sẽ được truyền từ tiền đề sang kết luận thông qua luật theo quy tắc sau:

CFf(<kết luận>) = CFr(<luật>)*CFf(<điều kiện>)

Ví dụ:

CF(bệnh nhân bị sốt) = 0.8

CF(IF bệnh nhân bị sốt THEN bệnh nhân bị cúm) = 0.5

⇒ CF(bệnh nhân bị cúm) = 0.4

1.3.3.3 Quy tắc kết hợp nhiều CF của các kết luận từ nhiều luật

Khi có nhiều luật cùng đưa ra một kết luận(vế phải) giống nhau, thì các giá trị CF đạt được từ các luật này sẽ được kết hợp theo quy tắc:

Nếu kết luận từ luật 1 có giá trị CF1, kết luận từ luật 2 có giá trị CF2 thì:

CFkết hợp = CF1 + CF2*(1 - CF2), khi CF1 và CF2 cùng dương

CFkết hợp = CF1 + CF2*(1 + CF2), khi CF1 và CF2 cùng âm

CFkết hợp = CF1 + CF2/1 - min(|CF1|, |CF2|), khi CF1 và CF2 trái dấu

Trang 32

1.4 TỔNG KẾT CHƯƠNG 1

Nội dung chương 1 trình bày về những kiến thức cơ sở về cơ sở dữ liệu quan hệ, phân mảnh cơ sở dữ liệu và hệ số chắc chắn

Mở đầu chương là những kiến thức cơ bản về cơ sở dữ liệu quan hệ Khái niệm về

cơ sở dữ liệu quan hệ được đưa ra ở đầu chương Tiếp đó là phần trình bày về các phép toán đại số quan hệ cơ bản Các phép toán quan hệ đại số chia làm hai nhóm Nhóm thứ nhất bao gồm các phép toán tập hợp lấy từ lý thuyết tập hợp toán học: phép hợp, phép giao, phép trừ tập hợp và phép tích Đề Các Nhóm thứ hai bao gồm những phép toán được xây dựng đặc biệt cho các cơ sở dữ liệu quan hệ, đó là phép chiếu, phép chọn, phép nối và một số phép khác

Phần thứ hai của chương trình bày về các luât giả thuyết và suy luận dựa vào các

hệ số chắc chắn thu thập được từ chuyên gia hoặc hệ chuyên gia Các quy tắc tính toán

hệ số chắc chắn cũng được trình bày ở phần này

Trang 33

Chương 2 THUẬT TOÁN LOẠI BỎ MẨU TIN

NHÂN BẢN THỪA TRONG CSDL QUAN HỆ

2.1 TƯ TƯỞNG CỦA THUẬT TOÁN

Khi đưa vào lập trình và ứng dụng, một cơ sở dữ liệu bao giờ cũng được chuẩn hóa Mỗi bảng trong cơ sở dữ liệu quan hệ có một lược đồ quan hệ dạng R(K, A), trong

đó K = {K1, K2, …, Kn} là tập siêu khóa hay còn gọi là khóa chính Tập các thuộc tính còn lại gọi là tập không khóa

Một số bộ giá trị t(A) có thể trùng nhau trên toàn bộ hoặc ở một số thuộc tính không khóa nhưng vẫn không vi phạm tính duy nhất của bộ giá trị cũng như phụ thuộc hàm bởi chúng luôn có bộ giá trị khóa t(K) khác nhau Nghĩa là do một số sai sót nào đó

mà hai bộ ts(K) và tx(K) khác nhau, bộ ts(A) và tx(A) có thể giống nhau hoặc khác nhau nhưng thực chất cũng mô tả một đối tượng trong thực tế Để thẩm định các bộ giá trị có cùng mô tả một đối tượng trong thực tế hay không chỉ cần thẩm định ở một số hay toàn

bộ các thuộc tính không khóa, tức là chỉ thẩm định các bộ ts(K,A) chứa ts(HV), trong đó

HV là mảnh hỗn hợp được phân mảnh theo giá trị lặp Sau khi có các mảnh hỗn hợp với các giá trị lặp, chúng ta xem xét khả năng trùng lặp của các bản ghi, nếu khả năng trùng lặp vượt qua một ngưỡng nào đó thì có thể loại trừ và chỉ giữ lại một bản ghi Để đánh giá khả năng trùng lặp của các bản ghi chúng ta dựa vào lý thuyết đại số hệ số chắc

chắn đã trình bày ở Chương 1

2.2 TIÊU CHUẨN THẨM ĐỊNH BẢN GHI NHÂN BẢN THỪA

Để thẩm định các bộ của một quan hệ để từ đó rút ra kết luật chúng có phải là nhân bản thừa của nhau hay không chúng ta đưa ra tiêu chuẩn thẩm định như sau:

Với mỗi bản ghi i ta đặt (pj,kj) ∈ [0,1), trong đó:

9 pj: gọi là độ chắc chắn lặp của bản ghi i khi thỏa mãn luật j, pj càng nhỏ thì khả năng nhân bản càng lớn, pj càng lớn thì khả năng nhân bản càng nhỏ Ví dụ, nếu hai

Trang 34

bản ghi có trường SCMT(số chứng minh thư) có giá trị bằng nhau thì p = 0, tức là chắc chắn hai bản ghi này là nhân bản của nhau, nếu trường quê quán có giá trị giống nhau thì p = 0.9, có nghĩa là hầu như không kết luận được bản ghi là nhân bản của nhau Việc xác định hệ số chắc chắn cho từng bản ghi phải dựa vào kiến thức chuyên gia

9 kj: là số thứ tự của mảnh có giá trị lặp khi thỏa mãn luật j Các bộ cùng thuộc một phân mảnh thì có cùng chỉ số k j

Do một bộ có thể thỏa mãn nhiều luật mà chuyên gia đưa ra, vì vậy mỗi bộ có thể có nhiều cặp giá trị (pj, kj)

Ví dụ:

Ma SCMT HoTen QueQuan DanhHieu p1 k1 p2 k2

01 151435097 Trần Xuân Tiến Thái Bình Xuất sắc 0 1 0.5 1

02 151413097 Trần Xuân Tiến Nam Định Xuất sắc 0 1 0.5 1

03 012345678 Trần Thanh Thảo Lào Cai Tiên tiến 0 2 0.5 2

04 012345678 Trần Thanh Thảo Yên Bái Tiên tiến 0 2 0.5 2

05 012345678 Trần Thanh Thảo Bạc Liêu Xuất sắc 0 2 0.5 2 Giả sử chúng ta có mảnh hỗn hợp HV gồm các thuộc tính có giá trị lặp cùng với các giá trị của nó Nếu trong mảnh HV có tồn tại pj = 0 thì chỉ giữ lại một bộ và xác định lại các giá trị của các thuộc tính nằm ngoài HV nhưng liên đới bộ với HV

Ví dụ:

SCMT HoTen QueQuan NamSinh p1 k1

151435097 Cao Thi Nham Thai Binh 29/01/1984 0 1

151413097 Cao Thi Nhan Thai Binh 29/01/1983 0 1 Trong thực tế, không thể tồn tại hai người có cùng một số chứng minh thư, vì thế khả năng lặp của hai bản ghi này rất cao, ta gán cho nó giá trị bằng 0(chắc chắn lặp) Sau đó tiến hành loại bỏ một trong hai bản ghi Tuy nhiên, bỏ bộ có ngày sinh 29/01/1983 hay 29/01/1984 thì cần phải xác minh lại

Gọi pm, pM ∈ [0,1) là cận dưới và cận trên tương đối của độ chắc chắn lặp của phép thẩm định sao cho:

Trang 35

9 Nếu ∏pj < pm thì khẳng định các bộ đó là nhân bản thừa của nhau nên chỉ giữ lại một bộ và xác định các thuộc tính khác để biết nên giữ lại bản ghi nào

9 Nếu ∏pj > pM thì khẳng định các bộ của HV không phải là nhân bản thừa của nhau nên đều được giữ lại

9 Nếu pm ≤ ∏pj ≤ pM thì thẩm định trực tiếp từng giá trị của các thuộc tính của bộ này

2.3 NỘI DUNG THUẬT TOÁN

Thuật toán loại bỏ bản ghi nhân bản thừa chia làm 2 phần:

9 Phần 1: Xác định độ chắc chắn lặp cho các bản ghi

9 Phần 2: Loại bỏ bản ghi nhân bản thừa

Sau đây là phần trình bày chi tiết cho từng thuật toán

2.3.1 Thuật toán xác định độ chắc chắn lặp cho từng bản ghi

Ký hiệu: P = (p1, p2, , pCardc(R))

Để xác định khả năng lặp của các thuộc tính và bản ghi trong CSDL quan hệ theo

độ chắc chắn chúng ta dựa vào hệ chuyên gia

Dữ liệu vào: Quan hệ R(K, A) có các bộ nhân bản thừa

Dữ liệu ra: P, pm và pM

Thuật toán xác định P như sau:

Trang 36

else

{

Gán chỉ số k cho từng bản ghi trong H[j];

}

}

}

Giá trị của pm, pM được xác định nhờ hệ chuyên gia hoặc xin ý kiến chuyên gia

2.3.2 Thuật toán loại bỏ bản ghi nhân bản thừa

Dữ liệu vào: Quan hệ R(K, A) có các bộ nhân bản, P, pm, pM

Dữ liệu ra: Quan hệ R(K, A) không còn các bộ nhân bản thừa

Thuật toán được trình bày như dưới đây:

Bước 1: Phân mảnh

Phân mảnh ngang quan hệ R(K, A) trên các giá trị lặp của thuộc tính(đã đề cập trong kiến thức chuyên gia) để được các mảnh H

Nếu tất cả mảnh H đều có Cardr(H) = 1 thì kết thúc thuật toán

Ngược lại, chuyển sang Bước 2

Bước 2: Tìm phân mảnh ngang có độ chắc chắn lặp bằng 0

Chuyển sang bước 4;

}

else

Chuyển sang bước 3

}

Ngày đăng: 25/03/2015, 09:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lê Huy Thập, Phân mảnh trên giá trị lặp của các thuộc tính trong CSDL quan hệ, Tạp chí tin học và điều khiển tối ưu, Tập 23 số 1 (2007) 86 - 98 Sách, tạp chí
Tiêu đề: Phân mảnh trên giá trị lặp của các thuộc tính trong CSDL quan hệ
[2] Lê Huy Thập, Giáo trình Kỹ thuất lập trình, Tập 1, NXB Khoa học tự nhiên và công nghệ, Hà Nội 10 năm 2008, 298 p Sách, tạp chí
Tiêu đề: Giáo trình Kỹ thuất lập trình
Nhà XB: NXB Khoa học tự nhiên và công nghệ
[3] Lê Huy Thập, Tập bài giảng “Cơ sở dữ liệu phân tán” , Khoa CNTT - Đại học sư phạm Hà Nội 2, 2007, 170p Sách, tạp chí
Tiêu đề: “Cơ sở dữ liệu phân tán”
[4] Lê Huy Thập, Tập bài giảng “Hệ chuyên gia” , Khoa CNTT - Đại học sư phạm Hà Nội 2, 2007, 180p Sách, tạp chí
Tiêu đề: “Hệ chuyên gia”
[5] Lê Huy Thập, Thi trắc nghiệm có hỗ trợ của hệ chuyên gia, Kỷ yếu hội thảo Quốc gia Huế, 12-13 tháng 6 năm 2008, NXB KH&amp;KT, Hà Nội 2008, p. 422-430 [6] Lê Tiến Vương, Nhập môn cơ sở dữ liệu quan hệ, NXB Thống Kê, 2000 Sách, tạp chí
Tiêu đề: Thi trắc nghiệm có hỗ trợ của hệ chuyên gia, "Kỷ yếu hội thảo Quốc gia Huế, 12-13 tháng 6 năm 2008, NXB KH&KT, Hà Nội 2008, p. 422-430 [6] Lê Tiến Vương, "Nhập môn cơ sở dữ liệu quan hệ
Nhà XB: NXB KH&KT
[9] Kenneth H.Rosen, Toán rời rạc và ứng dụng trong tin học, NXB Khoa học và Kỹ thuật Sách, tạp chí
Tiêu đề: Toán rời rạc và ứng dụng trong tin học
Nhà XB: NXB Khoa học và Kỹ thuật
[13] C.S. Krishnamoorthy, S.Rajeev. Artificial Intelligent and Expert System for Engineers. CRC Press, 1996 Sách, tạp chí
Tiêu đề: Artificial Intelligent and Expert System for Engineers
[14] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design patterns. M.C Escher Sách, tạp chí
Tiêu đề: Design patterns
[15] George Beskales, Mohamed A.Soliman, Ihab F.Ilyas. Modeling Uncertainty in Duplicate Elimination. University of Waterloo, Canada Sách, tạp chí
Tiêu đề: Modeling Uncertainty in Duplicate Elimination
[16] Heiko Muller, Johann – Christoph Freytag. Problems, Methods, and Challengs in Comprehensive Data Cleansing. Humboldt University Sách, tạp chí
Tiêu đề: Problems, Methods, and Challengs in Comprehensive Data Cleansing
[17] Paul Beynon-Davies. Database systems. Pagrave Macmillan, 2004 Sách, tạp chí
Tiêu đề: Database systems
[19] Stefano Ceri, Giuseppe Pelagatti, Plitecnico di Milano. Distributed databases – Principles and Systems. McGraw – Hill Book Company Sách, tạp chí
Tiêu đề: Distributed databases – Principles and Systems
[10] Đỗ Trung Tuấn , Hệ chuyên gia, NXB Đại học Quốc gia Hà Nội, 2000 Khác
[11] Đoàn Văn Ban, Nguyễn Mậu Hân, Xử lý song song và phân tán, NXB Khoa hoc và kỹ thuật, Hà Nội 2006 Khác
[12] Barry Wlkingson, Michael Allen, Parallel Programming, Technique and Applications Using Netwworked Workstations and Parallel Computers, Prentice Hall New Jersey, 1999 Khác
[18] Seyed H. Roo, Parallel processing and Parallel Algorithms, Theory and Coputation, Springer 1999 Khác

HÌNH ẢNH LIÊN QUAN

Bảng 1-2  Quan hệ EMP 1 - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 1 2 Quan hệ EMP 1 (Trang 14)
Bảng 1-4 Kết quả phép chọn - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 1 4 Kết quả phép chọn (Trang 17)
Bảng 1-6 Kết quả của các phép toán tập hợp - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 1 6 Kết quả của các phép toán tập hợp (Trang 19)
Bảng 1-7 Tích Đề Các của hai quan hệ R và S - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 1 7 Tích Đề Các của hai quan hệ R và S (Trang 20)
Bảng 1-8 Phép nối tê-ta hai quan hệ - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 1 8 Phép nối tê-ta hai quan hệ (Trang 21)
Bảng 1-9 Phép nối tự nhiên hai quan hệ - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 1 9 Phép nối tự nhiên hai quan hệ (Trang 22)
Hình dưới đây thể hiện kiến trúc một cơ sở dữ liệu quan hệ. Kiến trúc này không  phải lúc nào cũng được triển khai trong mọi cơ sở dữ liệu nhưng các cấp  độ của nó là  các khái niệm cơ bản để chúng ta hiểu được kiến trúc của cơ sở dữ liệu phân tán - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Hình d ưới đây thể hiện kiến trúc một cơ sở dữ liệu quan hệ. Kiến trúc này không phải lúc nào cũng được triển khai trong mọi cơ sở dữ liệu nhưng các cấp độ của nó là các khái niệm cơ bản để chúng ta hiểu được kiến trúc của cơ sở dữ liệu phân tán (Trang 23)
Hình 1-2 Phân mảnh hỗn hợp của quan hệ EMP - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Hình 1 2 Phân mảnh hỗn hợp của quan hệ EMP (Trang 27)
3.1.4  Sơ đồ hệ thống - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
3.1.4 Sơ đồ hệ thống (Trang 42)
Hình 3-2  Luồng xử lý của hệ thống EDRS - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Hình 3 2 Luồng xử lý của hệ thống EDRS (Trang 44)
Bảng 3-1 Ví dụ về tính toán hệ số chắc chắn - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 3 1 Ví dụ về tính toán hệ số chắc chắn (Trang 46)
Bảng 3-2 Các lớp thuộc gói Rule Engine - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 3 2 Các lớp thuộc gói Rule Engine (Trang 49)
Bảng 3-3 Các lớp thuộc gói Process - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 3 3 Các lớp thuộc gói Process (Trang 50)
Hình 3-3  Sơ đồ tương tác giữa các lớp trong hệ thống - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Hình 3 3 Sơ đồ tương tác giữa các lớp trong hệ thống (Trang 51)
Bảng 3-4 Bảng thuộc tính của lớp clsRuleReader - Loại bỏ mẩu tin nhân bản thừa trong cơ sở dữ liệu quan hệ
Bảng 3 4 Bảng thuộc tính của lớp clsRuleReader (Trang 52)

TRÍCH ĐOẠN

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

w