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

Một mô hình cơ sở dữ liệu quan hệ xác suất

148 73 1

Đ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 148
Dung lượng 2,63 MB

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

Nội dung

Để phát triển mô hình PRDB, trước hết, chúng tôi biểu diễn giá trị thuộc tính quan hệ như một cặp phân bố xác suất trên một tập để mô hình hóa cho khả năng thuộc tính có thể nhận một tro

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI

TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TP.HCM

Cán bộ hướng dẫn khoa học : TS Nguyễn Hòa

Cán bộ chấm nhận xét 1 : PGS TS Dương Tuấn Anh

Cán bộ chấm nhận xét 2 : TS Võ Thị Ngọc Châu

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG TP.HCM ngày 14 tháng 07 năm 2014

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

1 TS Nguyễn Văn Minh Mẫn

2 PGS TS Dương Tuấn Anh

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên: Trần Đức Hiếu MSHV: 11076116

Ngày, tháng, năm sinh: 25/07/1988 Nơi sinh: Tp Hồ Chí Minh

Chuyên ngành: Khoa học máy tính Mã số: 60.48.01

MỘT MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ XÁC SUẤT

II NHIỆM VỤ VÀ NỘI DUNG:

- Đề xuất một mô hình cơ sở dữ liệu quan hệ xác suất có khả năng biểu diễn

và truy vấn các dữ liệu không chắc chắn

- Hiện thực một hệ quản trị cơ sở dữ liệu khởi đầu trên mô hình đã đề xuất

III NGÀY GIAO NHIỆM VỤ: 19/08/2013

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/06/2014

V CÁN BỘ HƯỚNG DẪN: TS Nguyễn Hòa

Trang 4

LỜI CẢM ƠN

Để có thể hoàn thành tốt luận văn này, trước tiên tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất tới TS Nguyễn Hòa – người thầy đã tận tình chỉ bảo, hướng dẫn, truyền đạt kinh nghiệm và kiến thức quí báu cho tôi trong suốt quá trình nghiên cứu và thực hiện luận văn này

Trong quá trình học tập, triển khai nghiên cứu luận văn và những gì đạt được của ngày hôm nay, tôi không thể quên được công lao giảng dạy và hướng dẫn của các thầy, các cô trường Đại học Bách Khoa TPHCM, đặc biệt là các thầy, các cô khoa Khoa học và Kỹ thuật Máy tính trường Đại học Bách Khoa TPHCM

Tôi cũng xin gửi lời cảm ơn chân thành đến gia đình, bạn bè và đồng nghiệp, những người đã rất quan tâm giúp đỡ và tạo điều kiện để tôi hoàn thành tốt luận văn này

Mặc dù tôi đã cố gắng rất nhiều trong quá trình thực hiện luận văn, song với thời gian và sự hạn chế kinh nghiệm của bản thân nên không thể không có những thiếu sót Kính mong nhận được sự cảm thông, đóng góp và chia sẻ kinh nghiệm quí báu của các thầy cô và các bạn học viên

TP.HCM, ngày 20 tháng 05 năm 2014

Trang 5

TÓM TẮT

Thực tế đã cho thấy, cơ sở dữ liệu (CSDL) quan hệ truyền thống là rất hiệu quả

để mô hình hóa, thiết kế và hiện thực các hệ thống lớn Tuy nhiên, mô hình CSDL quan hệ truyền thống không thể biểu diễn và xử lý được các thông tin không chắc chắn và không đầy đủ của các đối tượng trong thực tế Điều này đã đòi hỏi và thúc đẩy việc nghiên cứu và phát triển các mô hình CSDL quan hệ xác suất để có thể biểu diễn và xử lý được thông tin không chắc chắn.Tuy nhiên, khó có mô hình nào

có thể biểu diễn và xử lý hết mọi khía cạnh không chắc chắn và không chính xác về thông tin của các đối tượng trong thế giới thực Điều này là do độ phức tạp về lý thuyết khi phát triển mô hình hoặc sự không hiệu quả về ứng dụng nếu có một mô hình như vậy Do đó, các mô hình CSDL quan hệ xác suất vẫn được tiếp tục nghiên cứu và phát triển để đáp ứng các mục tiêu ứng dụng khác nhau

Luận văn này mở rộng mô hình CSDL quan hệ truyền thống do Codd đề nghị

năm 1970 thành một mô hình CSDL quan hệ xác suất (Probabilistic Relational Data

Base-PRDB) cho phép biểu diễn và truy vấn thông tin không chắc chắn và không đầy đủ của các đối tượng trong thực tế Để phát triển mô hình PRDB, trước hết, chúng tôi biểu diễn giá trị thuộc tính quan hệ như một cặp phân bố xác suất trên một tập để mô hình hóa cho khả năng thuộc tính có thể nhận một trong các giá trị của tập với một xác suất thuộc về khoảng được suy dẫn từ cặp phân bố xác suất này

Kế đến, dựa trên cơ sở sự biểu diễn giá trị thuộc tính đã được đề xuất, chúng tôi

mở rộng một cách nhất quán các khái niệm lược đồ, quan hệ, phụ thuộc hàm và các phép toán đại số trong CSDL quan hệ truyền thống thành lược đồ, quan hệ, phụ thuộc hàm và các phép toán đại số trong CSDL quan hệ xác suất PRDB

Cuối cùng, một hệ quản trị với giao diện quản lý cho PRDB bước đầu được hiện thực với ngôn ngữ truy vấn tựa SQL trên nền hệ quản trị SQLite, gọi là PRDB Visual Management, cho thấy triển vọng ứng dụng của PRDB để mô hình hóa dữ liệu không chắc chắn và giải quyết các bài toán thực tế

Trang 6

ABSTRACT

It is witnessed that the conventional relational database has been useful for modeling real world problems and constructing large-scale systems However, the conventional relational database model could not represent and handle imperfect and uncertain information of objects in the real world That has attracted and motivated research and development of probabilistic relational database models to

be able to represent and handle imperfect and uncertain information However, there

is hardly any model that can represent and handle every uncertain and imperfect aspect of information of real world objects This is because of the complexity of theoretical foundation or the ineffectiveness of practical implementation if there were such a model Therefore, probabilistic relational database models have still been researched for different application purposes

This thesis extends the conventional relational database proposed by Codd

(1970) to a probabilistic relational data base model, called PRDB, for representing and querying uncertain and imperfect information of objects in practice To develop the model PRDB, first, we represent the relational attribute value as a pair of probabilistic distributions on a set for modeling the possibility that the attribute can take one of the values of the set with a probability belonging to interval which is inferred from the pair of probabilistic distributions

Next, on the basis representing attribute values proposed, we extend consistently notions as schemes, relations, functional dependencies and algebraic operations in the conventional relational database to schemes, relations, functional dependencies and algebraic operations respectively in the probabilistic relational data base PRDB Finally, a simple management system for PRDB has been implemented with the query language like SQL running on top of SQLite, called PRDB Visual Management, illustrating for the prospect that PRDB is able to represent uncertain data and resolve real world problems

Trang 7

LỜI CAM ĐOAN

Tôi cam đoan rằng nội dung của luận văn này là kết quả nghiên cứu của bản thân Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu rõ nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo được đề cập ở phần sau của luận văn Những đóng góp trong luận văn là kết quả nghiên cứu của tác giả mà một phần đã được công bố trong bài báo của tác giả ở phần sau của luận văn, ngoài ra chưa được công bố trong bất kỳ công trình khoa học nào khác

TP.HCM, ngày 20 tháng 05 năm 2014

Trang 8

MỤC LỤC

MỤC LỤC vii

DANH MỤC BẢNG xi

DANH MỤC HÌNH xii

Chương 1 GIỚI THIỆU ĐỀ TÀI 1

1.1 Phạm vi và mục tiêu 1

1.2 Những đóng góp chính của luận văn 4

1.3 Cấu trúc nội dung của luận văn 5

1.4 Qui ước ký hiệu và viết tắt 6

Chương 2 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU QUAN HỆ XÁC SUẤT 8

2.1 Giới thiệu 8

2.2 Dữ liệu không chắc chắn 9

2.3 Các mô hình CSDL quan hệ xác suất 10

2.4 Mô hình CSDL quan hệ truyền thống 13

2.4.1 Mô hình dữ liệu 13

2.4.2 Các phép toán đại số 15

2.4.3 Tính chất của các phép toán đại số 17

2.5 Kết luận 19

Chương 3 CƠ SỞ TOÁN HỌC MÔ HÌNH CSDL QUAN HỆ XÁC SUẤT 20

3.1 Giới thiệu 20

3.2 Các chiến lược kết hợp các khoảng xác suất 22

3.3 Các hàm phân bố và bộ ba xác suất 24

3.4 Các chiến lược kết hợp các bộ ba xác suất 25

3.5 Kết luận 27

Chương 4 LƯỢC ĐỒ VÀ QUAN HỆ 28

4.1 Giới thiệu 28

4.2 Mô hình ý niệm 28

4.3 Thuộc tính quan hệ 30

4.4 Kiểu và giá trị 31

Trang 9

4.5 Lược đồ và quan hệ 33

4.6 Kết luận 39

Chương 5 CÁC PHÉP TOÁN ĐẠI SỐ 40

5.1 Giới thiệu 40

5.2 Phép chọn 41

5.3 Phép chiếu 46

5.4 Phép tích Descartes 46

5.5 Phép kết 48

5.6 Phép giao, hợp và trừ 50

5.7 Tính chất của các phép toán đại số 55

5.8 Kết luận 61

Chương 6 XÂY DỰNG NGÔN NGỮ TRUY VẤN DỮ LIỆU TRÊN PRDB 63 6.1 Giới thiệu 63

6.2 Các đặc điểm chung của ngôn ngữ ProbSQL 64

6.3 Cú pháp chung của ngôn ngữ ProbSQL 65

6.3.1 Các mệnh đề thường dùng của lệnh SELECT 65

6.3.2 Mệnh đề SELECT và FROM 66

6.3.3 Mệnh đề WHERE 67

6.3.4 Điều kiện chọn với truy vấn con trong mệnh đề WHERE 69

6.4 Các quan hệ hai ngôi và các phép toán được sử dụng trong ngôn ngữ ProbSQL 71

6.4.1 Các quan hệ hai ngôi giữa bộ ba xác suất với giá trị 71

6.4.2 Các quan hệ hai ngôi giữa các bộ ba xác suất 72

6.4.3 Các phép toán luận lý kết hợp giữa các điều kiện chọn 74

6.4.4 Phép kết tự nhiên 74

6.4.5 Phép giao, hợp, trừ 75

6.5 Kết luận 77

Chương 7 HIỆN THỰC MÔ HÌNH CSDL QUAN HỆ XÁC SUẤT 78

7.1 Giới thiệu 78

Trang 10

7.2.1 Các thành phần chính của hệ thống 79

7.2.2 Kiến trúc hệ quản trị PRDB Visual Management 81

7.3 Hệ quản trị CSDL SQLite 83

7.3.1 Các tính năng đặc trưng của SQLite 84

7.3.2 Các lớp và phương thức chính trong System.Data.SQLite 86

7.3.3 Hiện thực tầng dữ liệu kết nối giữa PRDB Visual Management với SQLite 86

7.3.3.1 Tạo mới cơ sở dữ liệu 87

7.3.3.2 Lưu trữ và cập nhật cơ sở dữ liệu 87

7.3.3.3 Mở một cơ sở dữ liệu có sẵn 88

7.4 Hiện thực khối biểu diễn mô hình PRDB 89

7.4.1 Biểu diễn cơ sở dữ liệu PRDB 89

7.4.2 Biểu diễn lược đồ PRDB 90

7.4.3 Biểu diễn các quan hệ PRDB 91

7.4.4 Biểu diễn các thuộc tính quan hệ của PRDB 92

7.4.5 Biểu diễn các kiểu dữ liệu trong PRDB 92

7.4.6 Biểu diễn các bộ ba xác suất trong PRDB 94

7.4.7 Biểu diễn giá trị bộ xác suất 94

7.5 Hiện thực khối xử lý truy vấn PRDB 95

7.5.1 Xây dựng trình biên dịch cho ngôn ngữ ProbSQL 96

7.5.2 Phân tích và thực thi truy vấn 104

7.5.3 Hiện thực các chiến lược kết hợp các khoảng xác suất 105

7.5.4 Hiện thực các chiến lược kết hợp các bộ ba xác suất 105

7.5.5 Hiện thực các hàm diễn dịch quan hệ xác suất 107

7.5.6 Hiện thực phép kết 108

7.5.7 Hiện thực phép chọn 109

7.5.8 Hiện thực phép chiếu 110

7.5.9 Hiện thực phép hợp 111

7.5.10 Hiện thực phép giao 112

7.5.11 Hiện thực phép trừ 112

Trang 11

7.6 Giao diện hệ quản trị PRDB Visual Management 113

7.6.1 Giao diện chính 113

7.6.2 Giao diện tạo lược đồ 118

7.6.3 Giao diện tạo quan hệ 118

7.6.4 Kết luận 123

Chương 8 KẾT LUẬN 124

8.1 Tổng kết 124

8.2 Hướng phát triển 125

Trang 12

DANH MỤC BẢNG

Bảng 3.1 Các tiên đề về chiến lược hội 22

Bảng 3.2 Các tiên đề về chiến lược tuyển 23

Bảng 3.3 Các ví dụ về các chiến lược kết hợp xác suất 24

Bảng 4.1 Một quan hệ trên lược đồ PATIENT 35

Bảng 4.2 Một quan hệ trong CSDL bệnh nhân tại phòng khám 36

Bảng 4.3 Quan hệ PATIENT 38

Bảng 4.4 Quan hệ PHYSICIAN 38

Bảng 4.5 Quan hệ DIAGNOSE 39

Bảng 5.1 Diễn dịch của các biểu thức chọn trên quan hệ DIAGNOSE 44

Bảng 5.2 Quan hệ r’=(DIAGNOSE) 46

Bảng 5.3 Quan hệ ∏A(PATIENT) 46

Bảng 5.4 r1=∏{PATIENT_NAME, MEDICAL_HISTORY}(PATIENT) 48

Bảng 5.5 r2=∏{PHYSICIAN_NAME,EXPERIENCE, MEDICAL_HISTORY}(PHYSICIAN) 48

Bảng 5.6 Tích Descartes của r1 và r2 48

Bảng 5.7 Quan hệ PATIENT1 50

Bảng 5.8 Quan hệ PATIENT2 50

Bảng 5.9 Quan hệ PATIENT= PATIENT1 in PATIENT2 50

Bảng 5.10 Quan hệ DIAGNOSE1 52

Bảng 5.11 Quan hệ DIAGNOSE2 52

Bảng 5.12 DIAGNOSE = DIAGNOSE1 inDIAGNOSE2 53

Bảng 5.13 DIAGNOSE = DIAGNOSE1  me DIAGNOSE2 54

Bảng 5.14 DIAGNOSE = DIAGNOSE1 -⊖in DIAGNOSE2 55

Bảng 6.1 Quan hệ hai ngôi IN⊗ và¬IN⊗ trong điều kiện chọn chứa truy vấn con70 Bảng 6.2 Các quan hệ hai ngôi giữa một bộ ba xác suất với một giá trị 71

Bảng 6.3 Các quan hệ hai ngôi giữa hai bộ ba xác suất 72

Bảng 6.4 Phép kết tự nhiên hai quan hệ xác suất PRDB 75

Bảng 6.5 Phép giao giữa hai quan hệ xác suất PRDB 76

Trang 13

Bảng 6.6 Phép hợp giữa hai quan hệ xác suất PRDB 76

Bảng 6.7 Phép hiệu giữa hai quan hệ xác suất PRDB 76

Bảng 7.2 Các thành phần điều khiển trên giao diện chính 114

Trang 14

DANH MỤC HÌNH

Hình 4.1 Lược đồ (ý niệm) cơ sở dữ liệu khám-chữa bệnh 29

Hình 4.2 Kiến trúc của hệ thống PRDB 30

Hình 7.1 Kiến trúc hệ quản trị PRDB Visual Management 83

Hình 7.2 Cây phân tích cú pháp cho truy vấn ở ví dụ 7.5.1.1 103

Hình 7.3 Cây phân tích cú pháp cho truy vấn ở ví dụ 7.5.1.2 104

Hình 7.4 Giao diện chính của hệ quản trị PRDB Visual Management 113

Hình 7.5 Giao diện top-menu bar và tool-bar button trong PRDB Visual Management 115

Hình 7.6 Cửa sổ Object Treeview 116

Hình 7.7 Cửa sổ tạo lược đồ, quan hệ và truy vấn 117

Hình 7.8 Các thành phần trên giao diện chính hệ quản trị PRDB Visual Management 117

Hình 7.9 Giao diện tạo lược đồ của hệ quản trị PRDB Visual Management 118

Hình 7.10 Giao diện tạo quan hệ của hệ quản trị PRDB Visual Management 119

Hình 7.11 Giao diện nhập bộ ba xác suất không theo phân bố đều 120

Hình 7.12 Giao diện nhập bộ ba xác suất theo phân bố đều 121

Hình 7.13 Giao diện tạo truy vấn của hệ quản trị PRDB Visual Management 121

Hình 7.14 Giao diện nhận kết quả truy vấn trả về 122

Hình 7.15 Giao diện nhận thông báo lỗi khi truy vấn không thành công 122

Trang 15

Mô hình này có khả năng biểu diễn các quan hệ và trạng thái của các đối tượng một cách chặt chẽ và nhất quán trong các ứng dụng thực tế Ngoài ra, do được xây dựng trên nền tảng lý thuyết đại số quan hệ, mô hình không chỉ có khả năng biểu diễn đơn giản, mà còn có khả năng thao tác rất hiệu quả nhờ tập các phép toán đại số (hoặc ngôn ngữ truy vấn) của nó Điều này đã được chứng minh thông qua việc có nhiều hệ quản trị CSDL quan hệ mạnh và chiếm thị phần rất lớn như Microsoft SQL Server, Oracle, DB2, v.v Tuy nhiên, trong mô hình CSDL truyền thống mối quan

hệ cũng như trạng thái và hành vi của các đối tượng luôn được thể hiện một cách chắc chắn và chính xác ([1], [18], [26]) Điều này là không hoàn toàn phù hợp với thực tế, như đã được chỉ ra trong ([4], [10], [11], [12], [23]), bởi vì thông tin về các đối tượng trong thế giới thực có thể không chắc chắn và không chính xác

Hệ quả là các ứng dụng dựa trên mô hình CSDL quan hệ truyền thống không thể biểu diễn được các đối tượng và quan hệ mà thông tin về chúng không được xác định một cách chắc chắn và chính xác Điều đó làm hạn chế khả năng mô hình hóa

Trang 16

và giải quyết các bài toán áp dụng trong thế giới thực Chẳng hạn, các ứng dụng của

mô hình CSDL truyền thống không thể trả lời được các câu hỏi, truy vấn trong thực

tế kiểu như “tìm tất cả những bệnh nhân có khả năng mắc các bệnh về đường hô hấp với xác suất 70%”, “tìm những công ty có khả năng bị phá sản từ 80 đến 90% trong năm 2013”, “tìm tất cả những bệnh nhân có khả năng bị mắc bệnh ung thư gan hoặc ung thư phổi với xác suất từ 50 đến 70%”, hoặc “tìm những thời điểm mà nhiệt độ trong ngày dao động từ 20 đến 25oC với xác suất từ 70 đến 80%”, v.v Để khắc phục được những hạn chế như vậy, cần phải xây dựng các mô hình dữ liệu có khả năng biểu diễn và xử lý được các đối tượng mà các thông tin về chúng có thể không chắc chắn hoặc không đầy đủ

Trong những năm 80 của thế kỉ trước đã có nhiều công trình nghiên cứu về việc sử dụng giá trị NULL để biểu diễn thông tin không chắc chắn hoặc không chính xác trong mô hình CSDL quan hệ Tiêu biểu trong số đó là các công trình của E.F.Codd ([1], [3], [6]) đã sử dụng giá trị NULL để biểu diễn thay cho các giá trị dữ liệu chưa biết hoặc chưa xác định được Cách biểu diễn và ngữ nghĩa của giá trị NULL như vậy được thừa nhận trong mô hình CSDL quan hệ và các hệ quản trị của

nó mà ta đã biết hiện nay

Tuy nhiên, trong những tình huống mà ở đó chúng ta không biết chính xác giá trị của thuộc tính nhưng biết khả năng mà nó nhận một giá trị cụ thể thì không thể

mô hình hóa thông tin này bởi một giá trị NULL hoặc một giá trị đặc biệt nào đó Chẳng hạn, một bác sĩ không biết chắc chắn bệnh nhân mắc bệnh gì, nhưng bằng kinh nghiệm có thể chẩn đoán khả năng 80-90% bệnh nhân này bị viêm túi mật hoặc viêm gan thì chúng ta không thể dùng CSDL quan hệ truyền thống (có sử dụng giá trị NULL) để biểu diễn Vì nếu sử dụng giá trị NULL thay cho các giá trị biểu hiện tình trạng bệnh có thể của bệnh nhân, chúng ta sẽ làm mất đi các thông tin chẩn đoán của bác sĩ Và thực tế, điều này dẫn đến sự mất mát thông tin và ý nghĩa của

dữ liệu

Như chúng ta đã biết, lý thuyết xác suất có thể mô hình hóa tính không chắc chắn, không đầy đủ của dữ liệu Vì vậy, một giải pháp tự nhiên để vượt qua giới hạn của các mô hình CSDL truyền thống trong việc xử lý thông tin không chắc chắn là

Trang 17

mở rộng mô hình này bằng cách áp dụng các kết quả của lý thuyết xác suất trong cách biểu diễn dữ liệu cũng như cách xây dựng các thao tác dữ liệu trên mô hình này

Theo tinh thần đó, trong những năm qua đã có nhiều mô hình CSDL được nghiên cứu và xây dựng dựa trên sự tích hợp của lý thuyết xác suất vào mô hình CSDL quan hệ nhằm mô hình hóa thông tin của các đối tượng và quan hệ trong thế giới thực sao cho đúng với bản chất không chắc chắn vốn có của chúng Các mô

hình như vậy được gọi là mô hình cơ sở dữ liệu quan hệ xác suất (probabilistic

relational data base model) Thực chất của việc xây dựng mô hình CSDL quan hệ xác xuất là sự mở rộng mô hình CSDL quan hệ truyền thống bằng cách áp dụng lý thuyết xác suất Hiện nay có ba cách tiếp cận chính để phát triển một mô hình CSDL quan hệ xác suất là mở rộng biểu diễn quan hệ của các bộ hoặc mở rộng biểu diễn giá trị thuộc tính của bộ hoặc mở rộng biểu diễn cả quan hệ và giá trị thuộc tính của bộ Trên cơ sở mô hình dữ liệu được mở rộng, mô hình thao tác dữ liệu sẽ được mở rộng tương ứng

Tuy nhiên, mặc dù có nhiều mô hình CSDL quan hệ xác suất đã được đề nghị

và phát triển, nhưng không có mô hình nào là hoàn chỉnh, có thể biểu diễn và xử lý hết mọi khía cạnh không chắc chắn của thông tin của các đối tượng trong tự nhiên

Do đó, các mô hình CSDL quan hệ xác suất vẫn cần được tiếp tục nghiên cứu và phát triển nhằm đáp ứng cho các dạng yêu cầu khác nhau của ứng dụng Đề tài của

luận văn này nhằm mục tiêu xây dựng một mô hình Cơ sơ dữ liệu quan hệ xác suất

(Probabilistic Relational Data Base - PRDB) mới như vậy để biểu diễn và xử lý các

dữ liệu không chắc chắn mà ta thường gặp trong thực tế

Sự khác biệt của mô hình chúng tôi đề nghị [37] so với các mô hình trước đây

là cho phép giá trị thuộc tính của quan hệ được biểu diễn như một cặp phân bố xác suất trên một tập Nghĩa là, mỗi thuộc tính được kết hợp với một bộ ba, gồm một tập giá trị và hai phân bố xác suất trên tập này, biểu diễn khả năng thuộc tính có thể nhận một trong các giá trị của tập với một xác suất thuộc về một khoảng được suy dẫn từ cặp phân bố xác suất Rõ ràng, đây là một mở rộng của các mô hình CSDL

Trang 18

quan hệ xác suất mà trong đó thuộc tính quan hệ được biểu diễn như một giá trị kết hợp với một khoảng xác suất để thuộc tính nhận giá trị này

Để xây dựng PRDB, chúng tôi sử dụng lý thuyết xác suất nói chung, các chiến lược kết hợp các khoảng xác suất nói riêng trong ([12], [16]), mở rộng các khái niệm trong mô hình CSDL truyền thống như kiểu, giá trị, lược đồ, quan hệ thành các khái niệm tương ứng trong PRDB Các phép toán đại số trong CSDL truyền thống cũng được mở rộng thành các phép toán đại số tương ứng trong PRDB để truy vấn các quan hệ với giá trị thuộc tính không chắc chắn

Sự mở rộng như vậy vẫn đảm bảo tính nhất quán với mô hình CSDL truyền thống Nói một cách khác, mô hình PRDB vẫn hoàn toàn có thể biểu diễn và xử lý được các quan hệ mà mô hình của Codd ([1], [3]) đã biểu diễn và xử lý Mô hình CSDL quan hệ truyền thống có thể được xem như là trường hợp riêng của mô hình PRDB Một tập các tính chất của các phép toán đại số trên PRDB cũng được mở

rộng trong Chương 5 từ các tính chất của các phép toán đại số quan hệ truyền

thống Các tính chất này được chứng minh đầy đủ, chứng tỏ mô hình PRDB được

xây dựng là đúng đắn Một hệ quản trị cho PRDB với ngôn ngữ truy vấn dữ liệu tựa

SQL bước đầu được hiện thực trên nền hệ thống SQLite [28], gọi là PRDB Visual Management, cho thấy triển vọng ứng dụng của PRDB để mô hình hóa dữ liệu không chắc chắn và giải quyết các bài toán thực tế

Một cơ sở dữ liệu các bệnh nhân tại phòng khám của một bệnh viện được dùng làm ví dụ minh họa cho lý thuyết và thử nghiệm chương trình cho thấy rõ hơn bản chất mô hình PRDB và cách thức ứng dụng của nó

Mô hình mà chúng tôi đề xuất là một hướng tiếp cận mới trong việc biểu diễn

dữ liệu không chắc chắn ở mức thuộc tính của mô hình CSDL quan hệ xác suất Mô hình dữ liệu của PRDB cùng với tập các phép toán đại số quan hệ xác suất được xây dựng sẽ cung cấp cho người dùng một phương pháp hiệu quả để biểu diễn và thao tác các dữ liệu không chắc chắn trong các ứng dụng mà ta rất thường gặp trong thực

tế Sự xây dựng của mô hình PRDB cũng thể hiện một sự mở rộng tổng quát cho

Trang 19

mô hình CSDL quan hệ truyền thống, giúp mô hình này có thể tiếp tục được hoàn thiện và sử dụng trong xu hướng phát triển của các ứng dụng mới

Một số đóng góp cụ thể của luận văn trong quá trình xây dựng mô hình PRDB:

1 Đề xuất được các khái niệm thuộc tính, kiểu, giá trị, giá trị bộ xác suất, lược

đồ và quan hệ xác suất dựa trên bộ ba xác suất (probabilistic triple) để xây

dựng mô hình dữ liệu của CSDL quan hệ xác suất PRDB

2 Mở rộng tất cả các phép toán đại số thông dụng trên CSDL quan hệ truyền thống với xác suất để xử lý và truy vấn thông tin không chắc chắn trên mô hình PRDB

3 Đề xuất các định lý về các tính chất của các phép toán đại số quan hệ xác suất trong PRDB

4 Chứng minh tất cả các định lý về tính chất của các phép toán đại số trên PRDB

5 Đề xuất ngôn ngữ thao tác và truy vấn dữ liệu ProbSQL thân thiện tựa SQL và hiện thực một hệ quản trị khởi đầu của mô hình PRDB với ngôn ngữ ProbSQL

1.3 Cấu trúc nội dung của luận văn

Luận văn được chia thành 8 chương

Chương 1 trình bày phạm vi, mục tiêu và ý nghĩa về lý thuyết cũng như ứng

dụng của đề tài luận văn, giới thiệu cấu trúc, các qui ước ký hiệu và viết tắt trong

luận văn Mỗi chương tiếp theo, từ Chương 2 đến Chương 7 có một phần giới

thiệu và một phần kết luận

Chương 2 giới thiệu tổng quan về mô hình CSDL quan hệ xác suất và mô

hình CSDL quan hệ truyền thống như một nền tảng, cơ sở để xây dựng và phát triển

mô hình PRDB Từ mô hình CSDL truyền thống này, chúng ta thấy được mối liên

hệ của những yếu tố mở rộng trong PRDB

Chương 3 trình bày cơ sở toán học để phát triển mô hình PRDB Đó là các

Trang 20

biểu diễn và xử lý thông tin không chắc chắn của các thuộc tính quan hệ trong PRDB

Chương 4 trình bày mô hình ý niệm hay các khái niệm kiểu, thuộc tính, giá

trị, lược đồ và quan hệ xác suất của PRDB trên cơ sở mở rộng các khái niệm tương ứng trong CSDL quan hệ truyền thống

Chương 5 trình bày các phép toán đại số quan hệ trên PRDB Đó là các phép

toán như Chọn, Chiếu, Tích Descartes, Kết, Giao, Hợp và Trừ trên các quan hệ xác suất trong PRDB Các phép toán này là mở rộng các phép toán đại số tương ứng trong CSDL quan hệ truyền thống với sự tích hợp các giá trị không chắc chắn của các thuộc tính

Chương 6 trình bày ngôn ngữ truy vấn cơ sở dữ liệu ProbSQL được xây dựng

trên nền tảng các phép toán đại số quan hệ PRDB để truy vấn các dữ liệu không chắc chắn trong mô hình PRDB

Chương 7 trình bày các bước để hiện thực và xây dựng một hệ quản trị CSDL

khởi đầu cho mô hình PRDB để cho thấy khả năng áp dụng của mô hình này vào thực tế

Chương 8 là tổng kết và đề nghị các hướng nghiên cứu tiếp theo cho đề tài

của luận văn

1.4 Qui ước ký hiệu và viết tắt

Các ký hiệu và qui ước chung sau đây được sử dụng trong suốt luận văn này:

 : quan hệ tập con

 : phép toán giao tập hợp

 : phép toán hợp tập hợp

 : quan hệ nhỏ hơn hoặc bằng trên tập các số thực/khoảng

 : quan hệ lớn hơn hoặc bằng trên tập các số thực/khoảng

 : phép toán hội xác suất của hai khoảng ứng với hai biến cố

 : phép toán tuyển xác suất của hai khoảng ứng với hai biến cố

⊝ : phép toán trừ xác suất của hai khoảng ứng với hai biến cố

Pr : hàm tính xác suất của một quan hệ/sự kiện

Trang 21

prob : hàm tính xác suất của các quan hệ hai ngôi trên các tập hợp

prob R,r,t : hàm tính diễn dịch xác suất của các biểu thức chọn xác suất

min : hàm tính giá trị nhỏ nhất của một tập các số thực

max : hàm tính giá trị lớn nhất của một tập các số thực

N : tập tất cả các số tự nhiên

R : tập các số thực

Trang 22

1970 trong [1] Mô hình CSDL quan hệ truyền thống của Codd đã chứng tỏ nhiều

ưu điểm trong việc mô hình hóa và trong các áp dụng thực tế Tuy nhiên, mô hình này vẫn có mặt hạn chế là không thể biểu diễn và thao tác được các dữ liệu không chắc chắn ([9], [27]), mà các dữ liệu này tồn tại rất phổ biến trong thực tế Hạn chế này đã thúc đẩy sự nghiên cứu và phát triển các mô hình CSDL quan hệ xác suất là

mở rộng tổng quát của mô hình CSDL quan hệ truyền thống Các phần tiếp theo của chương này sẽ trình bày về các mô hình CSDL quan hệ xác suất như vậy đã được nghiên cứu và phát triển và các phương pháp tiếp cận khác nhau để xây dựng mô hình Bên cạnh đó, chương này cũng trình bày về vai trò và ý nghĩa của các loại dữ liệu không chắc chắn là phương hướng và mục tiêu để xây dựng và áp dụng các mô

hình CSDL quan hệ xác suất trong các ứng dụng thực tế Phần 2.2 giới thiệu về dữ

liệu không chắc chắn và ý nghĩa của việc biểu diễn dữ liệu không chắc chắn trong

các mô hình CSDL Phần 2.3 giới thiệu về mô hình cơ sở dữ liệu quan hệ xác suất

và các hướng tiếp cận để xây dựng mô hình cơ sở dữ liệu quan hệ xác suất Phần

Trang 23

2.4 trình bày về mô hình CSDL quan hệ truyền thống là nền tảng để xây dựng và

phát triển mô hình PRDB Cuối cùng, Phần 2.5 là một số kết luận đáng lưu ý của

chương này

2.2 Dữ liệu không chắc chắn

Dữ liệu không chắc chắn (uncertain data) là rất phổ biến và thường gặp trong

thực tế Có nhiều nguyên nhân dẫn đến sự không chắc chắn của dữ liệu như dữ liệu

không chắc chắn do giá trị dữ liệu chưa biết (unknown) hoặc chưa xác định được (undefined) Ví dụ, thông tin dự đoán về các giá trị cổ phiếu tương lai của các doanh

nghiệp Dữ liệu có thể không chắc chắn do tính chất tóm tắt hay tổng hợp của chính

dữ liệu Ví dụ, các kết quả khảo sát thị trường thường được diễn đạt theo một cách ước lượng mà trong đó các tiêu chí khảo sát thường được thống kê hay tổng hợp lại Ngoài ra, một nguyên nhân khác cũng dẫn đến sự không chắc chắn của dữ liệu đó là

sự hợp nhất của dữ liệu từ nhiều nguồn lưu trữ khác nhau Ví dụ, hai CSDL khác nhau có thể lưu trữ thông tin về cùng một bệnh nhân nhưng lại có hai giá trị ngày sinh khác nhau thì khi hợp nhất thông tin của bệnh nhân này về một CSDL chính, ta

sẽ không biết lựa chọn dữ liệu ngày sinh của bệnh nhân từ CSDL nào Hầu hết các

dữ liệu không chắc chắn đều rất quan trọng và có ý nghĩa đối với việc xử lý và ra quyết định của người dùng cũng như của các ứng dụng Vì vậy, một nhu cầu tự nhiên phát sinh là cần phải lưu trữ và biểu diễn được các dữ liệu không chắc chắn

để đáp ứng cho các yêu cầu xử lý khác nhau của ứng dụng

Tuy nhiên, để lưu trữ hay mô hình hóa được các dữ liệu không chắc chắn, người ta cần phải xác định được bản chất sự không chắc chắn của dữ liệu được xem xét Các nghiên cứu hiện nay đã ghi nhận được hai loại không chắc chắn chính của

dữ liệu trong thế giới thực: sự không chắc chắn do tính mơ hồ (vagueness) của dữ liệu và sự không chắc chắn do tính nhập nhằng (ambiguity) của dữ liệu [38] Tính

không chắc chắn do mơ hồ liên quan việc nhận biết giá trị chính xác của dữ liệu Ví

dụ, các nhận xét về chiều cao của con người như cao, rất cao hay thấp đều là những nhận xét mang tính chủ quan và không thể xác định được chiều cao chính xác của

Trang 24

sự trợ giúp của những công cụ như lý thuyết tập mờ (fuzzy theory) Tính không chắc

chắn do nhập nhằng có liên quan đến những tình huống mà ở đó dữ liệu có thể phù hợp với nhiều giá trị khác nhau nhưng không biết được giá trị nào là chính xác Ví

dụ, nhiệt độ trung bình vào mùa khô ở thành phố Hồ Chí Minh có thể là 28, 29 hay

30oC Những tình huống như vậy có thể được biểu diễn hiệu quả bằng các phương pháp hay độ đo xác suất như trong [38]

Tóm lại, để đáp ứng nhu cầu lưu trữ và biểu diễn các dữ liệu không chắc chắn khác nhau của thế giới thực, ta cần phải nhận biết được loại không chắc chắn của dữ liệu và lựa chọn phương pháp hay công cụ biểu diễn cho phù hợp Và trong nghiên cứu của luận văn này, chúng tôi chỉ xem xét việc biểu diễn và thao tác trên các dữ liệu không chắc chắn ở dạng nhập nhằng như đã trình bày ở trên

Như chúng ta đã biết, mô hình CSDL quan hệ truyền thống đã chứng tỏ nhiều

ưu điểm trong mô hình hóa các áp dụng thực tế Tuy nhiên, mô hình quan hệ truyền thống không thể biểu diễn và xử lý được thông tin không đầy đủ hoặc không chắc chắn ([18], [26]) Hạn chế này thúc đẩy sự nghiên cứu và áp dụng các mô hình CSDL quan hệ xác suất Sau đây, chúng tôi sẽ trình bày quá trình nghiên cứu và phát triển các mô hình CSDL quan hệ xác suất thông qua một số mô hình tiêu biểu, theo các phương pháp mở rộng biểu diễn trên giá trị thuộc tính của quan hệ và mở rộng biểu diễn trên các bộ của quan hệ Chúng tôi lưu ý rằng, chính cách thức biểu diễn dữ liệu qui định ràng buộc dữ liệu và cách thức thao tác dữ liệu Trước tiên, các cách tiếp cận, khả năng và hạn chế của các mô hình CSDL quan hệ xác suất sẽ được trình bày

Một mô hình CSDL quan hệ xác suất là một tổng quát hóa của mô hình CSDL quan hệ truyền thống, trong đó các giá trị thuộc tính hoặc các biến bộ của quan hệ được mở rộng thành các cặp phân bố xác suất để biểu diễn mức độ không chắc chắn của dữ liệu Các khái niệm về ràng buộc dữ liệu và thao tác dữ liệu cũng được mở rộng để biểu diễn được mối quan hệ giữa các phân bố xác suất với dữ liệu và các thao tác trên chúng Tuy nhiên, sự khác biệt cũng như khả năng và hạn chế của các

Trang 25

mô hình CSDL quan hệ xác suất thể hiện ở các cách tiếp cận biểu diễn phân bố xác suất trên quan hệ Vì vậy, các mô hình CSDL quan hệ xác suất được xem xét chủ yếu trên khía cạnh này Có ba cách tiếp cận chính để biểu diễn dữ liệu không chắc chắn trong CSDL quan hệ xác suất: (1) biểu diễn thuộc tính không chắc chắn của quan hệ bằng các phân bố xác suất trên tập giá trị của thuộc tính; (2) biểu diễn quan

hệ không chắc chắn của các bộ bằng các phân bố xác suất trên bộ; (3) biểu diễn giá trị thuộc tính và quan hệ không chắc chắn của các bộ bằng các phân bố xác suất Trên cơ sở của phương pháp biểu diễn đã được xác định, các mô hình dữ liệu và mô hình thao tác dữ liệu tương ứng sẽ được mở rộng và hoàn thiện

Với cách biểu diễn ở mức quan hệ, một số mô hình đã mở rộng mỗi quan hệ

cổ điển thành một quan hệ xác suất như trong ([5], [7] - [12], [14], [20], [24], [27], [30], [32], [34]) Nghĩa là mỗi bộ trong một quan hệ có một mức độ không chắc chắn, được đo bằng xác suất, để nó thuộc về quan hệ Độ đo xác suất này còn được diễn dịch như là mức độ không chắc chắn mà các thuộc tính có thể nhận các giá trị trong một bộ cụ thể Độ đo xác suất này có thể được biểu diễn dưới dạng một giá trị đơn như trong ([5], [10], [11], [20]), hay một khoảng xác suất như trong ([7], [12], [14], [30]) Phương pháp biểu diễn độ đo sẽ thể hiện mức độ tổng quát cũng như tính linh hoạt của các mô hình trong quá trình kết hợp giữa các sự kiện xác suất Trên cơ sở biểu diễn đó, các phép toán đại số quan hệ xác suất đã được xây dựng như là một mở rộng của các phép toán đại số quan hệ trong mô hình CSDL quan hệ truyền thống Kết quả các truy vấn dữ liệu là một quan hệ xác suất với mức độ xác suất cụ thể của từng bộ thỏa mãn yêu cầu của truy vấn

Ở mức thuộc tính, mô hình CSDL quan hệ xác suất cho phép biểu diễn giá trị

dữ liệu không chắc chắn trong các thuộc tính của quan hệ nhằm thể hiện tình trạng thiếu thông tin về đối tượng Một số nghiên cứu tiêu biểu phát triển mô hình CSDL quan hệ xác suất theo hướng tiếp cận này được đề nghị trong ([8], [9], [17], [19], [25], [33], [37]) Có một vài khác biệt nhỏ trong cách biểu diễn giá trị thuộc tính của bộ trong quan hệ xác suất Một số mô hình, như ([13], [33]), gán mỗi giá trị thuộc tính với một giá trị xác suất để biểu diễn mức độ không chắc chắn mà thuộc

Trang 26

với một khoảng xác suất để biểu diễn mức độ không chắc chắn cả về xác suất và giá trị mà thuộc tính có thể nhận Các phép toán đại số quan hệ xác suất tương ứng cũng được xây dựng để thao tác trên các quan hệ và xác định các bộ thỏa một khoảng xác xuất được yêu cầu trong truy vấn

Một phương pháp khác mềm dẻo hơn, được đề nghị trong [14], là cho phép giá trị thuộc tính được biểu diễn như một phân bố xác suất trên một tập Nghĩa là, mỗi thuộc tính được thể hiện như một tập giá trị, kết hợp với một phân bố xác suất trên tập này, biểu diễn khả năng thuộc tính có thể nhận một trong các giá trị của tập với xác suất là giá trị của hàm phân bố xác suất tương ứng Rõ ràng, đây là một mở rộng của các mô hình ở đó thuộc tính được biểu diễn như một giá trị kết hợp với một xác suất để thuộc tính nhận giá trị này

Có một số ít nghiên cứu kết hợp cả hai tiếp cận trên để mở rộng CSDL quan

hệ truyền thống thành CSDL quan hệ xác suất Chẳng hạn, mô hình CSDL quan hệ xác suất đã được đề nghị bởi Singh và cộng sự trong [33] cho phép biểu diễn giá trị

dữ liệu không chắc chắn như một phân bố xác suất rời rạc hoặc liên tục cho các bộ cũng như tập các giá trị mà thuộc tính của bộ có thể nhận trong quan hệ Nghĩa là, ban đầu mô hình biểu diễn giá trị dữ liệu không chắc chắn như một phân bố xác suất

rời rạc hoặc liên tục ở mức thuộc tính Sau đó, mô hình được mở rộng ra theo ngữ

nghĩa của thế giới có thể (Possible Worlds Semantics) để tính toán các độ đo xác

suất thể hiện mức độ tồn tại của các bộ Đây là một mô hình mang tính tổng quát hơn so với các mô hình được biểu diễn ở mức bộ hoặc mức thuộc tính trước đó Mô hình còn thể hiện ưu điểm ở chỗ cho phép biểu diễn giá trị thuộc tính như một phân

bố xác suất rời rạc hoặc liên tục và có thể xử lý được mối tương quan giữa các thuộc tính trên cùng một bộ hoặc giữa các bộ khác nhau Trên cơ sở đó, các phép toán đại số quan hệ xác suất tương ứng cũng được xây dựng để thao tác trên các quan hệ và xác định các bộ thỏa mãn yêu cầu trong truy vấn

Ngoài ra, tương tự như mô hình CSDL quan hệ truyền thống, mô hình CSDL quan hệ xác suất cũng có thể được xây dựng dựa trên cơ sở logic vị từ Chẳng hạn,

mô hình được đề nghị trong [15] Mô hình này là một mở rộng của mô hình CSDL quan hệ dựa trên logic cổ điển, trong đó mỗi vị từ được kết hợp với một khoảng xác

Trang 27

suất để vị từ đúng trong một CSDL cụ thể Mô hình như vậy cho phép suy diễn trên thông tin không chắc chắn, có thể được áp dụng trong các hệ thống chẩn đoán và dự đoán trong thực tế

Trong phần này, chúng tôi sẽ trình bày về CSDL quan hệ truyền thống như là nền tảng để phát triển các mô hình CSDL quan hệ xác suất và đồng thời cũng là cơ

sở để xây dựng mô hình PRDB ở các chương tiếp theo Ngoài ra, mô hình CSDL quan hệ truyền thống cũng còn có thể được xem như là một trường hợp đặc biệt của các mô hình CSDL quan hệ xác suất, trong đó có PRDB, khi xác suất ứng với mỗi

bộ hoặc mỗi giá trị thuộc tính luôn luôn bằng 1

2.4.1 Mô hình dữ liệu

Như trong hầu hết các mô hình CSDL đang tồn tại hiện nay, mô hình CSDL quan hệ dựa trên một tập các khái niệm cơ bản như thuộc tính, kiểu, giá trị, lược đồ

và thể hiện (instance) của lược đồ (quan hệ trên lược đồ) để xây dựng mô hình dữ

liệu Các khái niệm này lần lượt được định nghĩa sau đây

Định nghĩa 2.2.1 Giả sử A là một tập các thuộc tính và T là một tập các kiểu cơ sở

(atomic types) Các kiểu (type) được định nghĩa như sau:

1 Mọi kiểu cơ sở trong T là một kiểu

2 Nếu A1, A2,…, A k là các thuộc tính đôi một khác nhau trong A và τ1, τ2,… τ k

các kiểu cơ sở thì τ = [A11, A22,…, A k :τ k ] là một kiểu, được gọi là kiểu bộ (tuple type) trên tập các thuộc tính {A1, A2, …, A k } Với một kiểu τ = [A11,

…, A k :τ k ], chúng tôi sử dụng τ.A i để biểu thị cho τ i

Trong mô hình CSDL quan hệ, kiểu dữ liệu của thuộc tính là miền giá trị mà thuộc tính có thể nhận Kiểu bộ là miền giá trị của các bộ trong quan hệ có tập thuộc tính

tương ứng Mỗi bộ (v1, v2, …, v k ) thực chất là một phần tử của tích Descartes τ = τ1

τ2 …  τ trên các miền giá trị tương ứng của các thuộc tính A , A , …, A của

Trang 28

quan hệ Và như vậy, một tập các bộ (v1, v2, …, v k ) là một tập con của tích τ = τ1  τ2

…  τ k và đó là một quan hệ k-ngôi trên tập các giá trị các thuộc tính A1, A2, …, A k

Định nghĩa 2.2.2 Mỗi kiểu cơ sở   T có một miền xác định, được ký hiệu là dom(), kết hợp với nó Giá trị (value) được định nghĩa như sau:

1 Với mọi kiểu cơ sở  T, thì mỗi v dom() là một giá trị kiểu 

2 Nếu A1,…, A k là các thuộc tính đôi một khác nhau trong A và v1, …, v k là các giá trị tương ứng của các kiểu 1, …, k thì [A1:v1,…, A k :v k] là một giá trị kiểu

[A1:1,…, A k:k ] và được gọi là giá trị kiểu bộ (tuple type value) hay đơn giản

là một bộ, trên tập các thuộc tính {A1, A2, …, A k}

Trong một số trường hợp nếu không quan tâm đến tên thuộc tính, ta có thể viết giá

trị kiểu bộ đơn giản là t = (v1, v2, …, v k)

Định nghĩa 2.2.3 Giả sử A là một tập các thuộc tính, một tập R = {A1, A2, …, A k} các thuộc tính đôi một khác nhau trong A được gọi là một lược đồ quan hệ

(relational schema) trên A1, A2, …, A k , ký hiệu là R(A1, A2, …, A k)

Ví dụ 2.2.3 Một lược đồ của quan hệ PATIENT trong CSDL quản lý bệnh nhân của

một bệnh viện có thể là

PATIENT(PATIENT_ID, PATIENT_NAME, BIRTHDAY, SEX, AGE, DISEASE)

Định nghĩa 2.2.4 Một quan hệ (relation) r, trên lược đồ R(A1, A2, …, A k) là một tập

hữu hạn các bộ {t1, t2,…, t n } trên tập các thuộc tính {A1, A2, …, A k } Các ký hiệu t.A hoặc t[A] biểu thị giá trị thuộc tính A của bộ t trong quan hệ r

Ngoài ra, ký hiệu t[X] được dùng để biểu thị giá trị bộ thu hẹp của t trên tập thuộc tính X {A1, A2, …, A k}

Định nghĩa 2.2.5 Một CSDL quan hệ (relational database) bao gồm một tập các

thuộc tính A i , một tập các miền giá trị tương ứng τ i, một tập các lược đồ quan hệ R i

và các quan hệ r i tương ứng với các lược đồ của chúng

Trang 29

Một khái niệm có ý nghĩa ứng dụng trong mô hình CSDL quan hệ được gọi là khóa quan hệ Khóa quan hệ là cơ sở để nhận dạng các bộ trong một quan hệ Khóa quan hệ được định nghĩa như sau

Định nghĩa 2.2.6 Giả sử r là một quan hệ trên lược đồ R(A1, A2, …, A k), một tập

thuộc tính K {A1, A2, …, A k } được gọi là khóa của r nếu với hai giá trị bộ bất kỳ t1

và t2 của r mà t1[K] = t2[K] thì t1  t2 và không tồn tại bất kỳ tập con nào của K có

tính chất này

Phụ thuộc hàm, một dạng đặc biệt của các quan hệ giữa các thuộc tính như một loại ràng buộc dữ liệu, là một khái niệm quan trọng làm cơ sở cho tối ưu hóa tổ chức dữ liệu trong mô hình CSDL quan hệ Phụ thuộc hàm được định nghĩa như sau

Định nghĩa 2.2.7 Cho một lược đồ quan hệ R(A1, A2, …, A k ), r là một quan hệ bất kì trên R, X và Y là hai tập con các thuộc tính của R Một phụ thuộc hàm (functional dependency) của Y đối với X trên lược đồ quan hệ R, ký hiệu là X → Y, nếu

∀t1, t2 ∈ r, t1[X] = t2[X] t1[Y] = t2[Y] (2.1)

Phụ thuộc hàm X → Y còn được gọi là “X xác định hàm Y” hoặc “Y phụ thuộc hàm vào X”

2.4.2 Các phép toán đại số

Tập các phép toán đại số quan hệ (relational algebra) bao gồm phép chọn,

chiếu, tích Descartes, kết, giao, hợp và trừ là một ngôn ngữ để thực hiện các truy vấn trong CSDL quan hệ Đầu vào và đầu ra của các phép toán đại số là các quan

hệ Sau đây, chúng tôi lần lượt giới thiệu các định nghĩa của các phép toán đại số quan hệ trong mô hình CSDL truyền thống

Trang 30

Định nghĩa 2.3.1 Giả sử R là một lược đồ quan hệ, r là một quan hệ trên R và  là

một điều kiện chọn Phép chọn (selection) trên r theo , được ký hiệu (r), là một quan hệ trên R, bao gồm tất cả các bộ thỏa mãn điều kiện chọn

(r) = t r | (t) = true (2.2) Điều kiện chọn  là một mệnh đề biểu diễn các ràng buộc của các giá trị thuộc

tính của các bộ t trong quan hệ r

Định nghĩa 2.3.2 Giả sử R là một lược đồ quan hệ, r là một quan hệ trên R và X là

một tập các thuộc tính của R, gọi ∏ X (R) là lược đồ quan hệ trên X Phép chiếu (projection) của r trên X, được ký hiệu là ∏ X (r), là một quan hệ r’ trên ∏ X (R) bao

gồm các bộ là thu hẹp của r trên X Nghĩa là r’ = {t’ = t[X] | t r}

Định nghĩa 2.3.3 Giả sử {A1, A2,…, A m } và {B1, B2,…, B n} là hai tập thuộc tính

không giao nhau Gọi r và s là hai quan hệ tương ứng trên hai lược đồ R(A1, A2,…,

A m ) và S(B1, B2,…, B n ) Phép tích Descartes của hai quan hệ r và s, ký hiệu là r x s,

là một quan hệ trên lược đồ Q(A1, A2,…, A m , B1, B2,…, B n ) bao gồm các bộ t được

xác định bởi

r x s = {t = (t1,…, t m , t m+1 ,…, t m+n ) | (t1,…, t m ) ∈ r và (t m+1 ,…, t m+n ) ∈ s} (2.3)

Định nghĩa 2.3.4 Giả sử A và B là hai tập thuộc tính sao cho nếu chúng có thuộc

tính cùng tên thì các thuộc tính đó phải có cùng kiểu giá trị Gọi r và s tương ứng là

các quan hệ trên các lược đồ R(A) và S(B) Phép kết tự nhiên (natural join) của r và

s, ký hiệu là r ⋈ s, là một quan hệ trên lược đồ Q(A∪B) được xác định theo tích

Descartes của r và s bao gồm các bộ t sao cho t[A] = t r ∈ r, t[B] = t s ∈ s và t[C] =

t r [C] = t s [C] với mọi C ∈ AB

Định nghĩa 2.3.5 Giả sử r và s là hai quan hệ trên cùng một lược đồ R Phép hợp

(union) của hai quan hệ r và s, ký hiệu là r ∪ s, là một quan hệ trên R bao gồm các

bộ của r hay của s Nghĩa là r ∪ s = {t | t ∈ r hay t ∈ s}

Trang 31

Định nghĩa 2.3.6 Giả sử r và s là hai quan hệ trên cùng một lược đồ R Phép trừ

(minus) của quan hệ r cho s, ký hiệu là r – s, là một quan hệ trên R bao gồm các bộ của r không có trong s Nghĩa là r – s = {t | t ∈ r và t ∉ s}

Định nghĩa 2.3.7 Giả sử r và s là hai quan hệ trên cùng một lược đồ R Phép giao

(intersection) của hai quan hệ r và s, ký hiệu là r ∩ s, là một quan hệ trên R bao

gồm các bộ thuộc đồng thời cả r và s Nghĩa là r ∩ s = {t | t ∈ r và t ∈ s}

Các phép toán được trình bày ở trên là những phép toán cơ bản Trong mô

hình CSDL quan hệ còn có Phép kết θ (θ-join) được suy dẫn từ phép chọn và tích Descartes, Phép chia (division) được suy dẫn từ phép chiếu, tích Descartes và trừ

như trong [18]

2.4.3 Tính chất của các phép toán đại số

Từ các định nghĩa của các phép toán đại số trong CSDL quan hệ, dễ dàng nhận thấy chúng có thời gian thực hiện tuyến tính hoặc bậc hai theo kích thước của quan

hệ Chẳng hạn, với quan hệ đầu vào có n bộ thì thời gian tính toán của phép chọn để

có kết quả đầu ra là O(n) Các phép toán đại số là hiệu quả Ngoài ra, cũng dễ dàng

nhận thấy chúng có một số tính chất như giao hoán, kết hợp, phân bố, v.v Sau đây

là các tính chất của các phép toán đại số quan hệ được phát biểu như những định lý Việc chứng minh chúng là khá đơn giản nên được bỏ qua Các chứng minh có thể tìm thấy trong [26]

Định lý 2.4.1 Giả sử r là một quan hệ trên lược đồ R Gọi 1 và 2 là hai điều kiện chọn Khi đó

1(2(r)) = 2(1(r)) = 12(r) (2.4) Kết quả này chứng tỏ thứ tự của các điều kiện chọn không ảnh hưởng đến kết quả phép chọn

Trang 32

Định lý 2.4.2 Giả sử r là một quan hệ trên lược đồ R, A và B là các tập thuộc tính

trong R, là một điều kiện chọn chỉ tham chiếu đến các thuộc tính trong A Khi đó

A(B (r)) = A (r) (nếu A ⊆ B) (2.5)

A(B (r)) = B(A (r)) (2.6)

A((r)) = (A (r)) (2.7) Định lý này cho thấy rằng, có thể thay đổi trật tự phép chiếu theo các tập thuộc tính quan hệ, nghĩa là phép chiếu có tính giao hoán đối với các tập thuộc tính

Định lý 2.4.3 Giả sử r1, r2 và r3 tương ứng là các quan hệ trên R1, R2 và R3, sao cho nếu chúng có thuộc tính cùng tên thì cùng kiểu và 1, 2 và 3 là các điều kiện chọn Khi đó

(r1 r2) r3 = r1 (r2 r3) (2.9)

123(r1 r2) = 3(1(r1) 2(r2)) (2.10) Bởi vì phép lấy tích Descartes là trường hợp riêng của phép kết nên một hệ quả trực tiếp của định lý trên được phát biểu như sau

Hệ quả 2.4.1 Giả sử r1, r2 và r3 tương ứng là các quan hệ trên R1, R2 và R3, sao cho tập các thuộc tính của chúng không giao nhau và 1, 2 và 3 là các điều kiện chọn

Khi đó

r1  r2 = r2  r1 (2.11)

(r1  r2)  r3 = r1  (r2  r3) (2.12)

123(r1  r2) = 3(1(r1) 2(r2)) (2.13)

Định lý 2.4.4 Giả sử r1, r2 và r3 là các quan hệ trên cùng một lược đồ R và A là một

tập các thuộc tính quan hệ Khi đó

r1  r2 = r2  r1 (2.14)

(r1  r2)  r3 = r1  (r2  r3) (2.15)

r1  r2 = r2  r1 (2.16)

(r1  r2)  r3 = r1  (r2  r3) (2.17)

Trang 33

A (r1  r2) = A (r1) A (r2) (2.18)

2.5 Kết luận

Mặc dù các CSDL quan hệ truyền thống ngày nay rất mạnh mẽ và phổ biến trong việc biểu diễn và xử lý dữ liệu, nhưng chúng vẫn không có khả năng mô hình hóa được các loại dữ liệu không chắc chắn Các dữ liệu không chắc chắn có nhiều dạng khác nhau và tồn tại rất nhiều trong thực tế Việc mô hình hóa và biểu diễn được các dữ liệu không chắc chắn này sẽ mở ra nhiều ứng dụng mới trong tương lai

và giúp phản ánh chân thực thế giới tự nhiên của con người vào các hệ thống quản

lý thông tin hay quản lý dữ liệu Những yếu tố này đã thúc đẩy sự phát triển và ra đời của các mô hình CSDL quan hệ xác suất là mở rộng của các mô hình CSDL quan hệ truyền thống với khả năng biểu diễn và thao tác trên các dữ liệu không chắc chắn như vậy Một sự trình bày tổng quan về các mô hình CSDL quan hệ xác suất

và mô hình CSDL quan hệ truyền thống của chương này đã cho thấy một bước phát triển mang tính logic, khái quát và chặt chẽ của hai mô hình này để đáp ứng cho những yêu cầu mới của các ứng dụng hiện nay

Trang 34

Chương 3

CƠ SỞ TOÁN HỌC

MÔ HÌNH CSDL QUAN HỆ XÁC SUẤT

3.1 Giới thiệu

Chương này giới thiệu một số khái niệm và công cụ cơ bản về toán học làm cơ

sở để xây dựng mô hình dữ liệu CSDL quan hệ xác suất PRDB Đầu tiên là các

chiến lược kết hợp xác suất trên các khoảng trong Phần 3.2 do Lakshmanan và các

cộng sự đề xuất năm 1997 ([12]) và được Eiter và các cộng sự bổ sung năm 2001 ([16]) Các chiến lược kết hợp xác suất này được xây dựng dựa trên các tính chất cơ bản của lý thuyết xác suất Đó là công cụ toán học để biểu diễn, tính toán và kết hợp xác suất của các giá trị mà thuộc tính quan hệ có thể nhận trong mô hình CSDL quan hệ xác suất PRDB

Phần 3.3 trình bày khái niệm hàm phân bố xác suất và bộ ba xác suất được

giới thiệu trong [16] Các hàm phân bố xác suất và bộ ba xác suất là công cụ thích hợp cho phép biểu diễn giá trị không chắc chắn và không đầy đủ của các thuộc tính quan hệ trong PRDB

Phần 3.4 trình bày các chiến lược kết hợp các bộ ba xác suất Các chiến lược

kết hợp các bộ ba xác suất là cơ sở để tính toán và kết hợp xác suất của các giá trị thuộc tính của quan hệ khi thực hiện các phép toán đại số như kết, giao, hợp và trừ

các quan hệ trong PRDB Phần 3.5 là một vài lưu ý và kết luận của chương này.

Trang 35

3.2 Các chiến lược kết hợp các khoảng xác suất

Giả sử, chúng ta biết xác suất của các sự kiện (event) e1 và e2 tương ứng là

Pr(e1) và Pr(e2) Khi đó xác suất Pr(e1  e2) của sự kiện phức hợp e1  e2 có thể được

tính toán phụ thuộc vào mối quan hệ của e1 và e2 Chẳng hạn, nếu e1 và e2 là độc lập

thì Pr(e1  e2) = Pr(e1).Pr(e2), nếu e1 và e2 là loại trừ lẫn nhau thì Pr(e1  e2) = 0, v.v

Nếu không biết (hoặc bỏ qua) mối quan hệ của e1 và e2 thì Pr(e1  e2) có thể được

ước lượng trong khoảng [max(0, Pr(e1) + Pr(e2) - 1), min(Pr(e1), Pr(e2))] như đã chỉ

ra bởi Eiter và các cộng sự (2001) trong [16]

Như vậy, xác suất của sự kiện e1  e2 không chỉ phụ thuộc vào xác suất của

các sự kiện e1và e2 mà còn vào cả mối quan hệ giữa chúng Tương tự, chúng ta cũng

có thể tính toán xác suất của sự kiện e1  e2 tùy thuộc vào thông tin về mối quan hệ giữa chúng Một cách khái quát, tùy thuộc vào mức độ nắm bắt thông tin về sự phụ thuộc giữa các sự kiện tham gia, có nhiều lựa chọn để tính toán xác suất của một sự kiện phức hợp liên quan đến các sự kiện này Một sự lựa chọn để tính toán xác suất

của các sự kiện phức hợp như vậy gọi là một chiến lược kết hợp xác suất

(probabilistic combination strategy) của chúng

Cũng như trong Eiter và các cộng sự (2001) và một số mô hình cơ sở dữ liệu xác suất khác ([21], [23]), trong phạm vi nghiên cứu này, các khoảng xác suất được

sử dụng thay cho các giá trị xác suất vì hai lý do:

1 Trong nhiều áp dụng, xác suất của một sự kiện thường không được cung cấp một cách chính xác

2 Khi chúng ta không biết về sự phụ thuộc giữa hai sự kiện, chúng ta chỉ có thể nói xác suất của sự kiện phức hợp của chúng thuộc về một khoảng

Sự thống kê hay tính toán xác suất trên các khoảng phải đảm bảo các khoảng xác suất của các sự kiện là nhất quán như định nghĩa sau ([16])

Định nghĩa 3.2.1 Giả sử e1 và e2 có xác suất tương ứng trong các khoảng I1 = [L1,

U1] và I2 = [L2, U2] với L1  U1, L2  U2 Một phép gán các khoảng xác suất như vậy

Trang 36

1 Nếu (e1  e2) là mâu thuẫn (contradictory) thì L1 + L2  1

2 Nếu (e1 e2) là mâu thuẫn thì L1  U2

3 Nếu (e1  e2) là mâu thuẫn thì L2  U1

4 Nếu (e1 e2) là mâu thuẫn thì U1 + U2  1

Trong định nghĩa này, như đã lưu ý trong [16], khái niệm mâu thuẫn ở đây

được hiểu theo nghĩa của logic mệnh đề, e1  e2 mâu thuẫn nghĩa là e1  e2 sai Trong phạm vi nghiên cứu này, chúng tôi giả thiết rằng tất cả các phép gán các khoảng xác suất cho các sự kiện là nhất quán trừ phi phát biểu ngược lại Với hai

khoảng xác suất I1 = [L1, U1] và I2 = [L2, U2], ký hiệu I1  I2 được sử dụng như một

sự viết gọn thay cho L1  L2 và U1  U2 còn ký hiệu I1  I2 thay cho L2  L1 và U1 

U2

Để thuận tiện cho việc biểu diễn và thực thi các truy vấn trong PRDB dựa trên

tính toán và suy luận xác suất, chúng tôi sử dụng các chiến lược hội (conjunction strategy) và chiến lược tuyển (disjunction strategy) xác suất trên các khoảng do

Lakshmanan và CS (1997) đề xuất trong [12], được Eiter và CS (2001) mở rộng trong [16]

Định nghĩa 3.2.2 Giả sử e1 và e2 có xác suất tương ứng trong các khoảng 1 = [L1,

U1] và 2 = [L2, U2] Một chiến lược hội xác suất của 1 và 2 là một phép toán hai ngôi  sử dụng các khoảng xác suất này để tính một khoảng xác suất I = [L, U] cho

e1  e2, được ký hiệu bởi I1  I2, thỏa các tiên đề trong Bảng 3.1.

Bảng 3.1 Các tiên đề về chiến lược hội Tên tiên đề (Axiom name) Chiến lược hội (Conjunction Strategy)

Bị chặn (Bottomline) (I1  I2)  [min(L1, L2), min(U1, U2)]

Bỏ qua (Ignorance) (I1  I2)  [max(0, L1 + L2 - 1), min(U1, U2)]

Trang 37

Định nghĩa 3.2.3 Giả sử e1 và e2 có xác suất tương ứng trong các khoảng 1 = [L1,

U1] và 2 = [L2, U2] Một chiến lược tuyển xác suất của 1 và 2 là một phép toán hai ngôi  sử dụng các khoảng xác suất này để tính một khoảng xác suất I = [L, U] cho

e1  e2, được ký hiệu bởi I1  I2, thỏa các tiên đề trong Bảng 3.2

Bảng 3.2 Các tiên đề về chiến lược tuyển Tên tiên đề (Axiom name) Chiến lược tuyển (Disjunction Strategy)

Đơn điệu (I1  I2)  (I1  I3) nếu I2  I3

Ngoài ra, chúng tôi cũng sử dụng các chiến lược hiệu (difference strategy) của

các khoảng xác suất do Eiter và CS (2001) [16] đề xuất như định nghĩa sau

Định nghĩa 3.2.4 Giả sử e1 và e2 có xác suất tương ứng trong các khoảng 1 = [L1,

U1] và 2 = [L2, U2] Một chiến lược hiệu xác suất của 1 và 2 là một phép toán hai ngôi ⊖ sử dụng các khoảng xác suất này để tính một khoảng xác suất I = [L, U] cho

sự kiện e1 e2, được ký hiệu bởi I = I1 ⊖ I2, thỏa các tiên đề sau:

1 Bị chặn: (I1 ⊖ I2)  [min(L1, 1– U2), min(U1, 1– L2)]

2 Bỏ qua: (I1 ⊖ I2)  [max(0, L1 – U2), min(U1, 1– L2)]

3 Đồng nhất: nếu (e1  e2) và (e1 e2 ) là không mâu thuẫn thì (I1 ⊖ [0, 0]) =

I1

Bảng 3.3 dưới đây là một số ví dụ về các chiến lược kết hợp hội, tuyển và hiệu

các khoảng xác suất trong Eiter và CS (2001) [16]

Trang 38

Bảng 3.3 Các ví dụ về các chiến lược kết hợp xác suất

Bỏ qua (Ignorance) ([L1, U1] ig [L2, U2])  [max(0, L1 + L2 – 1), min(U1, U2)]

([L1, U1] ig [L2, U2])  [max(L1, L2 ), min(1, U1 + U2)]

([L1, U1] ⊖ig [L2, U2])  [max(0, L1 – U2 ), min(U1,1– L2)] Độc lập

sở cho việc biểu diễn giá trị không chắc chắn của các thuộc tính của quan hệ Khái

niệm hàm phân bố xác suất (probability distribution function) và bộ ba xác suất

(probabilistic triple) lần lượt được định nghĩa dưới đây

Định nghĩa 3.3.1 Giả sử X là một tập hữu hạn, một hàm phân bố xác suất  trên X

Trang 39

Một hàm phân bố xác suất quan trọng thường gặp là hàm phân bố đều (uniform distribution) u(x) = 1/X , xX Ví dụ, nếu X = 24, 48, 72, thì hàm

phân bố đều u trên X là u(x) = 1/3, x24, 48, 72

Định nghĩa 3.3.2 Một bộ ba xác suất (probabilistic triple) X, ,  bao gồm một

tập hữu hạn X, một hàm phân bố xác suất  trên X và một hàm : X  [0, 1] sao cho

(x) (x)

Như vậy, một bộ ba xác suất X, ,  gán mỗi x X cho một khoảng [(x),

(x)] biểu diễn xác suất không chắc chắn của x trong X Phép gán này là nhất quán

theo nghĩa mỗi x X được gán một xác suất p(x)  [(x), (x)] sao cho ( ) 1.

x X

p x

Khái niệm bộ ba xác suất là công cụ để biểu diễn thông tin không chắc chắn

về các đối tượng trong thực tế Chẳng hạn, nếu chúng ta biết một gói bưu kiện được chuyển từ Sài Gòn đến Hà Nội trong thời gian 2 hoặc 3 ngày (48 giờ hoặc 72 giờ) với xác suất từ 40 đến 60% thì chúng ta có thể biểu diễn thông tin này bởi một bộ

ba xác suất 48, 72, 0.8u, 1.2u Trong đó u là hàm phân bố đều, 0.8u và 1.2u

tương ứng là các hàm phân bố xác suất  và  với (x) = 0.8u(x) = 0.8(1/2) = 0.4 và

(x) = 1.2u(x) = 1.2(1/2) = 0.6, x48, 72 Lưu ý rằng, theo Định nghĩa 3.3.2

của bộ ba xác suất  X, , ,  và  có thể là các hàm phân bố xác suất bất kỳ

3.4 Các chiến lược kết hợp các bộ ba xác suất

Để xây dựng các phép toán đại số như kết, giao, hợp và trừ của các quan hệ trong cơ sở dữ liệu quan hệ xác suất PRDB, chúng tôi sử dụng các chiến lược kết hợp các bộ ba xác suất trong [16] làm cơ sở cho sự kết hợp xác suất của các giá trị các thuộc tính trong các quan hệ kết quả của các phép toán này Trước hết là chiến lược hội của các bộ ba xác suất như định nghĩa sau

Định nghĩa 3.4.1 Giả sử pt1 = V1, 1, 1 và pt2 = V2, 2, 2 là các bộ ba xác suất,

và  là một chiến lược hội xác suất Thì một chiến lược hội của hai bộ ba xác suất

Trang 40

(conjunction strategy of two probabilistic triples) pt1 và pt2 theo , được ký hiệu pt1

pt2, là một bộ ba xác suất pt = V, , , trong đó:

1 V = v ∈V1 ∩ V2  [1(v), 1(v)]  [2(v), 2(v)]  [0, 0]

2 [(v), (v)] = [1(v), 1(v)]  [2(v), 2(v)], ∀v V

(3.1)

Ví dụ 3.4.1 Cho pt1 = 48, 72, 0.8u, 1.2u và pt2 = 72, 96, u, u là các bộ ba xác

suất Khi đó, pt1 in pt2 theo chiến lược hội độc lập là bộ ba xác suất pt = 72,

0.2u, 0.3u

Tiếp theo, các chiến lược tuyển và trừ các bộ ba xác suất lần lượt được định nghĩa như dưới đây

Định nghĩa 3.4.2 Giả sử pt1 = V1, 1, 1 và pt2 = V2, 2, 2 là các bộ ba xác suất

và  là một chiến lược tuyển xác suất Thì một chiến lược tuyển của hai bộ ba xác

suất (disjunction strategy of two probabilistic triples) pt1 và pt2, ký hiệu pt1  pt2, là

Định nghĩa 3.4.3 Giả sử pt1 = V1,1,1 và pt2 = V2,2,2 là các bộ ba xác suất và

⊖ là một chiến lược hiệu xác suất Thì một chiến lược hiệu của hai bộ ba xác suất (difference strategy of two probabilistic triples) pt1 và pt2, ký hiệu pt1 ⊖ pt2, là một

Ngày đăng: 31/01/2021, 23:58

TỪ KHÓA LIÊN QUAN

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