Đã 1 -có những bệnh viện mà hồ sơ bệnh án được lưu trữ theo thời gian trên máy tínhElectronic Medical Records và có thể bệnh nhân được khám bệnh, điều trị từ xa,thông qua dữ liệu lịch sử
Trang 2ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM
-Phạm văn Chung
RÀNG BUỘC TOÀN VẸN VÀ TRÍCH YẾU THỜI GIAN TRONG CƠ SỞ DỮ LIỆU
HƯỚNG THỜI GIAN VÀ ỨNG DỤNG
LUẬN ÁN TIẾN SĨ KỸ THUẬT
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01
TP.HCM - Năm 2008
ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM
-Phạm văn Chung
RÀNG BUỘC TOÀN VẸN VÀ TRÍCH YẾU THỜI GIAN TRONG CƠ SỞ DỮ LIỆU
HƯỚNG THỜI GIAN VÀ ỨNG DỤNG
LUẬN ÁN TIẾN SĨ KỸ THUẬT
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01
NGƯỜI HƯỚNG DẪN KHOA HỌC
1- PGS.TS DƯƠNG TUẤN ANH
Trang 32- PGS TS TRẦN THÀNH TRAI
Phản biện 1: PGS.TS Đồng thị Bích Thủy
Phản biện 2: PGS TSKH Nguyễn Xuân Huy
Phản biện 3: PGS TS Đỗ Phúc
Bảo vệ luận án cấp Nhà nước ngày 25/6/2008
tại ĐH Bách khoa, ĐH Quốc gia Tp HCM
TP.HCM - Năm 2008
LỜI CAM ĐOAN
Tôi cam đoan rằng nội dung của luận án này là kết quả nghiên cứu của riêng
tôi Tất cả những ý tưởng tham khảo từ kết quả nghiên cứu được công bố trong cáccông trình khoa học đều được nêu rõ trong luận án Những chương trình phần mềmđược cài đặt và những đóng góp trong luận án là do chính tôi thực hiện và chưađược công bố trong bất cứ công trình nào khác
Tác giả luận án
Phạm văn Chung
i
LỜI CẢM ƠN
Trân trọng cảm tạ quí thày trong Ban Lãnh đạo Khoa CNTT, và chủ nhiệm
bộ môn cơ sở dữ liệu trường ĐHBK-TP.HCM đã động viên, hướng dẫn cũng nhưtạo mọi điều kiện thuận lợi cho quá trình nghiên cứu thực hiện luận án
Xin tri ân PGS TS Dương Tuấn Anh, PGS TS Trần Thành Trai là những
người Thày đã tận tình dẫn dắt tôi suốt quá trình học hỏi, nghiên cứu khoa học, thựchiện những chuyên đề Đặc biệt Thày Dương Tuấn Anh đã truyền thụ cho tôi nhiềukiến thức, phương pháp làm việc, nghiên cứu cho một nghiên cứu sinh để tìm ra
Trang 4được những đóng góp của luận án.
Xin cảm ơn GS TS Yual Shahar, M.D., Ph.D, Professor of Medicine and
Computer Science Stanford Medical Informatics Medical School Office BuildingX215, 251 Campus Drive Stanford University Standford, CA 94305-5479, và GS
TS Hồ Tú Bảo, School of Knowledge Science, Japan Advanced Institute of Scienceand Technology, đã cung cấp tài liệu và cho nhiều ý kiến qúi báu giúp hoàn thiệnluận án
Chân thành cảm ơn Ban Giám Đốc Bệnh viện Ung Bướu TP.HCM đã tiếp
nhận, tạo điều kiện cho phép tôi được tìm hiểu những dữ liệu của bệnh nhân về
bệnh ung thư, và được ThS BS Nguyễn Đức Bảo và quí Bác sĩ của Phòng Chỉ Đạotuyến của Bệnh viện đã hướng dẫn, giải thích cho tôi thu thập được những dữ liệutrên những bệnh án, để thực hiện ứng dụng trong luận án
CSDLTG : cơ sở dữ liệu hướng thời gian
CEA : CarcinoEmbryonic Antigen: chất đánh dấu sinh học tốt nhất cho bệnh Ungthư đại trực tràng
Câu PS: câu-có-khuôn-mẫu
Hệ thống KBTA: hệ thống khung thức tổng quát KBTA
KBTA : Knowledge-based temporal abstraction
RBTV : ràng buộc toàn vẹn
Trang 5RBTVTG : tính toàn vẹn của dữ liệu ràng buộc theo thời gian
TYTG : trích yếu thời gian
iii
MỤC LỤC
MỞ ĐẦU
1
Chương 1 TỔNG QUAN ……… 3
1.1 Phân tích, đánh giá một số công trình đi trước ……… 3
1.1.1 Mô hình dữ liệu thời gian ……… 3
1.1.2 Ngôn ngữ truy vấn thời gian ……… 6
1.1.3 Tính toàn vẹn của dữ liệu ràng buộc theo thời gian ……… 8
1.1.4 Trích yếu thời gian trên cơ sở dữ liệu thời gian ……… 12
1.2 Những vấn đề nghiên cứu của luận án ……… 16
1.2.1 Mô hình dữ liệu thời gian và ngôn ngữ truy vấn thời gian … 16
1.2.2 Ràng buộc toàn vẹn thời gian ………
17 1.2.3 Trích yếu thời gian ……… …
18 1.3 Tổ chức của luận án ……… 19
Chương 2 CƠ SỞ LÝ THUYẾT ……… 20
2.1 Một số thuật ngữ ……… 20
2.2 Thời gian hợp lệ trong mô hình dữ liệu thời gian ……… 22
2.3 Bảng dữ liệu trạng thái, bảng dữ liệu biến cố và khoảng thời gian 22 2.4 Những phép toán trên khoảng thời gian ……… 23
Trang 62.4.1 Phép so sánh khoảng ……….
24 2.4.2 Phép hội (UNION) ……… 26
2.4.3 Phép giao (INTERSECT) ……… 26
2.4.4 Phép trừ (MINUS) ……… 26
2.4.5 Phép toán fold ……… 26
2.4.6 Phép toán unfold ………
28 2.5 Sự chuẩn hoá thời gian ……… 28
2.5.1 Tính chất đồng bộ và phụ thuộc thời gian ……… 29
2.5.2 Sự chuẩn hoá thời gian ……… 31
2.6 Sự cần thiết chuẩn hoá thời gian ……… 32
2.7 Vấn đề thời gian bất định trong CSDLTG ……… 33
2.7.1 Tính bất định ……… 33
2.7.2 Mở rộng ngữ nghĩa ……… 34
2.8 Ngôn ngữ truy vấn thời gian ……… 36
2.8.1 Đại số quan hệ ……… 36
2.8.2 Đại số quan hệ thời gian ……… 36
2.8.3 Chuyển đại số quanhệ thời gian thành đại số quan hệ …… 37
2.8.4 Tiểu ngôn ngữ truy vấn thời gian SubTSQL ……… 37
2.9 Tóm tắt chương ……… 37 iv
Chương 3 TÍNH TOÀN VẸN CỦA DỮ LIỆU RÀNG BUỘC THEO
40
Trang 7THỜI GIAN
3.1 Đồ thị chuyển trạng thái biểu thị RBTVTG ……… 413.1.1 Định nghĩa 1 (Đồ thị chuyển trạng thái ) ……… 423.1.2 Định nghĩa 2 (Thoả mãn nhãn trên cạnh của đồ thị)………
44
3.1.3 Định nghĩa 3 (Dãy chuyển trạng thái) ………
45
3.1.4 Định nghĩa 4 (Ràng buộc theo thứ tự thời gian) ……… 45
3.1.5 Định nghĩa 5 (Ràng buộc trên qui luật nghiệp vụ) ………… 46
3.1.6 Định nghĩa 6 (Ràng buộc trên dãy chuyển trạng thái) …… 47
3.2 Xây dựng những thủ tục kiểm tra RBTVTG ……… ……… 473.2.1 Những trạng thái được lặp lại trong dãy chuyển trạng thái … 49
3.2.2 Kiểm tra RBTVTG trên đồ thị chuyển trạng thái ……… 573.3 Xây dựng đồ thị chuyển trạng thái từ đặc tả ràng buộc toàn vẹn 573.3.1 Cú pháp và ngữ nghĩa của PS ………
Trang 83.4.1 RBTVTG và qui luật nghiệp vụ ………
3.6.1 So sánh hướng tiếp cận của luận án với hướng tiếp cận của 74
Gertz
3.6.2 Đánh giá chi phí bằng thực nghiệm ………
76
3.7 Tóm tắt chương ……….77
Chương 4 TRÍCH YẾU THỜI GIAN TRONG CƠ SỞ DỮ LIỆU THỜI 79 GIAN
4.1 Những phương pháp suy diễn và những tri thức cần thiết ………
80
4.1.1 Những phương pháp suy diễn và cơ chế………
80
Trang 94.1.2 Những tri thức cần thiết cho trích yếu thời gian ……… 84
4.2 Cơ sở tri thức cho trích yếu thời gian ……… 84
4.2.1 Một số tính chất của luật suy diễn ……… 84
4.2.2 Tính an toàn (safe) của luật ……… 86
4.2.3 Luật suy diễn thời gian trên cơ sở dữ liệu thời gian ……… 87
4.2.4 Ngôn ngữ trích yếu thời gian TAR (Temporal-Abstraction Rules) 88 4.2.5 Luật TYTG theo chiều ngang dùng cơ chế suy diễn thời 90 gian 4.2.6 Luật TYTG theo chiều dọc dùng cơ chế trích yếu đồng thời 91 4.2.7 Luật TYTG theo nội suy thời gian dùng cơ chế nội suy thời 92 gian v 4.2.8 Luật TYTG không có cơ chế trích yếu thời gian …………
93 4.3 Trích yếu thời gian trên đồ thị suy diễn ……… 94
4.3.1 Đồ thị suy diễn ………
94 4.3.2 Hướng tiếp cận trích yếu thời gian trên đồ thị suy diễn ……
97
4.3.3 Xây dựng thủ tục trích yếu thời gian trên đồ thị suy diễn …
99
Trang 104.4 Phân rã dữ liệu theo thời gian để chuẩn bị TYTG ……… 103
4.4.1 Thủ tục phân rã dữ liệu ……… 1044.4.2 Phân tích độ phức tạp của giải thuật phân rã dữ liệu ……… 1044.4.3 Một ví dụ phân rã dữ liệu ……… 1054.5 Ứng dụng trích yếu thời gian ……… 108
4.5.1 Xây dựng luật suy diễn trong ứng dụng ………
4.6.2 Tích hợp TYTG với quản lý dữ liệu thời gian vào một kiến
Trang 114.7.1 Chi phí TYTG của luận án bằng thực nghiệm ………
122 4.7.2 Chi phí của hệ thống RÉSUMÉ của Shahar và IDAN của 124 Boaz 4.8 Tóm tắt chương ………
125 Chương 5 NHỮNG KẾT QUẢ VÀ BIỆN LUẬN 127 5.1 Kết quả của chương 3 ………
127 5.2 Kết quả của chương 4 ………
128 5.3 Kết quả của chương 5 ………
130 5.4 Hướng phát triển của luận án ………
133 KẾT LUẬN ……… 135
PHỤ LỤC A ………
-1-PHỤ LỤC B ………
-14-PHỤ LỤC C ……….
-27-PHỤ LỤC D ……….
Trang 14
Hình 1.1.4a: Trình bày tổng quát phương pháp KBTA………
Trang 15Hình 2.5.2:Phân rã Sal-Mgr thành Tmanager và Tsalary ……… 31
Hình 3.1.1 :Đồ thị chuyển trạng thái T ……… 42
Hình 3.1.2 : Nhãn trên cạnh của đồ thị ……….44
Hình 3.1.4 : Ràng buộc theo thứ tự thời gian ……… ……….44
Hình 3.1.5 : Đồ thị chuyển trạng thái , s1 là thái đầu ……… 46
Hình 3.2.1a : Đồ thị chuyển trạng thái có s1: đỉnh khởi đầu, s4: đỉnh48
Hình 3.2.2c : Những thủ tục con của thủ tục Inserting ………52
Hình 3.2.2d : Những hàm cho thủ tục Inserting ………53
Trang 16Hình 3.2.2e : Xoá thể hiện của đối tượng tại s3 ……….53
Hình 3.2.2f : Xoá đối tượng O có giá trị x tại một đỉnh của đồ thị 54
Hình 3.2.2g : Thủ tục Deleting(O, n, x) ……… 55
Hình 3.2.2h : Thủ tục Updating (O, n, x )………56
Hình 3.3.2a : Đồ thị chuyển trạng thái có nhãn l3 mâu thuẫn … 60
Hình 3.3.2b : Đồ thị chuyển trạng thái tương ứng với PS trong ví dụ63
3.3.2b
Hình 3.3.3a : Thủ tục check_state_label (L, V) ………65
Hình 3.3.3b : Thủ tục contradictory_label(TS)……… 65
Hình 3.3.3c : Thủ tục object_passed (V, TS) ……… 66
Hình 3.3.3d : Thủ tục double_label(TS) ………66
Hình 3.3.3e : Thủ tục non_transfer(TS) ………66
Hình 3.3.3f : Thủ tục check_ label (L, TS)………
Trang 17Hình 3.4.3 : Đồ thị chuyển trạng thái mô tả RBTVTG trên chu kỳ sống 71của đối tượng.
Hình 3.6 :Thời gian kiểm tra RBTVTG ứng với số mẩu tin trong CSDL76
Trang 18Hình 4.1.1d : Những giá trị điểm thời gian từ T1 đến T6 được trích83
yếu theo nội suy thời gian
Hình 4.1.1e : Phương pháp suy diễn so trùng mẫu thời gian ……84
Hình 4.2.1 : Đồ thị phụ thuộc của tập luật suy diễn……….86
Hình 4.2.5 : Luật TAR, TYTG theo chiều ngang ……….90
Hình 4.2.6 : Luật TAR, TYTG theo chiều dọc ……….91
Hình 4.2.7 : Luật TAR, TYTG theo phương pháp nội suy thời gian93
Hình 4.2.8 : Luật chuyển đổi giá trị định lượng thành giá trị định tính94
Hình 4.3.1 : Những luật suy diễn theo nội suy thời gian …………96
Hình 4.3.3a : Thủ tục data_retrieve ……… 100
Hình 4.3.3b : Thủ tục data_inference ……… 101
Hình 4.3.3c : Thủ tục temp_abstraction………102
Hình 4.4.1 : Thủ tục phân rã dữ liệu ………
Trang 19Hình 4.7.1b : Kết quả thực nghiệm cho TYTG tương ứng với số mẩu 124
tin của đối tượng cần thực hiện TYTG
ix
MỞ ĐẦU
Dữ liệu của những đối tượng trong thế giới thực thay đổi theo thời gian là
một thực tế, và có thể thay đổi với một diễn biến phức tạp Ví dụ đơn giản như: giá
Trang 20bán của một sản phẩm sẽ thay đổi theo thời gian, và người ta cần ghi lại những dữ
liệu thay đổi đó, và gọi chúng là dữ liệu lịch sử (historical data) Loại dữ liệu lịch
sử này hỗ trợ rất nhiều cho những quyết định trong kinh doanh, sản xuất… Một ví
dụ khác: dữ liệu về chuẩn đoán, điều trị bệnh cho bệnh nhân trong những loại bệnhnặng, phải điều trị, theo dõi diễn biến bệnh trong thời gian dài, và trong thời giannày bệnh có nhiều thay đổi, qua nhiều trạng thái phức tạp Người thầy thuốc trướckhi quyết định điều trị cho bệnh nhân cần biết những dữ liệu điều trị, chuẩn đoán,
và diễn biến của bệnh trong những lần trước đó Những dữ liệu này hỗ trợ tốt chothầy thuốc khi ra quyết định điều trị bệnh Ngoài vấn đề điều trị, từ dữ liệu lịch sử
có thể tìm ra những thông tin hỗ trợ cho việc nghiên cứu, tìm ra phương pháp chữabệnh hữu hiệu, đặc biệt là những bệnh nặng Do vậy, vấn đề cần đặt ra là xây dựngmột cơ sở dữ liệu để thực hiện được việc quản lý, thao tác, truy xuất, trích yếu thờigian trên những dữ liệu lịch sử của những đối tượng trong thế giới thực Cơ sở dữ
liệu cho những dữ liệu lịch sử được gọi là cơ sở dữ liệu hướng thời gian
(CSDLTG) Mô hình dữ liệu thời gian (temporal data model) đã được nhiều tác giảnghiên cứu từ hai mươi năm qua và đã có nhiều ứng dụng [37],[50] như:
- Tài chính: kế toán, quản lý vốn đầu tư, ngân hàng, quản lý kho
- Lịch biểu : hàng không, hỏa xa, khách sạn
- Quản lý dự án và dự báo thời tiết
- Quản lý nhân sự, chăm sóc sức khỏe, điều trị bệnh
Hiện tại, có những ứng dụng trong y khoa trên mô hình dữ liệu thời gian,
điển hình như một nhóm khoảng 50 người nghiên cứu tại khoa y của đại học
Stanford, Hoa kỳ Họ đã nghiên cứu vấn đề này trong nhiều năm qua, đưa ra nhiềubài báo [3],[9],[10],[11], và đạt được kết quả tốt trong việc chăm sóc sức khỏe, điều
Trang 21trị những bệnh nặng, mãn tính và một số ứng dụng khác ngoài lãnh vực y khoa Đã
1
-có những bệnh viện mà hồ sơ bệnh án được lưu trữ theo thời gian trên máy tính(Electronic Medical Records) và có thể bệnh nhân được khám bệnh, điều trị từ xa,thông qua dữ liệu lịch sử đã lưu, và những dữ liệu chuẩn đoán mới của bệnh nhânnhư: số đo bằng thiết bị y khoa, hình ảnh, triệu chứng … được lấy từ một trung tâmchuẩn đoán gần họ nhất Sau đó, dữ liệu được truyền tải đến bệnh viện chuyênkhoa lớn, tín nhiệm có nhiều chuyên gia qua mạng máy tính Bệnh nhân sẽ nhậnđược kết quả chuẩn đoán và cách điều trị từ bệnh viện này, và hơn nữa những dữliệu lịch sử này được dùng để chăm sóc sức khỏe trong tương lai cho họ [23].Xuất phát từ những thực tiễn đó, dẫn chúng tôi đi đến nghiên cứu CSDLTG
bằng cách dựa trên những kết quả do nhiều nhà nghiên cứu đi trước để nghiên cứumột cơ sở lý thuyết về nó, và trên cơ sở này có thể phát triển những ứng dụng.Chúng tôi chọn đề tài “RÀNG BUỘC TOÀN VẸN VÀ TRÍCH YẾU THỜI GIANTRONG CƠ SỞ DỮ LIỆU HƯỚNG THỜI GIAN VÀ ỨNG DỤNG” Chọn ứngdụng trên bệnh ung thư, vì đối với loại bệnh này, bệnh nhân cần được phát hiệnsớm, chữa trị kịp thời và thời gian theo dõi điều trị bệnh là khá dài, thường là từ 5năm trở nên kéo theo khối lượng dữ liệu lịch sử điều trị, theo dõi là lớn, và phảidựa trên dữ liệu này, để thầy thuốc theo dõi, quyết định điều trị cũng như kết luậnbình phục
Ý nghĩa thực tiễn của đề tài nghiên cứu là trên cơ sở lý thuyết của CSDLTG, cóthể xây dựng một chương trình ứng dụng Người thầy thuốc có thể dễ dàng đặt câutruy vấn truy xuất hay trích yếu dữ liệu thời gian về một bệnh nhân cụ thể trongmột khoảng thời gian tùy ý, để lấy thông tin hỗ trợ cho quyết định điều trị Đồng
Trang 22thời, chương trình vẫn được cập nhật dữ liệu lịch sử của những bệnh nhân Theothời gian, khối lượng dữ liệu thời gian càng ngày càng tăng, chúng là tài nguyênquí giá, cho phép khai phá dữ liệu, tìm được tri thức mới, hỗ trợ cho việc nghiêncứu tìm ra những nguyên nhân, những diễn biến của bệnh để có biện pháp chữa trịđúng, kịp thời và nhất là tìm ra những phương pháp mới để điều trị bệnh đạt hiệuquả cao.
2
-CHƯƠNG 1
TỔNG QUAN
Chương này, thứ nhất điểm qua các công trình nghiên cứu của một số tác giả
đi trước có liên quan đến luận án, qua đó, tiếp thu được những khái niệm, ý
tưởng làm nền tảng cho việc nghiên cứu, đồng thời nghiên cứu, tìm ra được
những điều có thể đóng góp thêm Thứ hai là trình bày những hướng tiếp cậncủa luận án để giải quyết một số vấn đề mà luận án tập trung nghiên cứu
1.1 Phân tích, đánh giá một số công trình đi trước
Trong phần này, luận án phân tích một số hướng tiếp cận của một số tác giả
đã nghiên cứu về những vấn đề:
- Mô hình dữ liệu thời gian (temporal data model)
- Ngôn ngữ truy vấn thời gian (temporal query language)
- Tính toàn vẹn của dữ liệu ràng buộc theo thời gian (temporal integrity
constraint)
- Trích yếu thời gian (temporal abstraction) trên CSDLTG
1.1.1 Mô hình dữ liệu thời gian
Có khoảng hơn hai mươi mô hình dữ liệu thời gian đã được nghiên cứu đề
Trang 23xuất trong hơn mười lăm năm qua Hầu hết trong chúng là những mô hình chỉ có
thời gian hợp lệ (valid-time) Một số mô hình khác chỉ có thời gian giao tác
(transaction-time), ý nghĩa thuật ngữ “thời gian hợp lệ” và “thời gian giao tác” đượctrình bày trong chương 2, mục 2.1” Có vài mô hình có cả thời gian hợp lệ và thời
gian giao tác gọi là song thời gian (bitemporal) Trong [36] đã liệt kê những mô
hình dữ liệu thời gian đã được đề xuất, như bảng 1.1.1a
Ngoài vấn đề khác nhau về loại thời gian (thời gian hợp lệ, thời gian giao tác,
song thời gian), thì những mô hình đang tồn tại này được phân thành hai hướng tiếp
cận khác nhau: 1) Nhãn thời gian (timestamping) đặt trên những giá trị của thuộc
3
-Bảng 1.1.1a: Những mô hình dữ liệu thời gian
Mô hình dữ liệu thời gian
Chiều thời gian
Trang 26• Mô hình của Lorentzos
Mô hình của Lorentzos là mô hình chỉ có thời gian hợp lệ, ông mở rộng mô
hình dữ liệu quan hệ để ứng dụng trong những CSDL có thời gian hợp lệ, nhãn thờigian được gán trên giá trị của thuộc tính, và dùng khoảng thời gian để ghi thời gianhợp lệ có chu kỳ với những độ mịn (granularity) thời gian khác nhau trong cùng
một quan hệ, (ý nghĩa về độ mịn thời gian, thời gian hợp lệ có thể xem trong chương 2)
Ví dụ như quan hệ Phien_truc, trong bảng 1.1.1b, ghi lại ngày và giờ của từng nhânviên được phân công trực với hai độ mịn thời gian là ngày và giờ ứng với giá trị củathuộc tính
Bảng 1.1.1b: Bảng Phien_truc
MANV
Trang 27Trong quan hệ trên mỗi mã nhân viên liên kết với giá trị của những thuộc
tính NGAY và GIO, với độ mịn của NGAY là từng ngày và của GIO là từng giờ.Nói cách khác MANV có giá trị thay đổi theo thời gian là ngày và giờ thì nhữnggiá trị thay đổi này được đặt trong hai cột NGAY và GIO, liên kết với MANV theotừng bộ trong quan hệ
• Mô hình của Navathe
Mô hình này cũng là mô hình chỉ có thời gian hợp lệ Nó cho phép CSDLTG
chứa những quan hệ có dữ liệu thay đổi và không thay đổi theo thời gian (cũng gọi
là quan hệ tĩnh)
Một CSDLTG được định nghĩa như là hội của hai tập quan hệ, một là tập
quan hệ tĩnh Rs, hai là tập Rt gồm những quan hệ có dữ liệu thời gian Mỗi quan hệ trong Rt có hai thuộc tính bắt buộc để ghi giá trị thời gian là: Ts ghi giá trị thời gian bắt đầu và Te ghi giá trị thời gian kết thúc Ví dụ: thuộc tính BACLUONG của
Trang 281.1.2 Ngôn ngữ truy vấn thời gian
Mỗi mô hình dữ liệu thời gian thường đưa ra một ngôn ngữ truy vấn thời
gian để thao tác, truy vấn dữ liệu thời gian Đã có một số ngôn ngữ truy vấn được
đề xuất và được nói đến trong [68] theo thứ tự thời gian như: Legol 2.0 năm 1979,TRM năm 1982, Tquel năm 1985, TempSQL năm 1985, HTQUEL năm 1985,
Hquel năm 1986, TSQL năm 1986, TOSQL năm 1986, HSQL năm 1990 Phần sauđây điểm lại một số ngôn ngữ truy vấn từ năm 1990 đến nay, trong đó có nhữngngôn ngữ đã đề xuất trước năm 1990, nhưng được tác giả mở rộng thêm sau năm
1990 như: ngôn ngữ TSQL của S B Navathe và Ahmed, năm 1993 [47], ngôn ngữHSQL của N L Sarda, năm 1993 [55], ngôn ngữ TSQL2 của Snodgrass, năm 1995
Trang 29[63] Sau đó, năm 1996, TSQL2 [37],[63] được mở rộng thành ngôn ngữ SQL3[14],[64],[68] và vào năm 1998, dựa trên SQL3, Andreas Steiner đã đề xuất ngônngữ ATSQL2 [66],[68] Những ngôn ngữ trên đều dựa trên ngôn ngữ SQL chuẩn,đưa thêm vào yếu tố thời gian để mở rộng thành ngôn ngữ truy vấn thời gian.
● Ngôn ngữ TSQL: Ngôn ngữ này thêm vào SQL chuẩn mệnh đề WHEN để mô tả
điều kiện giữa những khoảng thời gian, mệnh đề TIME-SLICE mô tả khoảng thờigian cần vấn tin và mệnh đề MOVING WINDOW mô tả chiều dài thời gian (ví dụnhư ngày 6 tháng 2 năm …) trong khoảng thời gian đã mô tả trong TIME-SLICE.Ngôn ngữ này chỉ trình bày phần truy vấn truy xuất dữ liệu, không trình bày phầntruy vấn định nghĩa dữ liệu
● Ngôn ngữ HSQL: Ngôn ngữ này, trong định nghĩa dữ liệu, thêm mệnh đề mới
BASE-TABLE-DEF để định nghĩa những bảng dữ liệu thời gian gồm bảng biến cố
6
-hay bảng trạng thái, mệnh đề GRANULARITY-DEF để định nghĩa độ mịn thờigian (ý nghĩa: độ mịn thời gian, bảng biến cố, bảng trạng thái, xem mục 2.1, 2.2trong chương 2) Trong câu truy vấn truy xuất dữ liệu thời gian có những từ khoá,mệnh đề mới được thêm vào, ví dụ như: từ khoá COALESCED (tương tự phép toánfold trong mục 2.4.5 của chương 2), từ khoá CONCURRENT chỉ ra tích đồng thời(concurrent product) thay cho tích đề-các của những quan hệ, từ khoá HISTORYđặt trước tên bảng trong mệnh đề FROM để chỉ ra bảng đó có dữ liệu thời gian,mệnh đề FROMTIME … TOTIME chỉ ra khoảng thời gian cần vấn tin
● Ngôn ngữ TSQL2: nó có khả năng rộng hơn những ngôn ngữ được trình bày ở
trên, do tác giả đã tổng hợp 9 ngôn ngữ truy vấn đã đề xuất trước đó như: Legol,TOSQL, TSQL, HSQL, Tquel, TempSQL, Hquel, HTQUEL, và TRM [68]
Trang 30TSQL2 cho phép truy xuất, cập nhật, và định nghĩa dữ liệu Một số từ khoá mớiđược thêm vào trong câu truy vấn (chi tiết hơn xem trong [64]), ví dụ như từ khoáVALID để chỉ ra câu truy vấn có yếu tố thời gian và ngược lại là
NONSEQUENCED Đặc biệt, các tác giả cũng trình bày phương pháp chuyển đổi
từ một câu truy vấn thời gian thành câu truy vấn SQL thông thường trên cơ sở:
chuyển đổi đại số quan hệ thời gian thành đại số quan hệ truyền thống
Ngôn ngữ TSQL và HSQL đã đưa ra được những khái niệm dựa trên nền
tảng đại số quan hệ là một cơ sở vững chắc cho việc xây dựng câu truy vấn, nhữngmệnh đề hay từ khoá mới trong câu lệnh, gợi được ngữ nghĩa thời gian cần truyvấn Tuy nhiên ngôn ngữ được trình bày ở mức lý thuyết, chưa có cài đặt Ngônngữ TSQL2 cũng được xây dựng trên cơ sở lý thuyết của đại số quan hệ, nhưng nóbao hàm những đặc điểm của một ngôn ngữ truy vấn thời gian, có tính hệ thốngchặt chẽ và rõ ràng, nhưng chưa được cài đặt
● Ngôn ngữ ATSQL2 [66], [67]: do Andreas Steiner và công ty TimeConsul
Product cài đặt dựa trên lý thuyết của TSQL2, được công bố từ năm 1999, và ở thờigian này ATSQL2 chỉ hỗ trợ câu truy vấn có thời gian hợp lệ ATSQL2 được tiếptục nâng cấp qua nhiều phiên bản cho đến ngày nay, và hỗ trợ song thời gian baogồm thời gian hợp lệ và thời gian giao tác, Hướng tiếp cận của ATSQL2 là thiết kế
7
-tầng trung gian để nó có thể thực hiện truy vấn trên hệ quản trị CSDL quan hệ
Oracle, mà không phải là một hệ quản trị CSDL thời gian
● Hệ thống truy vấn thời gian Chronus II [50], [52]: do Martin J.O’Connor và
những đồng sự (năm 2002) đề xuất một hệ thống truy vấn thời gian có tên là
Chronus II Họ mô tả ngữ nghĩa của phép kết thời gian khác với phép kết nối
Trang 31thông thường trong những bảng không có dữ liệu thời gian, và ứng dụng vào việcthực hiện những câu truy vấn thời gian trên nhiều bảng có yếu tố thời gian trong cơ
sở dữ liệu bệnh viện Chronus phát triển để những câu truy vấn hỗ trợ được cho việc
ra quyết định điều trị trong khoa y của trường đại học Stanford
1.1.3 Tính toàn vẹn của dữ liệu ràng buộc theo thời gian
Tính
toàn
vẹn của dữ liệu ràng buộc theo thời gian, gọi tắt là ràng buộc toàn
vẹn thời gian (RBTVTG) phải đặt ra khi có những thao tác cập nhật dữ liệu thờigian Có một số tác giả [12],[17],[18],[29],[30],[42],[43] đã nghiên cứu về vấn đềnày Sau đây lược qua hai hướng tiếp cận mà luận án quan tâm
1) Hướng tiếp cận của Chomicki [16],[17],[18],[19]
Chomicki trình bày phương pháp về RBTVTG, được gọi là History-less
Phương pháp này khi thực hiện kiểm tra RBTVTG, không cần kiểm tra trên toàn bộ
dữ liệu thời gian, mà chỉ cần kiểm tra trên một số dữ liệu cần thiết được đặt trongnhững quan hệ bổ trợ (auxiliary relation) Những quan hệ bổ trợ được sinh ra mộtcách tự động khi RBTVTG được định nghĩa
Mỗi RBTVTG được mô tả bằng những công thức PastTL Sau đó chuyển
thành logic bậc nhất FOL (First-order-logic) chứa những quan hệ bổ trợ
Gọi F là công thức PastTL, mỗi công thức con α của F thì được thay bằng quan hệ
Trang 32D i biểu thị trạng thái của CSDLTG ở thời điểm i.
A since B là đúng trong trạng thái D i, nếu B đúng trong trạng thái D k, với mọi
0 ≤ k <i, và với mọi k <j ≤ i, A đúng trong D j-1.
• A là đúng trong D i, nếu i > 0 và A đúng trong D i-1
Quan hệ rα được định nghĩa như bảng 1.1.3a Những chỉ số 0, n, n-1 trong biểu thị
trạng thái thích hợp của cơ sở dữ liệu và cơ sở dữ liệu có n+ 1 trạng thái, tính từ chỉ
số 0 đến n
Ví dụ : Xem một ràng buộc: “không nhân viên (emp) nào được nhận làm việc lại,
sau khi họ đã nghỉ việc”
Ràng buộc (RB) được mô tả bằng PastTL như
RB : ¬(∃x) (emp(x) ∧ ♦ (¬emp(x) ∧ •emp(x)))
(■), (♦) và • A: là những kết nối thời gian, có nghĩa: luôn luôn trong quá khứ (always
in past), một thời điểm nào trong quá khứ và thời gian trước A.
RB được xem như PastTL ở mức gốc, và có hai công thức con α1 và α2
α1 = ♦¬emp(x) ∧ • emp(x)
Trang 33Hướng tiếp cận về RBTVTG của Chomicki tương tự như ràng buộc toàn vẹn
không có thời gian, để giải quyết yếu tố thời gian Phương pháp đưa ra quan hệ bổtrợ, điều này giảm được chi phí trong kiểm tra RBTVTG và đây là điểm nổi bật vềcách tiếp cận RBTVTG của Chomicky Tuy nhiên phương pháp này không hỗ trợcho việc theo dõi diễn biến chu trình sống của đối tượng, do đó khó có thể mở rộng
để dùng cho những ứng dụng khác
2) Hướng tiếp cận của Gertz và Lipeck [29],[30].
Gertz và Lipeck áp dụng phương pháp kiểm tra ràng buộc toàn vẹn trong cơ sở
dữ liệu truyền thống, được trình bày trong [42],[43] Để đưa vào ngữ cảnh của cơ sở
Trang 34dữ liệu thời gian, các tác giả dùng logic thời gian (temporal logic) như một ngôn
ngữ chỉ ra ràng buộc, và nhấn mạnh đến vấn đề: những công thức logic thời gian
được chuyển đổi thành đồ thị chuyển trạng thái (transition graphs) Mỗi đồ thị chuyển trạng thái có thể mô tả đầy đủ chu kỳ sống (life cycle) của đối tượng trong
cơ sở dữ liệu (CSDL), tương ứng với RBTVTG Những đỉnh của đồ thị biểu thịnhững thông tin lịch sử của đối tượng để có thể kiểm tra RBTVTG, mỗi đỉnh có vaitrò giống như những quan hệ bổ trợ trong hướng tiếp cận của Chomicki
Ví dụ: Một RBTVTG về vị trí công việc (jobtitle) được phát biểu:
“ Trước khi một nhân viên (employee) là lập trình viên (senior-programer) trởthành một người phát triển phần mềm (software-developer), anh ta phải là một lậptrình viên có thâm niên nhất định nào đó, và một khi đã là người phát triển phầnmềm, anh ta luôn ở vị trí này cho đến khi anh ta nghỉ việc” RBTVTG này có thểtrình bày bằng công thức logic thời gian như sau:
10
-During-existence ( e: EMPLOYEE):
from e.jobtitle < > “undefined” holds
(( sometime e.jobtitle = “senior-programmer”
before e.jobtitle = “software-developer”)
or (always e.jobtitle < > “software-developer”))
and from e.jobtitle = “software-developer”)) holds
(always e.jobtitle = “software-developer”).
Trong công thức logic thời gian ở trên, thì cụm từ e.jobtitle < > “undefined”
có nghĩa là e chưa được giao một vị trí có chức danh trong cơ quan Đồ thị chuyển
trạng thái trong hình 1.1.3 mô tả chu kỳ sống của những đối tượng là những nhân
Trang 35viên làm việc trong một cơ quan, biến e tham chiếu đến những đối tượng của kiểu
EMPLOYEE là một biến tự do trên đồ thị Đỉnh khởi đầu của đồ thị là đỉnh 0, cácđỉnh còn lại đều có thể là đỉnh kết thúc Những từ in đậm được xem là những từ
khoá trong công thức logic thời gian During-existence (e: EMPLOYEE) là một ràng buộc trên biến tự do e khi e tồn tại, from … holds, sometime, before, always
là những lượng từ thời gian có giới hạn, chi tiết hơn, xem trong [28],[42]
Hướng tiếp cận RBTVTG do Gertz và Lipeck đưa ra dùng đồ thị chuyển
trạng thái Đỉnh của đồ thị chuyển trạng thái có vai trò như quan hệ bổ trợ tronghướng tiếp cận của Chomicki, nghĩa là nó lưu trữ những thông tin cần thiết chokiểm tra RBTVTG lịch sử Cấu trúc đồ thị cho phép dễ dàng xây dựng những thuậttoán với chi phí thấp để kiểm tra RBTVTG là một ưu điểm của hướng tiếp cận này
Hình 1.1.3 : Đồ thị chuyển trạng thái (phỏng theo ví dụ trong [29])
Về nội dung hướng tiếp cận này đã đưa ra RBTVTG là quá trình chuyển
trạng thái của đối tượng trong CSDL, và có thể giải quyết những trường hợp chuyển
11
Trang 36-trạng thái ở mức cơ bản Thực tế đối tượng trong thế giới thực có chuyển -trạng tháiphức tạp, không chỉ theo một trình tự nhất định, hơn nữa qui luật chuyển trạng tháicũng có thể thay đổi theo thời gian.
1.1.4 Trích yếu thời gian trên cơ sở dữ liệu thời gian
Trích yếu thời gian (temporal abstraction) là rút trích những dữ liệu thô trong
CSDLTG thành những dữ liệu ngắn, gọn có ý nghĩa hơn Công việc này rất có íchtrong việc hỗ trợ con người ra quyết định và có một số tác giả đã nghiên cứu hơnmười năm qua [41] Phần sau đây, lược qua một số hướng hướng tiếp cận trích yếuthời gian, từ năm 1995 đến năm 2005
1) Hướng tiếp cận của Shahar và Musen
Tác vụ trích yếu thời gian
( The temporal-abstraction task)
Tác vụ
Phương pháp
Phương pháp trích yếu thời gian dựa trên tri thức
( The knowledge-based temporal-abstraction method)
giải quyết vấn đề
Hạn chế ngữ
Suy diễn thời
Suy diễn thời
Nội suy thời
Trang 37So trùng mẩucảnh thời giangian theo chiềugian theo chiềugian
Trang 38matching)
Tri thức có
Trang 39Hình 1.1.4a : Trình bày tổng quát phương pháp KBTA Phương pháp thực hiện TYTG
được phân thành năm tác vụ con Mỗi tác vụ có thể được giải quyết bởi một trong năm cơ chế TYTG Cơ chế TYTG yêu cầu bốn kiểu tri thức, tùy theo từng cơ chế mà những tri thức
cụ thể được yêu cầu Kí hiệu:
Trang 40là mối liên kết ĐƯỢC PHÂN CHIA THÀNH;
là mối liên kết ĐƯỢC THỰC HIỆN BỞI ;
là mối liên kết ĐƯỢC SỬ DỤNG BỞI
12
-Những tác giả đã đưa ra một hệ thống khung thức tổng quát KBTA (hệ thống
KBTA), KBTA là từ viết tắt của trích yếu thời gian dựa vào tri thức based temporal abstraction” cho TYTG [4] năm 1995, [58],[59] năm 1996 Hình1.1.4a trình bày hệ thống KBTA, trong đó trình bày những tác vụ, những cơ chế vànhững tri thức cho TYTG
“Knowledge-Họ đã cài đặt hệ thống RÉSUMÉ [60],[61] để TYTG một cách tự động trong
một số bệnh như: theo dõi phát triển của trẻ em, thực hiện ghép tủy xương, và điềutrị bệnh đái đường
Hướng tiếp cận này đưa ra một hệ thống KBTA cho TYTG khá sâu, có thể
làm cơ sở cho xây dựng những hệ thống TYTG trên nhiều lãnh vực không riêng chỉ
là lãnh vực y khoa Những tác giả nghiên cứu về TYTG được trình bày ở dưới đâyđều tham khảo hệ thống KBTA của Shahar Tuy nhiên, trong những bài báo củaShahar, không đề cập đến việc tổ chức dữ liệu thời gian, trước khi thực hiện
TYTG
2) Hướng tiếp cận của W Horn:
W Horn và những đồng tác giả [33] năm 1998, đưa ra TYTG trên thời gian thực,thông qua một ngưỡng định trước, điểm nổi bật của hướng tiếp cận này là đưa ramột phương pháp kiểm tra và sửa chữa dữ liệu của đối tượng, để có dữ liệu hợp lệ,trước khi thực hiện TYTG Những khái niệm được sử dụng để kiểm tra và sửa chữa
dữ liệu bao gồm: kiểm tra miền giá trị dữ liệu (range checking), sử dụng những phụ