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ử đã
Trang 1-
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
Trang 2-
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
2- 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
Trang 3LỜ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ác cô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
Trang 4LỜ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ực hiện những chuyên đề Đặc biệt Thày Dương Tuấn Anh đã truyền thụ cho tôi nhiều kiế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 đượ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 Building X215, 251 Campus Drive Stanford University Standford, CA 94305-5479, và GS
TS Hồ Tú Bảo, School of Knowledge Science, Japan Advanced Institute of Science and Technology, đã cung cấp tài liệu và cho nhiều ý kiến qúi báu giúp hoàn thiện luậ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ỉ Đạo tuyế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ệu trên những bệnh án, để thực hiện ứng dụng trong luận án
Trân Trọng
NCS Phạm văn Chung
Trang 5DANH MỤC CHỮ VIẾT TẮT
CSDL : cơ sở dữ liệu
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 Ung thư đạ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
RBTVTG : 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
Trang 6MỤC LỤC
MỞ ĐẦU
Chương 1 TỔNG QUAN ………
1.1 Phân tích, đánh giá một số công trình đi trước ………
1.1.1 Mô hình dữ liệu thời gian ………
1.1.2 Ngôn ngữ truy vấn thời gian ………
1.1.3 Tính toàn vẹn của dữ liệu ràng buộc theo thời gian ………
1.1.4 Trích yếu thời gian trên cơ sở dữ liệu thời gian ………
1.2 Những vấn đề nghiên cứu của luận án ………
1.2.1 Mô hình dữ liệu thời gian và ngôn ngữ truy vấn thời gian …
1.2.2 Ràng buộc toàn vẹn thời gian ………
1.2.3 Trích yếu thời gian ……… …
1.3 Tổ chức của luận án ………
Chương 2 CƠ SỞ LÝ THUYẾT ………
2.1 Một số thuật ngữ ………
2.2 Thời gian hợp lệ trong mô hình dữ liệu thời gian ………
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 2.4 Những phép toán trên khoảng thời gian ………
2.4.1 Phép so sánh khoảng ………
2.4.2 Phép hội (UNION) ………
2.4.3 Phép giao (INTERSECT) ………
2.4.4 Phép trừ (MINUS) ………
2.4.5 Phép toán fold ………
2.4.6 Phép toán unfold ………
2.5 Sự chuẩn hoá thời gian ………
2.5.1 Tính chất đồng bộ và phụ thuộc thời gian ………
2.5.2 Sự chuẩn hoá thời gian ………
2.6 Sự cần thiết chuẩn hoá thời gian ………
2.7 Vấn đề thời gian bất định trong CSDLTG ………
2.7.1 Tính bất định ………
2.7.2 Mở rộng ngữ nghĩa ………
2.8 Ngôn ngữ truy vấn thời gian ………
2.8.1 Đại số quan hệ ………
2.8.2 Đại số quan hệ thời gian ………
2.8.3 Chuyển đại số quanhệ thời gian thành đại số quan hệ ……
2.8.4 Tiểu ngôn ngữ truy vấn thời gian SubTSQL ………
2.9 Tóm tắt chương ………
1
3
3
3
6
8
12
16
16
17
18
19
20
20
22
22
23
24
26
26
26
26
28
28
29
31
32
33
33
34
36
36
36
37
37
37
Trang 7Chương 3 TÍNH TOÀN VẸN CỦA DỮ LIỆU RÀNG BUỘC THEO
THỜI GIAN
3.1 Đồ thị chuyển trạng thái biểu thị RBTVTG ………
3.1.1 Định nghĩa 1 (Đồ thị chuyển trạng thái ) ………
3.1.2 Định nghĩa 2 (Thoả mãn nhãn trên cạnh của đồ thị)………
3.1.3 Định nghĩa 3 (Dãy chuyển trạng thái) ………
3.1.4 Định nghĩa 4 (Ràng buộc theo thứ tự thời gian) ………
3.1.5 Định nghĩa 5 (Ràng buộc trên qui luật nghiệp vụ) …………
3.1.6 Định nghĩa 6 (Ràng buộc trên dãy chuyển trạng thái) ……
3.2 Xây dựng những thủ tục kiểm tra RBTVTG ……… ………
3.2.1 Những trạng thái được lặp lại trong dãy chuyển trạng thái … 3.2.2 Kiểm tra RBTVTG trên đồ thị chuyển trạng thái ………
3.3 Xây dựng đồ thị chuyển trạng thái từ đặc tả ràng buộc toàn vẹn 3.3.1 Cú pháp và ngữ nghĩa của PS ………
3.3.2 Đặc tả RBTVTG bằng PS ………
3.3.3 Kiểm tra PS hợp lệ ………
3.3.4 Chuyển đổi PS thành đồ thị chuyển trạng thái …………
3.4 Cài đặt RBTVTG ………
3.4.1 RBTVTG và qui luật nghiệp vụ ………
3.4.2 Đặc tả ràng buộc RB bằng PS ………
3.4.3 Chuyển đổi PS thành đồ thị chuyển trạng thái ………
3.4.4 Lược đồ cơ sở dữ liệu và kiểm tra RBTVTG ………
3.5 Tầm quan trọng của RBTVTG 3.6 Biện luận ………
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 Gertz 3.6.2 Đánh giá chi phí bằng thực nghiệm ………
3.7 Tóm tắt chương ………
Chương 4 TRÍCH YẾU THỜI GIAN TRONG CƠ SỞ DỮ LIỆU THỜI GIAN 4.1 Những phương pháp suy diễn và những tri thức cần thiết ………
4.1.1 Những phương pháp suy diễn và cơ chế………
4.1.2 Những tri thức cần thiết cho trích yếu thời gian ………
4.2 Cơ sở tri thức cho trích yếu thời gian ………
4.2.1 Một số tính chất của luật suy diễn ………
4.2.2 Tính an toàn (safe) của luật ………
4.2.3 Luật suy diễn thời gian trên cơ sở dữ liệu thời gian ………
4.2.4 Ngôn ngữ trích yếu thời gian TAR (Temporal-Abstraction Rules)
4.2.5 Luật TYTG theo chiều ngang dùng cơ chế suy diễn thời
gian 4.2.6 Luật TYTG theo chiều dọc dùng cơ chế trích yếu đồng thời
4.2.7 Luật TYTG theo nội suy thời gian dùng cơ chế nội suy thời
gian
40
41
42
44
45
45
46
47
47
49
57
57
57
60
64
67
69
69
70
70
72
72
74
74
76
77
79
80
80
84
84
84
86
87
88
90
91
92
Trang 84.2.8 Luật TYTG không có cơ chế trích yếu thời gian …………
4.3 Trích yếu thời gian trên đồ thị suy diễn ………
4.3.1 Đồ thị suy diễn ………
4.3.2 Hướng tiếp cận trích yếu thời gian trên đồ thị suy diễn ……
4.3.3 Xây dựng thủ tục trích yếu thời gian trên đồ thị suy diễn … 4.4 Phân rã dữ liệu theo thời gian để chuẩn bị TYTG ………
4.4.1 Thủ tục phân rã dữ liệu ………
4.4.2 Phân tích độ phức tạp của giải thuật phân rã dữ liệu ………
4.4.3 Một ví dụ phân rã dữ liệu ………
4.5 Ứng dụng trích yếu thời gian ………
4.5.1 Xây dựng luật suy diễn trong ứng dụng ………
4.5.2 Xây dựng đồ thị suy diễn trong ứng dụng ………
4.6 Cài đặt trích yếu thời gian ………
4.6.1 Tổ chức cơ sở dữ liệu ………
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 trúc đơn 4.6.3 Kiến trúc của hệ thống TDM ………
4.6.4 Ví dụ câu truy vấn TYTG ………
4.7 Phân tích TYTG dựa vào thực nghiệm ………
4.7.1 Chi phí TYTG của luận án bằng thực nghiệm ………
4.7.2 Chi phí của hệ thống RÉSUMÉ của Shahar và IDAN của Boaz 4.8 Tóm tắt chương ………
Chương 5 NHỮNG KẾT QUẢ VÀ BIỆN LUẬN 5.1 Kết quả của chương 3 ………
5.2 Kết quả của chương 4 ………
5.3 Kết quả của chương 5 ………
5.4 Hướng phát triển của luận án ………
KẾT LUẬN ………
PHỤ LỤC A ………
PHỤ LỤC B ………
PHỤ LỤC C ………
PHỤ LỤC D ………
PHỤ LỤC E ………
CÔNG TRÌNH CỦA TÁC GIẢ ………
TÀI LIỆU THAM KHẢO ………
93
94
94
97
99
103
104
104
105
108
109
114
114
114
115
116
119
122
122
124
125
127
127
128
130
133
135 -1- -14- -27- -31- -45-
A
B
Trang 9Bảng 2.4a: Định nghĩa những phép so sánh trên khoảng
Bảng 2.4b: Minh họa hình học của các phép so sánh khoảng
Bảng 2.5.1a: Quan hệ Employee
Bảng 2.5.1b: Quan hệ Maintenance
Bảng 2.5.1c: Quan hệ Sal-Mgr
Bảng 2.6a: kết quả câu truy vấn thừa thông tin
Bảng 2.6b: Kết quả đúng cho câu truy vấn
Bảng 4.4.3a : Bảng Vertices
Bảng 4.4.3b : Bảng Transition_state
Bảng 4.4.3c : Bảng Labels
Bảng 5.4.3a : Bảng dữ liệu thời gian E của những đối tượng
Bảng 5.4.3b : Bảng Temp ứng với đối tượng P005
Bảng 5.4.3c : Bảng Temp ứng với đối tượng P001
Bảng 5.6.3 : Màn hình giao diện cho trích yếu thời gian
Bảng 5.6.4a : Dữ liệu được truy xuất từ CSDL vào bảng
retrieved-table Bảng 5.6.4b : Kết quả TYTG trên bảng 5.6.3a
Trang 10DANH MỤC HÌNH
Hình 1.1.3: Đồ thị chuyển trạng thái ………
Hình 1.1.4a: Trình bày tổng quát phương pháp KBTA………
Hình 1.1.4b: Những giá trị định tính cho TYTG trên độ đo khí trong máu Hình 1.1.4c: Khung thức khám phá tri thức trong CSDL viêm gan Hình 2.3: Bảng trạng thái drug_treatment và bảng biến cố CEA_value Hình 2.4.5a: Thực hiện phép fold trên thuộc tính Duration………
Hình 2.4.5b: Thủ tục fold ………
Hình 2.5.2:Phân rã Sal-Mgr thành Tmanager và Tsalary ………
Hình 3.1.1 :Đồ thị chuyển trạng thái T ………
Hình 3.1.2 : Nhãn trên cạnh của đồ thị ………
Hình 3.1.4 : Ràng buộc theo thứ tự thời gian ……… ………
Hình 3.1.5 : Đồ thị chuyển trạng thái , s1 là thái đầu ………
Hình 3.2.1a : Đồ thị chuyển trạng thái có s1: đỉnh khởi đầu, s4: đỉnh kết thúc Hình 3.2.1b : Ghi giá trị tần suất t vào bảng dữ liệu Hình 3.2.2a : Minh họa thêm dữ liệu vào đỉnh j ở vị trí liền sau với đỉnh i Hình 3.2.2b : Thủ tục Insertting(O, n, t) ………
Hình 3.2.2c : Những thủ tục con của thủ tục Inserting ………
Hình 3.2.2d : Những hàm cho thủ tục Inserting ………
Hình 3.2.2e : Xoá thể hiện của đối tượng tại s3 ………
Hình 3.2.2f : Xoá đối tượng O có giá trị x tại một đỉnh của đồ thị Hình 3.2.2g : Thủ tục Deleting(O, n, x) ………
Hình 3.2.2h : Thủ tục Updating (O, n, x )………
Hình 3.3.2a : Đồ thị chuyển trạng thái có nhãn l3 mâu thuẫn …
Hình 3.3.2b : Đồ thị chuyển trạng thái tương ứng với PS trong ví dụ 3.3.2b Hình 3.3.3a : Thủ tục check_state_label (L, V) ………
Hình 3.3.3b : Thủ tục contradictory_label(TS)………
Hình 3.3.3c : Thủ tục object_passed (V, TS) ………
Hình 3.3.3d : Thủ tục double_label(TS) ………
Hình 3.3.3e : Thủ tục non_transfer(TS) ………
Hình 3.3.3f : Thủ tục check_ label (L, TS)………
Hình 3.3.4a : Thủ tục chuyển PS thành đồ thị chuyển trạng thái
Hình 3.3.4b : Những thủ tục con của thủ tục PS_to_TransGraph Hình 3.3.4c : Những thủ tục con của thủ tục PS_to_TransGraph (tiếp theo) Hình 3.4.2: PS diễn tả ràng buộc RB ………
Hình 3.4.3 : Đồ thị chuyển trạng thái mô tả RBTVTG trên chu kỳ sống
của đối tượng
Hình 3.6 :Thời gian kiểm tra RBTVTG ứng với số mẩu tin trong CSDL
11
12
14
15
23
27
28
31
42
44
44
46
48
49
50
52
52
53
53
54
55
56
60
63
65
65
66
66
66
67
68
68
69
70
71
76
Trang 11Hình 4.1.1a : Phương pháp hạn chế ngữ cảnh dùng cơ chế hình
thành ngữ cảnh
Hình 4.1.1b : Suy diễn theo chiều dọc dùng cơ chế trích yếu đồng thời Hình 4.1.1c : Suy diễn theo chiều ngang bằng cơ chế suy diễn thời gian Hình 4.1.1d : Những giá trị điểm thời gian từ T1 đến T6 được trích 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 ……
Hình 4.2.1 : Đồ thị phụ thuộc của tập luật suy diễn………
Hình 4.2.5 : Luật TAR, TYTG theo chiều ngang ………
Hình 4.2.6 : Luật TAR, TYTG theo chiều dọc ………
Hình 4.2.7 : Luật TAR, TYTG theo phương pháp nội suy thời gian Hình 4.2.8 : Luật chuyển đổi giá trị định lượng thành giá trị định tính Hình 4.3.1 : Những luật suy diễn theo nội suy thời gian …………
Hình 4.3.3a : Thủ tục data_retrieve ………
Hình 4.3.3b : Thủ tục data_inference ………
Hình 4.3.3c : Thủ tục temp_abstraction………
Hình 4.4.1 : Thủ tục phân rã dữ liệu ………
Hình 4.4.3a : Đồ thị chuyển trạng thái TS cho ví dụ phân rã dữ liệu Hình 4.4.3b : Kết quả phân rã dữ liệu ………
Hình 4.5 : Đồ thị suy diễn cho bệnh ung thư đại trực tràng ……
Hình 4.6.1 : Những quan hệ trong tổ chức cơ sở dữ liệu………
Hình 4.6 : Kiến trúc của hệ thống TDM ………
Hình 4.6.4a : Dữ liệu của đối tượng P00975 ………
Hình 4.6.4b : Kết quả của một câu truy vấn TYTG ………
Hình 4.7.1a : Kết quả thực nghiệm cho TYTG tương ứng với kích
thước của CSDL
Hình 4.7.1b : Kết quả thực nghiệm cho TYTG tương ứng với số mẩu
tin của đối tượng cần thực hiện TYTG
81
81
82
83
84
86
90
91
93
94
96
100
101
102
104
106
107
113
115
117
120
122
123
124
Trang 12MỞ ĐẦ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á bá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ệnh nặ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 gian nà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ước khi 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 cho thầ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ữa bệ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ựng mộ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ời gian 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ều bà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 trị 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 Đã
Trang 13có 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ân như: số đo bằng thiết bị y khoa, hình ảnh, triệu chứng … được lấy từ một trung tâm chuẩn đoán gần họ nhất Sau đó, dữ liệu được truyền tải đến bệnh viện chuyên khoa 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ứu mộ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 GIAN TRONG CƠ SỞ DỮ LIỆU HƯỚNG THỜI GIAN VÀ ỨNG DỤNG” Chọn ứng dụ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ện sớ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ừ 5 nă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ải dự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ận bì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âu truy 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ể trong một khoảng thời gian tùy ý, để lấy thông tin hỗ trợ cho quyết định điều trị Đồng thờ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 Theo thờ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ên quí giá, cho phép khai phá dữ liệu, tìm được tri thức mới, hỗ trợ cho việc nghiên cứ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ệu quả cao
Trang 14CHƯƠ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ận củ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 đề xuấ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” được trì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
Trang 15Bảng 1.1.1a: Những mô hình dữ liệu thời gian
Temporally Oriented Data Model valid-time Ariav, 1986
Historical Data Model valid-time Clifford-1, 1983
Historical Relational Data Model valid-time Clifford-2, 1987
Homogeneous Relational Model valid-time Gadia-1, 1988
Heterogeneous Relational Model valid-time Gadia-2, 1988
* Temporal Relational Model valid-time Lorentzos, 1988
*Temporal relational Model valid-time Navathe, 1989
Time Oriented Data Base Model valid-time Wiederhold, 1975
Trang 16tính (attribute-value) 2) Nhãn thời gian đặt trên những bộ (tuples) Luận án dựa trên hai mô hình của Lorentoz [45] và của Navathe [47] như sau:
• 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ời gian được gán trên giá trị của thuộc tính, và dùng khoảng thời gian để ghi thời gian hợ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ân viê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ủa thuộc tính
Bảng 1.1.1b: Bảng Phien_truc
MANV NGAY GIO
NV001 NV004
d5, d9 d5, d9
h8, h12 h12, h16
Trong 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ững giá trị thay đổi này được đặt trong hai cột NGAY và GIO, liên kết với MANV theo từ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 17MANV thay đổi theo thời gian đựơc ghi trong hai cột Ts và Te của bảng Luong như
5
10
9
20
1.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ững ngô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 [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ôn ngữ 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ời gian 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ần truy 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ố
Trang 18hay bảng trạng thái, mệnh đề GRANULARITY-DEF để định nghĩa độ mịn thời gian (ý nghĩa: độ mịn thời gian, bảng biến cố, bảng trạng thái, xem mục 2.1, 2.2 trong 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án fold 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] TSQL2 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ững mệnh đề hay từ khoá mới trong câu lệnh, gợi được ngữ nghĩa thời gian cần truy vấn Tuy nhiên ngôn ngữ được trình bày ở mức lý thuyết, chưa có cài đặt Ngôn ngữ 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ống chặ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ời gian này ATSQL2 chỉ hỗ trợ câu truy vấn có thời gian hợp lệ ATSQL2 được tiếp tục nâng cấp qua nhiều phiên bản cho đến ngày nay, và hỗ trợ song thời gian bao gồ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ế
Trang 19tầ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 thông thường trong những bảng không có dữ liệu thời gian, và ứng dụng vào việc thự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ời gian 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 trong những quan hệ bổ trợ (auxiliary relation) Những quan hệ bổ trợ được sinh ra một cá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ệ
bổ trợ rα
Với F → F[rα/ α] mà α ∈ {• A, A since B}
Trang 20A, B là những công thức PastTL D0 , D1, , Dn là những trạng thái của CSDLTG,
Di 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 Di, nếu B đúng trong trạng thái Dk, với mọi
0 ≤ k <i, và với mọi k <j ≤ i, A đúng trong Dj-1
• A là đúng trong Di, nếu i > 0 và A đúng trong Di-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
Trang 21để 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ở
dữ 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ó vai trò 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ập trì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ần mề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:
Trang 22During-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
viê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ợ trong hướng tiếp cận của Chomicki, nghĩa là nó lưu trữ những thông tin cần thiết cho kiểm tra RBTVTG lịch sử Cấu trúc đồ thị cho phép dễ dàng xây dựng những thuật toá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
e.jobtitle = “senior-programmer”
e.jobtitle < > “software-developer”
e.jobtitle = “software-developer”
e.jobtitle = “software-developer”
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
0
1
2
Trang 23trạ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ái phứ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ái cũ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ó ích trong việc hỗ trợ con người ra quyết định và có một số tác giả đã nghiên cứu hơn mườ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ếu thời gian, từ năm 1995 đến năm 2005
1) Hướng tiếp cận của Shahar và Musen
Hì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: là 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
Phương pháp giải quyết vấn đề Những tác vụ con
Cơ chế giải quyết vấn đề
Tác vụ trích yếu thời gian
(The temporal-abstraction task)
Phương pháp trích yếu thời gian dựa trên tri thức
(The knowledge-based temporal-abstraction method)
(Vertical temporal inference)
Suy diễn thời gian theo chiều ngang
(Horizontal temporal inference)
Nội suy thời gian
(Temporal interpolation)
So trùng mẩu thời gian
(Temporal Pattern matching)
(Classification knowlededge)
Tri thức ngữ nghĩa thời gian
(Temporal semantic knowledge)
Tri thức thời gian động
(Temporal dynamic knowledge)
Suy diễn thời gian
(Temporal inference)
Nội suy thời gian
(Temporal interpolation)
So trùng mẩu thời gian
(Temporal pattern matching)
Tác vụ
Những kiểu tri thức yêu cầu
Trang 24Nhữ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 “Knowledge-based temporal abstraction” cho TYTG [4] năm 1995, [58],[59] năm 1996 Hình 1.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
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ều trị 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ủa Shahar, 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 ra mộ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ụ thuộc hàm (functional dependencies) để sửa chữa những dữ liệu vi phạm phụ thuộc hàm, xác định những khoảng tham số có hợp lệ theo thời gian hay không (temporal validity), kiểm tra sự phù hợp của những tham số khác nhau trong một khoảng thời gian cho trước (cross-validation), giảm bớt những giá trị có mức tăng không hợp lý (Hφjstrup method), so sánh hai giá trị định tính liên tiếp, nếu chúng khác nhau quá nhiều thì có giá trị không hợp lệ (trend asssessment), tiên đoán những giá trị chưa biết (predicting values)
Trang 25TYTG được họ cài đặt trong hệ thống VIE-VENT với môi trường CLIPS, ứng dụng trên lãnh vực y khoa là thông khí thở cho trẻ sơ sinh VIE-VENT là hệ thống làm việc theo thời gian thực, nên việc diễn giải dữ liệu theo thời gian của nó không thực hiện tự động mà thông qua một ngưỡng phù hợp để có thể tương thích với những dữ liệu VIE-VENT sử dụng những sơ đồ cảm ngữ cảnh (context-sensitive) để chuyển đổi những điểm là những độ đo khí trong máu (là con số) thành những giá trị định tính và được phân thành bảy hạng mục như hình 1.1.4b
Phương pháp kiểm tra dữ liệu của W.Horn [6],[7],[8] chỉ phù hợp khi dữ liệu ứng với thời gian thực, nếu dữ liệu là dữ liệu lịch sử không được cập nhật theo thời gian thực thì việc kiểm tra dữ liệu cần có những phương pháp thích hợp khác, ví dụ như sự thoả mãn điều kiện chuyển trạng thái của đối tượng
g3 extremely g2 substantially below g1 slightly
normal target range s1 slightly
s2 substantially above s3 extremely
Hình 1.1.4b : Những giá trị định tính cho TYTG trên độ đo khí trong máu
(blood-gas)
3) Hướng tiếp cận của Hồ Tú Bảo
Hồ Tú Bảo và các đồng sự đưa ra phương pháp trích yếu thời gian năm 2003 trong [34],[40] năm 2005 trong [35], trên dữ liệu thời gian dài hạn và tồn tại những
dữ liệu chưa hợp lệ Điểm chính của phương pháp là căn cứ vào sự chuyển đổi những trạng thái của đối tượng trong CSDLTG và những thuật giải để TYTG Phương pháp được ứng dụng trong cơ sở dữ liệu (CSDL) bệnh viêm gan, CSDL này được thu thập dài hạn, từ năm 1982 đến năm 2001
Trang 26Quá trình TYTG là bước cơ sở cho bước khai phá dữ liệu để khám phá những mẫu và tri thức mới TYTG được hướng theo những yêu cầu, là những đích được đặt ra trước của thầy thuốc (chuyên gia), ví dụ như: khám phá những mẫu thời gian khác nhau giữa viêm gan A và viêm gan C, khám phá những giai đoạn của sơ gan và sự bắt đầu có tế bào ung thư trên gan , qui trình bao gồm những giai đoạn:
- Tiền xử lý dữ liệu: nhằm giải quyết những dữ liệu chưa hợp lệ để tránh đi lệch
hướng, ví dụ như : những số đo từ những thiết bị cho kết quả không phù hợp, những giá trị số không đồng nhất, những giá trị còn thiếu Dùng thống kê để chọn lựa những dữ liệu đặc trưng và giảm bớt dữ liệu, sau đó dữ liệu được đưa vào những tập
dữ liệu con trong khoảng thời gian định trước, thường là 5 năm
- Trích yếu thời gian: dữ liệu được trích yếu từ những tập dữ liệu con trong bước
tiền xử lý, và đưa vào tập những mẫu trích yếu với những giá trị định tính tương ứng theo trạng thái (thấp, cao, bình thường, khá cao ) hay theo khuynh hướng (tăng, giảm, những mẫu không thay đổi ) Cấu trúc của những mẫu này được xây dựng dựa trên quan sát và phân tích những tập dữ liệu con Để trích yếu thời gian thành những mẫu, họ đã đưa ra những giải thuật cho những dữ liệu dài hạn và ngắn
hạn Những giải thuật này sử dụng những tri thức được viết dưới dạng mệnh đề if
then
on
Knowledge-based
Hình 1.1.4c : K hung thức cho việc khám phá tri thức trong CSDL viêm gan,
bước (a): tiền xử lý dữ liệu, bước (b): trích yếu thời gian và bước (c): khai
phá dữ liệu với những luật qui nạp của hệ thống D2MS (Data Mining with
Model Selection)
Khai phá
dữ liệu bằng D2MS
Trang 27- Khai phá dữ liệu: Kết hợp giữa những kết quả của TYTG và những phương pháp
khai phá dữ liệu để khám phá ra những tri thức mới được viết dưới dạng những luật Hình 1.1.4c là khung thức đi từ dữ liệu đi đến khám phá tri thức trong CSDL bệnh viêm gan
Phương pháp TYTG của Hồ Tú Bảo, cho kết quả là dữ liệu được ghi thành những khoảng trích yếu, từ đó tìm được những tri thức mới, những tri thức này, rất khó tìm được bằng nỗ lực của con người trên một CSDL lớn Tuy nhiên như phương pháp đã yêu cầu cần phải có đích cho trước thì mới có thể thực hiện được TYTG trên tập dữ liệu thu thập trong một thời gian dài
4) Hướng tiếp cận của Boaz
Boaz và các tác giả [3],[4],[10] năm 2003 và [11] năm 2005, đã đề xuất một ngôn ngữ trích yếu thời gian TAR (Temporal Abstraction Rule Language) Họ dựa trên hệ thống KBTA để đưa các cơ chế trích yếu của hệ thống vào ngôn ngữ TAR Đồng thời kết hợp với những luật viết dưới dạng những mệnh đề gồm những tân từ,
trong mô hình dữ liệu Datalog [72] TAR có liên quan đến CSDL suy diễn hướng thời gian, vì nó là mở rộng của ngôn ngữ Datalog, bằng cách thêm vào các đối số thời gian, các hàm thời gian và các hàm giá trị (chi tiết của TAR được trình bày
trong chương 5) Hướng tiếp cận về TYTG của Boaz và những đồng sự là sử dụng
chiến lược từ dưới lên (bottom-up) theo phương pháp semi-naive [74] là một phương pháp thường được sử dụng trong CSDL suy diễn
TYTG được cài đặt trong hệ thống ALMA đặt trong một kiến trúc có tầm cỡ lớn, có tên là IDAN [9],[10],[11] ALMA sau này được phát triển do một số tác giả đồng sự với Boaz tại khoa y trường đại học Stanford của Hoa kỳ, cũng như trung tâm y khoa (Rush medical center) tại Chicago, Hoa kỳ ALMA trở thành một hệ thống tích hợp nhiều CSDL từ nhiều nơi của một số bệnh như: bệnh béo phì, bệnh
về tủy xương …và thực hiện TYTG trên những loại bệnh này qua câu truy vấn từ người dùng, ALMA thực hiện suy diễn trong một chương trình logic, những luật
Trang 28TAR , những tri thức chuyên môn về các loại bệnh đặt trong cơ sở tri thức và CSDL Cuối cùng đưa ra câu trả lời.
1.2 Những vấn đề nghiên cứu của luận án
Qua phân tích một số những công trình đi trước đã trình bày ở phần 1.1 ở trên, luận án đưa ra những vấn đề cần tập trung nghiên cứu sau đây, và cài đặt thử nghiệm trên những số liệu thực, được thu thập từ bệnh viện, qua số liệu thực nghiệm, phân tích hướng tiếp cận của luận án về thời gian thực hiện Mục tiêu chính của luận án là nghiên cứu về ràng buộc toàn vẹn của dữ liệu theo thời gian và trích yếu thời gian
1.2.1 Mô hình dữ liệu thời gian và ngôn ngữ truy vấn thời gian
Để thực hiện được phần kiểm tra ràng buộc toàn vẹn thời gian và trích yếu thời gian, luận án cần lựa chọn một mô hình dữ liệu thời gian thích hợp, tương tự như mô hình quan hệ thời gian (Temporal Relational Model) của Lorentzos trong bảng 1.1.1 Tiếp đến, luận án đề xuất một tiểu ngôn ngữ truy vấn thời gian SubTSQL để truy xuất và cập nhật dữ liệu trên mô hình dữ liệu thời gian đã lựa chọn, và luận án cũng đã hiện thực hoá tiển ngôn ngữ truy vấn này theo hướng tiếp cận tầng trung gian
1.2.2 Ràng buộc toàn vẹn thời gian
Đối tượng trong CSDLTG sẽ chuyển đổi qua nhiều trạng thái theo thời gian
Sự chuyển đổi những trạng thái của đối tượng phải tuân theo một qui luật, mà ứng dụng áp đặt lên nó, và bản thân những qui luật này cũng có thể thay đổi theo thời gian Do vậy kiểm tra RBTVTG bao gồm hai phần chính: (1) kiểm tra RBTVTG khi cập nhật dữ liệu, (2) kiểm tra RBTVTG khi có chuyển trạng thái
Hướng nghiên cứu của luận án về RBTVTG là:
Một, đi tìm một phương pháp kiểm tra sự toàn vẹn của dữ liệu ràng buộc theo thời
gian dựa trên đồ thị chuyển trạng thái như hướng tiếp cận của Gertz và mở rộng
Trang 29thêm, cho phép đối tượng chuyển trạng thái với một dãy chuyển trạng thái phức tạp, đó là: quá trình chuyển trạng thái, đối tượng có thể chuyển trở lại những trạng thái cũ với số lần bất kỳ Ví dụ như: bệnh nhân đang trong trạng thái theo dõi, chưa
có kết luận bình phục, nhưng bệnh cũ tái phát trở lại, khi đó bệnh nhân có thể trở lại những trạng thái cũ như: chuẩn đoán, điều trị… Sau đó, xây dựng những thủ tục kiểm tra RBTVTG trên đồ thị chuyển trạng thái
Hai, xây dựng câu PS để người dùng có thể khai báo một qui luật chuyển trạng thái
gần như ngôn ngữ tự nhiên, từ khai báo này, một đồ thị chuyển trạng thái được sinh
ra một cách tự động
1.2.3 Trích yếu thời gian
Dữ liệu của những đối tượng thay đổi theo thời gian, đã được thu thập, lưu trữ qua nhiều năm và trong quá trình cập nhật đã được kiểm tra RBTVTG Dựa trên khung thức KBTA của Shahar và ngôn ngữ TAR của Boaz [10], luận án trình
bày một hướng tiếp cận mới cho TYTG: dùng đồ thị suy diễn (inference graph) là
một mở rộng của đồ thị chuyển trạng thái, như là một kỹ thuật thi công hệ thống KBTA Cơ sở tri thức cho TYTG bao gồm những sự kiện, những luật - những luật này được viết theo cú pháp của ngôn ngữ TAR Hướng tiếp cận của chúng tôi có hai điểm khác với những hướng tiếp cận đã tham khảo là: (1) Dữ liệu đã được tiền
xử lý và chuyển sang dạng thích hợp ngay trong quá trình kiểm tra RBTVTG khi
có cập nhật (2) Tính chất đơn định của đồ thị suy diễn hỗ trợ hữu hiệu trong việc giảm nhiều chi phí trong quá trình TYTG
Để cài đặt TYTG, luận án xây dựng hệ thống đặt tên là TDM, hệ thống này
có thể dùng trong việc theo dõi việc điều trị bệnh ung thư đại trực tràng Hệ thống TDM tích hợp việc duy trì dữ liệu thời gian cũng như TYTG và đặt trong một kiến trúc duy nhất, nó cho phép người thầy thuốc truy xuất dữ liệu thời gian cũng như TYTG bằng câu truy vấn thời gian viết trong ngôn ngữ SubTSQL
Đối với một cơ sở dữ liệu thời gian cho trước, được lưu trữ trong một hay nhiều bảng dữ liệu, trước khi TYTG, nó cần được tiền xử lý, chúng tôi trình bày
Trang 30một phương pháp tiền xử lý như là kiểm tra RBTVTG để phân rã dữ liệu thành những bảng dữ liệu tương ứng với các đỉnh trong đồ thị suy diễn và sau đó có thể thực hiện TYTG
1.3 Tổ chức của luận án
Phần còn lại của luận án được tổ chức như sau:
Chương 2 trình bày cơ sở lý thuyết cho mô hình dữ liệu thời gian bao gồm:
ý nghĩa của một số thuật ngữ được sử dụng trong CSDLTG, khoảng thời gian được dùng để biểu diễn yếu tố thời gian, những phép toán cơ bản trên khoảng thời gian, phép kết thời gian trên những bảng dữ liệu, ngôn ngữ truy vấn thời gian
Chương 3, trình bày vấn đề tính toàn vẹn của dữ liệu ràng buộc theo thời gian, đề xuất phương pháp và thủ tục để kiểm tra RBTVTG khi cập nhật dữ liệu, và khi đối tượng chuyển trạng thái trên đồ thị chuyển trạng thái Đồng thời xây dựng những thủ tục để tạo lập đồ thị chuyển trạng thái thông qua câu PS để khai báo ràng buộc toàn vẹn nhập từ người dùng
Chương 4, trên CSDLTG đã thu thập, cập nhật ở chương 3, trình bày phương pháp TYTG bằng đồ thị suy diễn, để tìm những thông tin có ý nghĩa hơn trong CSDLTG hỗ trợ cho con người trong việc ra quyết định
Chương 5, Trình bày những kết quả mà luận án đạt được, phần biện luận và phần kết luận
Phụ lục A: Tiểu ngôn ngữ truy vấn thời gian SubTSQL
Phụ lục B: Hiện thực hoá tiểu ngôn ngữ truy vấn thời gian SubTSQL
Phụ lục C: Những qui luật trong điều trị bệnh ung thư đại trực tràng
Phụ lục D: Văn phạm cho SubTSQL và phần mềm mã nguồn mở LEX và YACC Phụ lục E: Thiết kế mức quan niệm và mức luận lý cho CSDLTG
Trang 31CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
Mô hình dữ liệu quan hệ do E.F Codd (1970) đề xướng được gọi là mô hình
dữ liệu truyền thống Trong mô hình dữ liệu này, dữ liệu của đối tượng luôn đúng khi chúng đang tồn tại, đến một thời gian nào đó dữ liệu đó có sự thay đổi, chúng
sẽ được cập nhật và đương nhiên giá trị cũ bị xoá đi Do vậy, để có thể duy trì được giá trị cũ của đối tượng, khi sử dụng mô hình dữ liệu truyền thống, cần phải
mở rộng nó bằng cách thêm vào chiều thời gian cho dữ liệu Ý tưởng này cũng chính được E F Codd đề xuất năm 1979 trong [22] Khi đó, CSDL được mở rộng
là CSDLTG và nhiều tác giả nghiên cứu về CSDLTG đã dựa trên ý tưởng mở rộng
mô hình dữ liệu truyền thống [2],[21],[22],[26],[27],[31],[32],[56],[65],[69],[73]
Chương này, trình bày một số những khái niệm nền tảng, những thuật ngữ được sử dụng và một số vấn đề có liên quan trong CSDLTG Nó được xem như phần nghiên cứu mở đầu để tạo cơ sở cho các bước nghiên cứu tiếp theo Dựa trên những khái niệm nền tảng, nó trình bày CSDLTG với dữ liệu thời gian được phân chia vào các bảng dữ liệu của những quan hệ ở mức dữ liệu nhỏ nhất, giảm dư thừa
dữ liệu Sau nữa trình bày tính bất định về thời gian hợp lệ trong CSDLTG
2.1 Một số thuật ngữ
Thời gian hợp lệ (valid time)
Thời gian hợp lệ biểu thị một sự kiện khi nào nó là đúng trong thế giới thực
[53] Ví dụ như: nhân viên X quản lý phòng P2 trong thời gian từ ti đến tj là đúng
Trong ví dụ này, cặp ti và tj là thời gian hợp lệ, với ti là thời điểm bắt đầu mà nhân
viên X thực hiện quyền quản lý phòng P2 và tj là thời điểm kết thúc nhiệm vụ quản
lý phòng P2 của nhân viên X
Trang 32Thời gian giao tác (transaction time)
Thời gian giao tác, thường thì không được ghi ở cùng một thời gian với thời
gian hợp lệ, có thể do phải chờ vấn đề nào đó xử lý xong Do vậy có một khoảng chênh lệch giữa thời gian mà sự kiện bắt đầu là đúng và thời gian mà sự kiện bắt đầu được ghi vào cơ sở dữ liệu [53] Ví dụ như nhân viên X được bổ nhiệm trưởng
phòng P2 từ thời điểm ti, nhưng thực tế ở thời điểm tk, nhân viên X mới thực sự làm việc với nhiệm vụ trưởng phòng, khi đó thời gian giao tác được ghi thời điểm bắt
đầu là tk
Mặc dù rằng thời gian, bản chất của nó có tính liên tục, nhưng ứng dụng trong CSDLTG, nó thường là rời rạc, nó có thể là những điểm thời gian (timepoints) hay một đường thời gian (timeline)
Hạt thời gian (chronon)
Hạt thời gian là khoảng thời gian nhỏ nhất, mà được hỗ trợ bởi hệ quản trị cơ
sở dữ liệu khi thao tác với dữ liệu thời gian Khoảng thời gian nhỏ nhất này không thể phân chia được nữa Ví dụ như: trong Oracle 8i cho phép người dùng định dạng kiểu dữ liệu DATE là năm, tháng, ngày, giờ, phút, giây Giây có mức thời gian nhỏ nhất, nên ta nói rằng hạt thời gian đến mức là giây
Độ mịn thời gian (granularity)
Độ mịn thời gian trong thời gian hợp lệ hay trong thời gian giao tác là
khoảng thời gian nhỏ nhất giữa hai thời điểm liên tiếp nhau Độ lớn của độ mịn thời gian thì tùy theo ứng dụng Ví dụ như thuốc uống cho bệnh nhân trong một loại bệnh nào đó chỉ có thể thay đổi thuốc nhanh nhất là sau một ngày, như vậy độ mịn thời gian trong trường hợp này có giá trị được hiểu là một ngày, và hai thời điểm gọi là liên tiếp nhau cùng trong truờng hợp này, khi chúng cách nhau một ngày ( ví
dụ như điểm thời gian 15/2/2004 và 16/2/2004 là hai điểm thời gian liên tiếp nhau) Một ví dụ khác: mức lương của một nhân viên được tính theo tháng, do vậy mức lương chỉ có thể thay đổi theo từng tháng, thì độ mịn thời gian là một tháng cho sự thay đổi của mức lương theo thời gian
Trang 332.2 Thời gian hợp lệ trong mô hình dữ liệu thời gian
Hệ thống CSDLTG có thể được xây dựng trên nền tảng cơ sở dữ liệu quan
hệ, do mô hình dữ liệu và ngôn ngữ truy vấn cho mô hình quan hệ hoàn toàn được xác lập Tuy nhiên, còn có hai hạn chế cần quan tâm khi sử dụng cơ sở dữ liệu quan
hệ truyền thống cho lưu trữ và xử lý dữ liệu thời gian
1 Cơ sở dữ liệu quan hệ bị hạn chế về vấn đề lưu trữ những dữ liệu thời gian có những dạng đặc biệt Ví dụ như nó không hỗ trợ cho việc kết hợp những dữ liệu
có cùng giá trị khi chúng có những khoảng thời gian hợp lệ giao với nhau khác
rỗng hay chúng phủ lên nhau (xem phép toán fold, trong mục 2.4.5)
2 Câu truy vấn SQL của cơ sở dữ liệu quan hệ hỗ trợ rất hạn chế cho việc biểu thị câu truy vấn có yếu tố thời gian (thời gian hợp lệ, thời gian giao tác)
Do hai hạn chế trên, những ứng dụng CSDLTG đòi hỏi một mô hình dữ liệu thời gian thích hợo cho chúng Thực tế đã có khoảng 20 mô hình dữ liệu thời gian khác nhau đã được đưa ra từ năm 1984 đến năm 1997 trong [31],[32]
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
Thêm yếu tố thời gian vào mô hình dữ liệu quan hệ, để xây dựng CSDLTG, thì hầu hết những nhà nghiên cứu thường tập trung vào những mô hình chỉ có thời gian hợp lệ Trong mô hình chỉ có thời gian hợp lệ, thì mỗi mẩu tin trong bảng dữ liệu thời gian có quan hệ hai chiều (một chiều là mẩu tin, chiều kia là thuộc tính) được thêm vào giá trị thời gian hợp lệ Khi đó, thời gian hợp lệ được xem như chiều thứ ba của những bảng này, và mỗi mẩu tin trong bảng biểu thị những dữ liệu thời gian đúng với thời gian hợp lệ
Có hai loại bảng dữ liệu thời gian [38]: những bảng dữ liệu biến cố (event table) và những bảng dữ liệu trạng thái (state table) Bảng dữ liệu biến cố (gọi tắt là
bảng biến cố) gồm những mẩu tin đúng với thời điểm được gán cho nó, và thời điểm này được gọi là thời gian biến cố Trong khi bảng dữ liệu trạng thái (gọi tắt là
Trang 34bảng trạng thái) gồm những mẩu tin đúng trong một khoảng thời gian, ví dụ như: giả sử trong CSDL theo dõi bệnh ung thư có hai bảng dữ liệu như trong hình 2.3
a) Bảng trạng thái Drug_treatment ghi những dữ liệu về thuốc uống (drug) cho bệnh
nhân (P_ID) được ghi trong suốt thời gian bệnh nhân được cấp thuốc theo từng khoảng thời gian (T)
b) Bảng biến cố CEA_value ghi giá trị VCEA của CEA (CEA: CarcinoEmbryonic
Antigen [77]) cho bệnh nhân (P_ID) ở thời gian (T) thường là điểm thời gian mà
không phải toàn thời gian như bảng trạng thái mà là những điểm thời gian rời rạc
Drug_treatment CEA_value
Hình 2.3: Bảng trạng thái drug_treatment và bảng biến cố CEA_value
Dữ liệu thời gian trong bảng dữ liệu Drug_treatment được ghi dưới dạng
khoảng thời gian Ví dụ khoảng thời gian [17…28] được hiểu là khoảng có thời
điểm bắt đầu là ngày thứ 17 và thời điểm kết thúc là ngày thứ 28 Nhưng khoảng
[39 now), now mang ý nghĩa là dữ liệu liên kết với nó trong mẩu tin đúng ở thời
gian hiện hành và có thể đúng trong tương lai Riêng những khoảng trong bảng dữ liệu CEA_value là những khoảng đặc biệt có thời điểm bắt đầu và kết thúc trùng nhau
2.4 Những phép toán trên khoảng thời gian
Giữa hai thời khoảng thời gian có một số phép toán thường được sử dụng như: phép hội, phép giao và phép trừ, đó là những phép toán chuẩn trong mô hình dữ liệu
quan hệ [24] Ngoài ra còn có thêm những phép toán so sánh và phép toán trộn
khoảng (fold) là những phép toán cần thiết cho thao tác dữ liệu trong mô hình
CSDLTG Gọi I1, I2 là hai khoảng b(I1), b(I2) tương ứng với cận dưới của I1, I2 và
Trang 35e(I1), e(I2) là cận trên của I1, I2 Các phép toán trên khoảng thời gian trình bày như bảng 2.4a hay bảng 2.4b, được trích ra từ [1]
Bảng 2.4a: Định nghĩa những phép so sánh trên khoảng
Phép toán so sánh Ý nghĩa
3
4
5
6
b(I1) < b(I2 ) ∧ e(I1)> b(I2) ∧ e(I1) < e(I2)
b(I2) < b(I1) ∧ e(I2)> b(I1) ∧ e(I2) < e(I1)
11
12
Chú ý rằng: I1 có thể trộn được với I2, và được viết là I1 MERGES I2 nếu I1 và I2
thoả bất kỳ tân từ so sánh nào từ (3) đến (13) trong bảng 2.4a
Trang 36Bảng 2.4b: Minh họa hình học của các phép so sánh khoảng
Trang 37nghĩa như sau:
Trang 38Định nghĩa (phép toán fold)
Giả sử có quan hệ R mà dữ liệu của nó được cho như trong bảng 2.4.5a, R có nhiều thuộc tính, Ai là thuộc tính có giá trị thay đổi theo thời gian với 1≤ i ≤ n Tất
cả những mẩu tin ti có cùng giá trị ai của thuộc tính A i và những khoảng tương ứng với chúng phải thoả điều kiện trộn (merges) (xem MERGES trong phần 2.4.1), để
có thể trộn chúng lại với nhau thành một khoảng mới Ii Khi đó, những mẩu tin ti trong R được thay thế bằng một mẩu tin mới có giá trị ai của thuộc tính A i như cũ,
và có khoảng tương ứng là Ii
Ví dụ: Bảng RF là kết quả của phép fold trên thuộc tính Duration của quan hệ R
như hình 2.4.5a Trong hình này, những mẩu tin ở dòng 1, dòng 4 trong R được ghép thành mẩu tin ở dòng 2 của RF, mẩu tin ở dòng 3, dòng 5 trong R được ghép thành mẩu tin ở dòng 3 của RF
Wadaine Wadaine Wadaine
a và a1 là những giá trị của những thuộc tính Ai , i ∈[1, n] trong R,
ts , t1s và te , t1e là những giá trị của thuộc tính Ts và Te ,
T là quan hệ kết quả của R sau khi thực hiện phép fold
Thủ tục được viết như hình 2.4.5b
Trang 39Hình 2.4.5b : Thủ tục fold
2.4.6 Phép toán (unfold)
Phép toán ngược lại với phép fold là phép unfold Phép toán này tách một
mẩu tin trên một thuộc tính thay đổi theo thời gian thành nhiều mẩu tin theo một độ mịn thời gian tự chọn cho phép
2.5 Sự chuẩn hoá thời gian
Dạng chuẩn đóng vai trò quan trọng trong thiết kế cơ sở dữ liệu quan hệ Trong mô
hình CSDLTG, dựa trên những khái niệm của Navathe [47], phần này, trình bày những kiểu khác nhau của tính chất đồng bộ (synchronism) giữa những thuộc tính
có trị thay đổi theo thời gian, những khái niệm của phụ thuộc thời gian (temporal dependence) và dạng chuẩn (normal form) Từ những khái niệm này sẽ dẫn đến khái niệm cho sự chuẩn hoá thời gian (time normalization) trong CSDLTG
1) R được sắp xếp thứ tự trên tất cả những thuộc tính của nó và sau đó được viết vào S
2) while not eof(S) do
Trang 402.5.1 Tính chất đồng bộ và phụ thuộc thời gian
Tính đồng thời: Một tập A gồm những thuộc tính thay đổi theo thời gian trong một
quan hệ cho trước được gọi là có tính đồng bộ, nếu mỗi thuộc tính trong tập A cùng thay đổi giá trị ứng với cùng một khoảng thời gian T Nói cách khác, một thuộc tính bất kỳ trong A thay đổi giá trị trong khoảng T, thì kéo theo tất cả những thuộc tính còn lại trong A cũng thay đổi giá trị trong khoảng T (Những bảng dữ liệu trong
những ví dụ 1, ví dụ 2 và ví dụ 3 được trích trong [47])
Ví dụ 1: Xét quan hệ Employee trong bảng 2.5.1a Trong quan hệ này, một nhân
viên (Empno) được tăng lương (Salary) nếu và chỉ nếu người đó được đề bạt một vị trí mới (Position), (giả sử rằng: một nhân viên không bao giờ bị hạ xuống vị trí thấp
hơn) Tập thuộc tính A gồm hai thuộc tính thay đổi theo thời gian là Salary và
Position là tập những thuộc tính có tính đồng bộ
Bảng 2.5.1a : Quan hệ Employee
Typist Secretary
Ví dụ 2: Xem quan hệ Maintenance trong bảng 2.5.1b, tất cả những thuộc tính thay
đổi theo thời gian như: Part, Cond, Place, Cost đều có tính đồng thời
Detached Broken Unhinge Cracked
Atlanta N.Y L.A
Ví dụ 3: Xét quan hệ Sal-Mgr trong bảng 2.5.1c, hai thuộc tính thay đổi theo thời
gian Manager và Salary là đồng bộ đơn (singleton synchronous) Trong ví dụ này,