Để 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 2CÔ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 4LỜ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 5TÓ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 6ABSTRACT
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 7LỜ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 8MỤ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 94.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 107.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 117.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 12DANH 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 13Bả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 14DANH 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 15Mô 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 16và 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 17mở 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 18quan 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 19mô 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 20biể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 21prob : 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 221970 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 232.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 24sự 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 25mô 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 26vớ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 27suấ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 là
các kiểu cơ sở thì τ = [A1:τ1, A2:τ2,…, 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 τ = [A1:τ1,
…, 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 28quan 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 29Mộ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)) = 12(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)
123(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)
123(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 33A (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 34Chươ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 353.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 361 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 38Bả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 39Mộ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 , x X Ví dụ, nếu X = 24, 48, 72, thì hàm
phân bố đều u trên X là u(x) = 1/3, x24, 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, x48, 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