Tải bản đầy đủ (.pdf) (175 trang)

phát triển hệ cơ sở dữ liệu quan hệ đối tượng phụ thuộc thời gian kép

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.93 MB, 175 trang )

Đại Học Quốc Gia Tp. Hồ Chí Minh
TRƯỜNG ĐẠI HỌC BÁCH KHOA
F 0 G



LƯU THỊ KIM HOA



PHÁT TRIỂN HỆ CƠ SỞ DỮ LIỆU QUAN HỆ ĐỐI
TƯỢNG PHỤ THUỘC THỜI GIAN KÉP

Chuyên ngành: Khoa Học Máy Tính


LUẬN VĂN THẠC SĨ






TP. HỒ CHÍ MINH, tháng 03 năm 2010

LỜI CẢM ƠN


Trước tiên tôi xin chân thành cảm ơn Cô Võ Thị Ngọc Châu đã tận tình chỉ bảo, hướng
dẫn, góp ý, giúp đỡ và động viên tôi trong suốt quá trình thực hiện đề cương và luận án
tốt nghiệp này.


Tôi cũng xin chân thành cảm ơn đến tất cả các Thầy Cô khoa Khoa học và Kỹ thuật
máy tính đã nhiệt tình giảng dạy và truyền đạt kiến thức quý giá trong quá trình học
tập trong suốt hai năm cao học vừa qua.
Nhân đây tôi xin gửi lời cảm ơn đến những người đồng nghiệp, những người bạn đã
động viên và khuyến khích tôi trong thời gian qua.
Những lời cảm ơn sau cùng con xin cảm ơn cha mẹ, những người thân gia đình đã hết
lòng quan tâm và tạo điều kiện tốt nhất để con hoàn thành được luận văn tốt nghiệp
này.
Xin chân thành cảm ơn!

Lưu Thị Kim Hoa









i

 ii

ABTRACT


Conventional database systems are capable of recording only single states
of real world phenomena which describe the current perceptions of reality and the
current relationships among objects in this world. In consequence, this results in a

number of limitations for the applications which are concerned with temporal features.
The need for a (bi)temporal support in database systems, in order to model temporal
facts and events in the real world, has been addressed over the last two decades,
reflecting the importance of that for almost every computer system application. Doing
research on (bi)temporal databases is an interesting subject. It has been shown with
many research works and products.
In this thesis, we propose a bitemporal data model for handling bitemporal
data. With this bitemporal data model, a bitemporal database system is developed. Our
model and system development is based on object relational database technology. An
illustration on dealing with bitemporal data is established for the applicability of the
proposed system. As a result, bitemporal database users can manage their bitemporal
databases via the graphical user interface of this system. In addition, bitemporal
database applications are now supported to be built on top of our resulting system.









 iii


TÓM TẮT

Ngày nay, các hệ cơ sở dữ liệu truyền thống chỉ hỗ trợ việc quản lý các
trạng thái nhất thời của các hiện tượng/sự kiện cũng như các mối liên hệ giữa các đối
tượng trong thế giới thực. Do đó, các ứng dụng có nhu cầu nắm bắt các đặc điểm liên

quan đến thời gian thường phải tự xử lý một cách không dễ dàng. Điều này dẫn đến
nhu cầu cần hỗ trợ các vấn đề về thời gian trong các hệ cơ sở dữ liệu và đó cũng là lý
do cho các hoạt động/công trình nghiên cứu trong lĩnh vực cơ sở dữ liệu phụ thuộc
thời gian (kép) trong suốt thời gian qua.
Trong luận văn này, chúng tôi đã đề xuất một mô hình dữ liệu phụ thuộc
thời gian kép nhằm quản lý dữ liệu phụ thuộc thời gian kép. Với mô hình này, chúng
tôi đã xây dựng một hệ cơ sở dữ liệu phụ thuộc thời gian kép. Cả mô hình và hệ thống
đều được phát triển dựa trên công nghệ cơ sở dữ liệu quan hệ đối tượng. Phần minh
họa việc xử lý dữ liệu phụ thuộc thời gian kép được tiến hành để chứng tỏ tính khả
dụng của hệ thống này. Như là phần kết quả mong đợi, người sử dụng cơ sở dữ liệu
phụ thuộc thời gian kép đã có thể quản lý cơ sở dữ liệu phụ thuộc thời gian kép của họ
trực tiếp thông qua giao diện người dùng đồ họa của hệ thống. Ngoài ra, các ứng dụng
cơ sở dữ liệu phụ thuộc thời gian kép giờ có thể được phát triển trên hệ thống này.




 iv

MỤC LỤC

ĐỀ MỤC TRANG
NHIỆM VỤ LUẬN VĂN
LỜI CẢM ƠN i
ABTRACT ii
TÓM TẮT iii
MỤC LỤC iv

Phần I. Phát biểu vấn đề 1
I.1 Giới thiệu 1

I.2 Tại sao CSDL thời gian? 2
I.3 Lí do phát triển hệ CSDL quan hệ đối tượng thời gian kép 3
I.4 Mục tiêu của luận văn 5
I.5 Cấu trúc luận văn 5

Phần II. Cơ sở lý thuyết 7
II.1 Các khái niệm 7
II.1.1 Khái niệm về thời gian 9
II.1.1.1 Tem thời gian hiệu lực VT – valid time 9
II.1.1.2 Tem thời gian giao tác TT – transaction time 10
II.1.1.3 Thời gian kép 11
II.1.1.4 Thời gian người dùng định nghĩa 11
II.1.1.5 Đơn vị thời gian và “Chronon” 11
II.1.2 Phương thức gán tem thời gian 12
II.1.2.1 Sự khác nhau mô hình dữ liệu thời gian mốc thời gian và khoảng thời gian 13
II.1.2.2 Khoảng thời gian trong CSDL thời gian 15
II.1.2.3 Đoạn thời gian 16
II.1.3 Tem cho dữ liệu 16
II.1.3.1 Tem thời gian theo hàng, đối tượng 17
II.1.3.1.1 Mô hình tiếp cận cơ bản 17
II.1.3.2 Tem thời gian thuộc tính 20
II.1.3.2.1 Mô hình tiếp cận cơ bản 20
II.1.4 Phân loại CSDL thời gian 21
II.1.4.1 CSDL snapshot 22
II.1.4.2 CSDL lưu quá khứ 22
II.1.4.3 CSDL giao tác 22
II.1.4.4 CSDL thời gian kép 23
II.2 Quản lý dữ liệu thời gian trong CSDL thời gian 23
 v


II.2.1 Các thao tác căn bản. 23
II.3 Ràng buộc toàn vẹn tham chiếu thời gian kép 24
II.3.1 Hiện thực kiểm tra toàn vẹn tham chiếu thời gian kép 25
II.3.1.1 Thao tác thêm trong quan hệ tham chiếu 26
II.3.1.2 Thao tác cập nhật và xóa trong quan hệ được tham chiếu 26

Phần III. Tổng thuật những công trình liên quan 27
III.1 Các giải pháp để phát triển hệ CSDL thời gian 27
III.1.1 Tích hợp các chức năng thời gian vào trong HQTCSDL truyền thống 29
III.1.2 Cách tiếp cận Máy chủ thời gian TS – Temporal Server 30
III.1.3 Xây dựng hỗ trợ thời gian vào trong ứng dụng khách. 31
III.2 Các công trình liên quan 33
III.2.1 Hiện thực phương diện thời gian trong các công trình học thuật 34
III.2.1.1 TDMS 36
III.2.1.2 TeXOR 37
III.2.1.3 TIP 37
III.2.1.4 TimeDB 38
III.2.1.5 TEMPOS 39
III.2.2 Hiện thực phương diện thời gian trong các HQTCSDL thương mại 39
III.2.2.1 Oracle 39
III.2.2.2 Immortal Db 40

Phần IV. Mô hình dữ liệu quan hệ đối tượng phụ thuộc thời gian kép 42
IV.1 Mô hình dữ liệu 42
IV.2 Lịch sử phát triển của hệ quản trị CSDL 42
IV.3 Ứng dụng minh họa 48
IV.3.1 Lược đồ ER 48
IV.3.2 Qui tắc nghiệp vụ 50
IV.4 Mô hình quan hệ đối tượng thời gian kép 50
IV.4.1 Thời gian sống đối tượng 52

IV.4.2 Thuộc tính thời gian của đối tượng 53
IV.4.3 Các kiểu thời gian UDT 55
IV.4.4 Biểu diễn dữ liệu thời gian kép 55
IV.5 Độ mịn thời gian 57
IV.6 Ràng buộc thời gian 59
IV.7 Thao tác dữ liệu 60
IV.7.1 Thao tác chèn 60
IV.7.2 Thao tác xóa 62
IV.7.3 Thao tác update 65
IV.8 Phân loại câu truy vấn 72

Phần V. Hệ cơ sở dữ liệu quan hệ đối tượng phụ thuộc 75
 vi

thời gian kép 75
V.1 Giới thiệu hệ thống 75
V.2 Kiến trúc hệ thống 77
V.3 Hệ thống kiểu dữ liệu của hệ cơ sở dữ liệu quan hệ đối tượng phụ thuộc thời gian kép 81
V.3.1 Kiểu dữ liệu thuộc tính 81
V.3.1.1 Kiểu hệ thống tạo ra 82
V.3.2 Kiểu dữ liệu thời gian sống 83
V.3.3 Các ràng buộc của các kiểu dữ liệu thời gian 83
V.3.4 Phương thức, hàm trên dữ liệu thời gian 84
V.3.4.1 Hàm và toán tử liên quan 84
V.3.4.2 Phép nối Coalesce 85
V.3.4.3 Hàm gom nhóm 87
V.4 Quản lý dữ liệu 89
V.4.1 Tạo đối tượng CSDL 89
V.4.2 Thao tác dữ liệu 90
V.4.2.1 Thời gian sống của đối tượng 90

V.4.2.2 Thuộc tính thời gian của đối tượng 93
V.4.3 Truy vấn dữ liệu 105
V.5 Giao tiếp người dùng 140
V.6 Tóm tắt đặc điểm của hệ thống 142
V.6.1 Đánh giá hệ thống 143
V.6.2 So sánh với các hệ thống khác 144

Phần VI. Tổng kết 145
VI.1 Đóng góp của luận án 145
VI.2 Hướng phát triển 147
Phụ lục A 149
Tài liệu tham khảo 162

QUÁ TRÌNH ĐÀO TẠO Error! Bookmark not defined.
QUÁ TRÌNH CÔNG TÁC Error! Bookmark not defined.


 vii

DANH MỤC HÌNH

Hình 2.1. Mô hình không gian của dữ liệu thời gian kép. 8
Hình 2.2. Dữ liệu tem thời gian hiệu lực 9
Hình 2.3. Dữ liệu tem thời gian giao tác 10
Hình 2.4. Hình biểu diễn CSDL snapshot 22
Hình 2.5. Hình biểu diễn CSDL quá khứ. 22
Hình 2.6. Hình biểu diễn CSDL giao tác. 23
Hình 2.7. Hình biểu diễn CSDL thời gian kép. 23
Hình 3.1. Cách tiếp cận khác nhau cho các ứng dụng thời gian. 28
Hình 3.2. Chức năng thời gian được xây dựng trong phần lõi của HQTCSDL. 29

Hình 3.3. Cách tiếp cận máy chủ thời gian TS 31
Hình 3.4. Chức năng thời gian được xây dựng vào trong ứng dụng khách. 32
Hình 3.5. Mô hình của TDMS. 37
Hình 3.6. Thành phần của TIP. 38
Hình 3.7. Mô hình kiến trúc mẫu của TEMPOS. 39
Hình 4.1 Lịch sử phát triển HQTCSDL 43
Hình 4.2. Mô hình quan hệ đối tượng. 46
Hình 4.3. Lược đồ thực thể mối liên kết của ứng dụng mẫu. 49
Hình 4.4. Thời gian sống của một đối tượng với ví dụ của đất nước Balan. 52
Hình 4.5. Ví dụ về phương pháp gán tem thời gian. 54
Hình 4.6. Mô tả thao tác chèn CSDL thời gian kép. 62
Hình 4.7. Trường hợp 1 của thao tác xóa 63
Hình 4.8. Trường hợp 2 của thao tác xóa 64
Hình 4.9. Trường hợp 3 của thao tác xóa 64
Hình 4.10. Trường hợp 4 của thao tác xóa 65
Hình 4.11. Trường hợp 1 của thao tác cập nhật 67
Hình 4.12. Trường hợp 2 của thao tác cập nhật 67
Hình 4.13. Trường hợp 3 của thao tác cập nhật 68
Hình 4.14. Trường hợp 4 của thao tác cập nhật 68
Hình 4.15. Trường hợp 5 của thao tác cập nhật 69
Hình 4.16. Trường hợp 6 của thao tác cập nhật 69
Hình 4.17. Trường hợp 7 của thao tác cập nhật. 69
Hình 4.18. Trường hợp 8 của thao tác cập nhật 70
Hình 4.19. Trường hợp 9 của thao tác cập nhật 70
Hình 4.20. Trường hợp 10 của thao tác cập nhật 71
Hình 4.21. Trường hợp 11 của thao tác cập nhật 71
Hình 4.22. Câu truy vấn dạng tuần tự. 72
Hình 4.23. Dạng câu truy vấn phi tuần tự. 73
Hình 5.1 Kiến trúc hệ CSDL phụ thuộc thời gian kép. 77
Hình 5.2. Thành phần giao tiếp người dùng cuối của hệ cơ sở dữ liệu quan hệ đối tượng phụ thuộc thời

gian kép. 79
 viii

Hình 5.3. Dữ liệu mẫu về thời gian sống của nhân viên A. 91
Hình 5.4. Thông tin lương mẫu của nhân viên A. 94
Hình 5.5. Kết quả của thao tác cập nhật. 96
Hình 5.6. Kết quả của thao tác cập nhật. 97
Hình 5.7. Kết quả của thao tác cập nhật. 97
Hình 5.8. Kết quả của thao tác cập nhật. 98
Hình 5.9. Kết quả của thao tác cập nhật. 99
Hình 5.10. Kết quả của thao tác xoá. 101
Hình 5.11. Kết quả của thao tác xoá. 102
Hình 5.12. Kết quả của thao tác xoá. 103
Hình 5.15. Kết quả câu truy vấn 1 với hỗ trợ từ hệ thống. 107
Hình 5.16. Kết quả câu truy vấn 1 không hỗ trợ từ hệ thống. 107
Hình 5.17. Kết quả câu truy vấn 3 với hỗ trợ từ hệ thống. 108
Hình 5.18. Kết quả câu truy vấn 3 không hỗ trợ từ hệ thống. 109
Hình 5.19. Kết quả câu truy vấn 5 với hỗ trợ từ hệ thống. 110
Hình 5.20. Kết quả câu truy vấn 5 không hỗ trợ từ hệ thống. 111
Hình 5.21. Dữ liệu lương của nhân viên có mã số 1. 113
Hình 5.22. Kết quả câu truy vấn 7 với hỗ trợ từ hệ thống. 114
Hình 5.23. Kết quả câu truy vấn 7 không hỗ trợ từ hệ thống. 115
Hình 5.24. Dữ liệu mẫu lợi nhuận của phòng ban Kinh Doanh. 117
Hình 5.25. Kết quả câu truy vấn 9 với hỗ trợ từ hệ thống. 118
Hình 5.26. Kết quả câu truy vấn 9 không hỗ trợ từ hệ thống. 120
Hình 5.27. Kết quả câu truy vấn 10 với hỗ trợ từ hệ thống. 121
Hình 5.28. Kết quả câu truy vấn 10 không hỗ trợ từ hệ thống. 123
Hình 5.29. Kết quả câu truy vấn 12 với hỗ trợ từ hệ thống. 126
Hình 5.30. Kết quả câu truy vấn 12 với hỗ trợ từ hệ thống. 128
Hình 5.31. Kết quả câu truy vấn 13 với hỗ trợ từ hệ thống. 129

Hình 5.32. Kết quả câu truy vấn 13 không hỗ trợ từ hệ thống. 131
Hình 5.33. Kết quả câu truy vấn 17 với hỗ trợ từ hệ thống. 137
Hình 5.34. Kết quả câu truy vấn 17 không hỗ trợ từ hệ thống. 140
Hình 5.35. Giao diện thông tin kết nối vào CSDL. 141
Hình 5.36. Giao diện thao tác dữ liệu. 141
Hình 5.37. Giao diện thao tác dữ liệu thời gian như lương của Nhân viên. 142

 ix

DANH MỤC BẢNG

Bảng 3.1 Mô tả ví dụ về một dữ liệu thời gian kép (Wikipedia, 2005) 7
Bảng 3.2 Thông tin về nhân viên biểu diễn dưới CSDL thời gian kép. 11
Bảng 3.3: Quan hệ với mô hình dữ liệu mốc thời gian 14
Bảng 3.4: Quan hệ với mô hình dữ liệu khoảng thời gian 14
Bảng 3.5. Vị từ so sánh khoảng thời gian của Allen 16
Bảng 4.1. Bảng so sánh các hệ quản trị CSDL 47
Bảng 4.2. Biểu diễn dữ liệu thời gian với thông tin nhân viên 57
Bảng 5.1.
So sánh giữa các hệ thống quản lý dữ liệu thời gian dựa trên mô hình quan hệ đối
tượng 142


Phần 1. Phát biểu vấn đề

 1

Phần I. Phát biểu vấn đề
I.1 Giới thiệu
Mô hình dữ liệu phi thời gian hiện tại chỉ lưu giữ và nắm bắt trạng thái đơn

nhất của thế giới thực, thường là trạng thái hiện thời hay còn gọi là trạng thái snapshot.
Các hệ quản trị CSDL thương mại thông dùng chỉ hỗ trợ việc thao tác để làm thuận
tiên cho việc chuyển đổi CSDL từ trạng thái nhất quán này sang trạng thái nhất quán
khác, thay thế các giá trị cũ bằng các giá trị mới. Khi truy vấn CSDL thông thường chỉ
các sự việc và hiện tượng đang có trong CSDL mới được xem xét, khảo sát và đánh
giá.
Song ngày nay ngày càng nhiều tổ chức mong muốn lưu trữ những dữ liệu
giúp họ đưa ra những chiến lược và quyết định kinh doanh có ý nghĩa quan trọng.
Cũng như nhiều ứng dụng khác chẳng hạn hệ thống thông tin địa lý, quản lý tài liệu
hay hệ thống sản xuất…, tất cả ứng dụng trên phần nhiều rất cần lưu trữ thông tin dọc
theo chuỗi thời gian liên tiếp hay trạng thái thông tin khác nhau từ quá khứ, hiện tại và
thậm chí là cả hoạch định tương lai. Việc tìm cách thêm các tem thời gian vào dữ liệu
để lưu giữ tất cả các trạng thái không phải là vấn đề phức tạp mà khó khăn chính duy
là do các tác vụ truy vấn dữ liệu biến đổi theo thời gian và đặc tả các ràng buộc để nhất
quán giữa nhiều trạng thái CSDL khi sử dụng mô hình dữ liệu và ngôn ngữ truy vấn
phi thời gian.
Với các hệ quản trị CSDL thương mại phi thời gian hiện có trên thị trường,
việc phát triển ứng dụng cũng như thực hiện truy vấn dữ liệu biến đổi theo thời gian
dùng ngôn ngữ SQL chuẩn là rất phức tạp, khó chịu, tốn thời gian, cũng như là hiệu
suất chương trình đem lại thấp. Việc viết mã cho ứng dụng này sẽ chiếm nhiều công
sức, khó bảo trì, ràng buộc sẽ rắc rối, khó hiểu.
Trên thế giới, hiện tại có rất nhiều nghiên cứu và công trình hiện thực về
phương diện thời gian cũng như dữ liệu thời gian kép trong suốt hơn 20 năm qua. Có
rất nhiều mô hình dữ liệu thời gian được đề xuất, để hiện thực đặc tính tem thời gian
Phần 1. Phát biểu vấn đề

 2

của dữ liệu [5,11,17,24], được mở rộng từ các mô hình dữ liệu phổ biến (quan hệ, quan
hệ lồng nhau, hướng đối tượng…). Cũng có các hiện thực CSDL thời gian có thể hiện

thực bằng cách ánh xạ mô hình dữ liệu thời gian thành một mô hình dữ liệu thông
thường, như trong các nghiên cứu có liên quan [20, 21, 22, 23, 28]. Mỗi hệ thống có
những đặc tính riêng có cả ưu và nhược và hầu như các hệ thống vẫn còn thiếu sót hay
không quan tâm đầy đủ đến các qui luật biến đổi theo thời gian của dữ liệu qua các lần
cập nhật, thay đổi cũng như các ràng buộc khác. Đặc biệt việc cung cấp cách quản lý
dữ liệu thời gian một cách độc lập, trong suốt dưới tầm nhìn của người dùng cũng là
một vấn đề khá quan trọng. Thao tác quản lý CSDL thời gian cũng tương tự như trong
quản lý CSDL thông thường, song có thêm một số thao tác hỗ trợ để đảm bảo duy trì
dữ liệu mang tính thời gian một cách đúng đắn, nhất quán, và thường thì việc này được
thực hiện thông qua các luật biến đổi mang tính chất thời gian.
I.2 Tại sao CSDL thời gian?
Như đã đề cập ở trên, mô hình dữ liệu phi thời gian và đa số hệ quản trị
CSDL thương mại chỉ đơn thuần hỗ trợ chức năng truy cập tình trạng đơn nhất của thế
giới thực: gần nhất, hiện tại và luôn ghi đè lên trạng thái cũ nếu có cập nhật chỉnh sửa
xảy ra và xoá vật lý dữ liệu cũ mà không cần quan tâm những dữ liệu cũ cần thiết cho
sau này.
Trong khi thực tế lại tồn tại rất nhiều miền ứng dụng không chỉ cần truy cập
duy nhất mỗi trạng thái hiện thời mà còn là trạng thái quá khứ, thậm chí tương lai. Đặc
tính nhất quán của dữ liệu lúc này phải được mở rộng bao phủ trên tất cả các trạng thái
của CSDL. [30] đề cập tính chất quan trọng của CSDL thời gian bằng “khó tìm ra một
ứng dụng mà không liên quan đến việc quản lý dữ liệu biến đổi theo thời gian” và đã
liệt kê các ứng dụng sau đây là ứng dụng cần CSDL thời gian:
• Ứng dụng tài chính: quản lý hồ sơ, vốn đầu tư, tài chính và ngân hàng, phân
tích thị trường chứng khoáng, cổ phiếu…
• Hệ thống hỗ trợ quyết định: kế hoạch cho các sự kiện có thể xảy ra trong
tương lai.
Phần 1. Phát biểu vấn đề

 3


• Hệ thống lập lịch, đăng ký, đặt chỗ trước: quản lý dự án, đăng kí phòng
khách sạn, vé máy bay…
• Hệ thống lưu trữ: lý lịch cá nhân, quản lý y khoa, bệnh án bệnh nhân, quản
lý kho, hệ thống pháp luật…
• Ứng dụng khoa học: giám sát quy trình hóa học, thời tiết…
• Các hệ thống quản lý tin: sự kiện thể thao, xuất bản, báo chí, tạp sạn, văn
bản…
CSDL thời gian cho phép ghi nhận tất cả các trạng thái của các đối tượng
trong suốt thời gian sống, dựa vào đặc tính tiến triển, biến đổi theo thời gian của chính
nó. Do vậy với CSDL thời gian ta có thể biết tất cả mọi hiện tượng, sự kiện xảy ra
trước đây, cũng như có thể đưa ra tiên đoán, dự báo cho tương lai, nhằm có những
bước điều chỉnh thích hợp cho tổ chức, cá nhân đó. Ngày nay nếu như dữ liệu thời
gian được quản lý thì sẽ rất nhiều ứng dụng sẽ được phát triển một cách mạnh mẽ, đáp
ứng thông minh các nhu cầu cần thiết cho các chính phủ, tổ chức, công ty…Với CSDL
thời gian, các vấn đề trên có thể được giải quyết dễ dàng, thuận tiện hơn.
I.3 Lí do phát triển hệ CSDL quan hệ đối tượng thời gian kép
Vấn đề thời gian thực sự là vấn đề quan tâm các nhà nghiên cứu trong suốt
hơn 20 năm qua, chính bởi tính chất quan trọng của thời gian trong đời sống thực và
còn phản ánh lại trong CSDL. Mặc dù khái niệm CSDL thời gian đã tồn tại trong một
thời gian dài, tuy nhiên việc hiện thực CSDL thời gian cho các ứng dụng thông thường
vẫn còn rất ít.
Các ứng dụng hiện tại đang né tránh tính phức tạp về thời gian, nếu như
điều đó là không quá cần thiết thì trạng thái của hệ thống chỉ là trạng thái hiện tại và
duy nhất. Việc phát triển một hệ CSDL thời gian sẽ góp phần đưa ứng dụng phục vụ
đúng như mục đích tồn tại của nó, giải quyết cả những khó khăn, trắc trở do quản lý
thời gian mà ứng dụng đang gặp phải.
Một lí do khiến cho các tổ chức đầu tư cho ứng dụng có tính thời gian vì chi
phí cho bộ nhớ lưu trữ dữ liệu hiện tại không còn là vấn đề đáng lo lắng. Họ mong
Phần 1. Phát biểu vấn đề


 4

muốn lưu giữ mọi dữ liệu cả những dữ liệu quá khứ trước đây và cả tương lai, thay vì
chỉ mỗi dữ liệu hiện tại. Vì họ ý thức được tính quan trọng nổi bật của dữ liệu dù nó là
dự liệu cũ hay là dữ liệu để hoạch định cho tương lai.
Để diễn tả đầy đủ quá trình tồn tại, biến đổi và phát triển của một CSDL mà
mô tả thế giới thực cùng với sự tồn tại của chính nó trong hệ CSDL, tem thời gian
được gán thêm vào CSDL đó. Hai loại tem thời gian cần có là thời gian giao tác và
thời gian hiệu lực, chi tiết về tem thời gian này sẽ được trình bày chi tiết trong phần
sau. CSDL có cả hai loại tem thời gian trên được gọi là CSDL thời gian kép
(Bitemporal Database). Một hệ CSDL cho phép lưu trữ, thao tác, quản lý, truy
vấn trên CSDL thời gian kép được gọi là hệ CSDL thời gian kép.
Việc hỗ trợ quản lý dữ liệu thời gian từ các hệ quản trị cơ sở dữ liệu hiện
nay vẫn rất ít, đặc biệt là hầu như không có hỗ trợ nào cho dữ liệu phụ thuộc thời gian
kép. Do đó, việc quản lý cơ sở dữ liệu phụ thuộc thời gian kép trong các ứng dụng đều
phải được thực hiện ở mức ứng dụng. Điều này trở thành gánh nặng cho nhà phát triển
ứng dụng vì rõ ràng việc quản lý cơ sở dữ liệu phụ thuộc thời gian tương đối phức tạp
và sẽ phức tạp hơn trong trường hợp của cơ sở dữ liệu phụ thuộc thời gian kép. Sự
phức tạp này được minh chứng cụ thể trong tài liệu [1].
Hơn nữa, mô hình dữ liệu quan hệ hay hướng đối tượng tồn tại những yếu
điểm riêng khi áp dụng chúng để quản lý dữ liệu các ứng dụng phức tạp. Do vậy trong
thời gian gần đây, việc mở rộng, thừa hưởng và kết hợp những ưu điểm nổi bật từ hai
mô hình trên thành mô hình quan hệ quan hệ đối tượng đã được quan tâm và thực hiện.
Bên cạnh những đặc tính ưu việt của công nghệ mới này, một lí do khác làm cho mô
hình quan hệ đối tượng đã và đang được chọn và sử dụng. Đó là khả năng đáp ứng về
quản lý dữ liệu ngày càng phức tạp và phổ biến của mô hình này. Đồng thời, việc chọn
mô hình này dựa trên khả năng hỗ trợ từ các hệ quản trị CSDL quan hệ đối tượng ngày
nay mang lại.
Với những lý do đã đề cập ở trên, một hệ CSDL quan hệ đối tượng phụ
thuộc thời gian kép cần được phát triển.

Phần 1. Phát biểu vấn đề

 5

I.4 Mục tiêu của luận văn
Như trình bày ở trên, mục tiêu của luận văn này là nhằm phát triển một hệ
CSDL phụ thuộc thời gian kép (Bitemporal Database System) dựa trên công nghệ cơ
sở dữ liệu quan hệ đối tượng.
Luận văn được thực hiện nhằm đưa ra mô hình dữ liệu thời gian kép, quản
lý dữ liệu, ngôn ngữ định nghĩa và thao tác dữ liệu thời gian một cách hiệu quả. Cũng
như mong muốn hoàn thành một hệ thống cung cấp cách thức, phương tiện lưu trữ,
thao tác, xử lý dữ liệu thời gian kép, nhằm giảm bớt tính phức tạp cho việc phát triển
ứng dụng có tính thời gian và tăng tính trong suốt về thời gian đối với người dùng hệ
thống.
Việc nghiên cứu phát triển một hệ CSDL thời gian kép cũng nhằm hỗ trợ
cho CSDL thời gian trong các Hệ quản trị CSDL hiện tại cũng như mong muốn giúp
ích CSDL thời gian trong các công trình nghiên cứu học thuật: các vấn đề liên quan
như cách thức hiệu quả cho việc mô tả ngữ nghĩa của dữ liệu thời gian, mô hình, biểu
diễn và truy vấn dữ liệu thời gian.
Có rất nhiều mô hình dữ liệu đã được chọn để nghiên cứu và phát triển hệ
CSDL thời gian. Mỗi mô hình có những ưu lợi thế nhất định khi áp dụng biểu diễn
CSDL thời gian. Phần II trình bày về việc phát triển đặc tính thời gian trên các mô
hình dữ liệu được dùng trong các công trình và nghiên cứu liên quan. Luận văn này đề
xuất phát triển hệ thống dựa trên mô hình quan hệ đối tượng, một mô hình dữ liệu tận
dụng được ưu thế của cả mô hình dữ liệu quan hệ và tính chất hướng đối tượng của mô
hình dữ liệu đối tượng, để xây dựng một hệ CSDL hỗ trợ cả hai khía cạnh thời gian
hiệu lực và giao tác, cho phép phát triển các ứng dụng CSDL phụ thuộc thời gian kép
được hỗ trợ theo cách mà phát triển các ứng dụng CSDL không phụ thuộc thời gian
được hỗ trợ trên hệ CSDL không phụ thuộc thời gian.
I.5 Cấu trúc luận văn

Luận văn bao gồm năm phần chính và một phần phụ lục. Liệt kê sau đây
mô tả cấu trúc luận văn và tổng quan về mỗi phần trong luận văn:
Phần 1. Phát biểu vấn đề

 6

Phần I: Phát biểu vấn đề. Phần này trình bày tính quan trọng và cần thiết
của ứng dụng dữ liệu thời gian và nhu cầu phát triển hệ thống CSDL thời gian kép
trong thực tế.
Phần II: Cơ sở lý thuyết. Trình bày các khái niệm, thuật ngữ liên quan và
mô hình dữ liệu của CSDL thời gian.
Phần III: Tổng thuật về các công trình liên quan. Phần này các giải pháp
phát triển hệ thống CSDL thời gian được trình bày, cũng như việc hiện thực hướng
thời gian trong các công trình học thuật và thương mại.
Phần IV: Mô hình dữ liệu quan hệ đối tượng phụ thuộc thời gian kép.
Trong phần này, chúng tôi đề xuất một mô hình dữ liệu mới cho việc quản lý dữ liệu
phụ thuộc thời gian kép. Mô hình dữ liệu này được định nghĩa dựa trên mô hình dữ
liệu quan hệ đối tượng.
Phần V: Hệ cơ sở dữ liệu quan hệ đối tượng phụ thuộc thời gian kép.
Một hệ cơ sở dữ liệu quan hệ đối tượng phụ thuộc thời gian kép được phát triển dựa
trên mô hình dữ liệu quan hệ đối tượng phụ thuộc thời gian kép đã được đề xuất ở
phần IV.
Phần VI: Tổng kết. Phần này tổng kết lại các nội dung đã được thực hiện
cho đề tài luận văn. Các đóng góp chính của luận văn được trình bày và các hướng
phát triển cũng được giới thiệu.
Phần Phụ lục. Trong phần này, tài liệu hướng dẫn cài đặt và sử dụng hệ
thống mới được đưa ra, kèm các hình ảnh ghi nhận các kịch bản thao tác và truy xuất
dữ liệu thời gian sau khi hệ thống được cài đặt.
Sau cùng, các tài liệu tham khảo đã được sử dụng trong luận văn được tóm
tắt ở những trang cuối của quyển luận văn này.


Phần 2. Cơ sở lý thuyết
Phần II. Cơ sở lý thuyết
II.1 Các khái niệm
Ví dụ về CSDL thời gian kép
Ngày Thế giới thực Hành vi
CSDL
CSDL lưu trữ

VT
bd
VT
kt
TT
bd
TT
kts
01/01/80
John được sinh
ra
Không John chưa tồn tại trong
CSDL

01/01/00
John chuyển
đến Basel
Không John chưa tồn tại trong
CSDL

25/02/00

John được ghi
vào CSDL
John được
ghi vào
CSDL
John sống ở Basel 01/01/ ∞ 25/02/ Bây
20/05/01
John báo:
chuyển đến
Zurich vào
01/08/01
Thông tin
cũ: John ở
Basel được
cập nhật
thành ở
Zurich
John ở Basel
John sống ở Basel
John sống ở Zurich
01/01/
01/01/
01/08/

31/07/

25/02/
20/05/
20/05/
20/05/

Bây
Bây
01/08/01
John chuyển
đến Zurich
Không Tương tự như 20/05/01
01/04/02

John chuyển
đến Geneva
Không Tương tự như 20/05/01
05/06/02
John báo đã
chuyển đến
Geneva vào
01/04/02
Thông tin cũ
về John sống
ở Zurich
được cập nhật
thành
Geneva.
John sống ở Basel
John sống ở Basel
John sống ở Zurich
John sống ở Zurich
John sống ở Geneva

01/01/
01/01/

01/08/
01/08/
01/04/

31/07/

31/03/


25/02/
20/05/
20/05/
05/06/
05/06/
20/05/
Bây
05/06/
Bây
Bây
Bảng 3.1 Mô tả ví dụ về một dữ liệu thời gian kép (Wikipedia, 2005)
 7

Phần 2. Cơ sở lý thuyết
Ví dụ trọng bảng 3.1 mô tả về hai chiều thời gian của các sự việc xảy ra
trong thế giới thực, về cuộc sống của một người có tên là John. Hình 31.1 cho thấy hai
chiều thời gian: thời gian hiệu lực và thời gian giao tác.
Ba sự kiện được lưu trong CSDL, mỗi phiên bản (thông tin, trạng thái) của
một sự kiện trong CSDL thời gian kép có thể xem là mặt phẳng bị bao trong không
gian 2 chiều. Cụ thể hơn, nó là mặt phẳng ít nhất bị bao bởi TT
s

trong chiều thời gian
thao tác. Nếu sự kiện đó thời gian hiệu lực bắt đầu và kết thúc thì nó sẽ được bao bởi
chiều thời gian hiệu lực. Đồng thời nó sẽ bị bao bởi TT
e
, nếu hàng dữ liệu đó trở thành
là dữ liệu cũ. Chỉ có một sự việc là hiệu lực tại một thời điểm, ví dụ hoặc là sự kiện
“John sống ở Basel” hay “John sống ở Zurich”. Với hình trên, điểm tròn để biểu diễn
thời điểm cập nhật vào CSDL, điểm này sẽ nằm trên đường chéo nếu thông tin đó
(tương ứng với một hàng) trong CSDL được cập nhật sau khi nó trở nên hiệu lực trong
thế giới thực. Ngược lại, nó nằm phía dưới đường chéo. Khi thời điểm hiệu lực của
một sự việc cũng chính là thời điểm thông tin ấy được cập nhật vào CSDL, điểm tròn
sẽ thuộc đường chéo.

Hình 2.1. Mô hình không gian của dữ liệu thời gian kép.
 8

Phần 2. Cơ sở lý thuyết
II.1.1 Khái niệm về thời gian
Có rất nhiều khái niệm của thời gian được dùng trong các CSDL thời gian.
Trong phần này sẽ đưa ra những thuật từ liên quan, cũng được xem như là thống nhất
trong lĩnh vực nghiên cứu về vấn đề này. Có 3 mô hình cơ bản cho thời gian: liên tục,
rời rạc hay dày đặc. Thời gian thường được ánh xạ thành tập các số theo thứ tự tương
ứng với vị từ so sánh <.
II.1.1.1 Tem thời gian hiệu lực VT – valid time
Mô tả thời gian mà một thông tin là hiệu lực trong thế giới thực. Các thuật
từ khác cũng từng được sử dụng như thời gian sự kiện hay thời gian hợp lệ [15]. Hay
một định nghĩa khác VT là thời gian thu thập được, có thể kéo dài từ quá khứ, hiện tại
và tương lai khi một sự việc là có thật trên thế giới thực [13]. Dữ liệu hiện tại là dữ
liệu hiệu lực tại thời điểm “bây giờ” (thời điểm hiện tại), ngược lại với dữ liệu tiên
đoán là dữ liệu được tin là sẽ hiệu lực trong tương lai. Hình 2.2 mô tả đặc tính của dữ

liệu hiệu lực.

Hình 2.2. Dữ liệu tem thời gian hiệu lực
Hình 2.2 cho thấy thông tin lương của một nhân viên, từ thời gian t1 đến
thời gian t2 thì lương là 15000, từ thời điểm t2 đến t3 là 17000 Ta thấy thời điểm
“bây giờ” nằm trong khoảng thời gian t4 và t5. Sự kiện lương được tiên đoán trước là
19000 đến 25000 tại thời điểm t5 và sẽ còn hiệu lực đến thời điểm không biết trước
nào đó trong tương lai, nên người ta đã đặt nhiều tên cho giá trị đặc biệt này: cho đến
khi cập nhật “until changed” (UC) hay vô cùng ∞”. Khoảng thời gian hiệu lực có thể là
quá khứ, hiện tại hay cả tương lai.
 9

Phần 2. Cơ sở lý thuyết
II.1.1.2 Tem thời gian giao tác TT – transaction time
Trong một số trường hợp, chúng ta không thể lưu dữ liệu đúng chính xác
mà sự kiện đó trở nên hiệu lực trong thế giới thực. Trong trường hợp như thế ta dùng
tem thời gian giao tác.
Thuật ngữ tem thời gian giao tác để chỉ cho thời gian đăng kí một sự việc,
đối tượng trở nên hiệu lực trong một CSDL. Khác với tem thời gian hiệu lực, tem thời
gian này không được có giá trị quá thời điểm giao tác hiện tại (now). Một số thuật ngữ
khác tương đương như tem thời gian vật, thời gian đăng kí [15].
Hình 2.3 trình bày một thể hiện của một thông tin luơng với tem thời gian
giao tác. Tại thời điểm k1 giá trị lương 15000 được ghi vào CSDL. Và thông tin này
hiện hành cho đến khi thời gian giao tác k2, tại TT là k3 thì không có thông tin nào
được lưu trữ cho đến TT k4 với giá trị lương mới là 19000. Cùng thời điểm đó TT k5
ghi giá trị lương 25000 vào CSDL. Khi chưa có thông tin gì thay đổi sự kiện còn đang
hiệu lực trong CSDL thì tem thời gian giao tác kết thúc có giá trị không xác định. Giá
trị của nó có thể xem như là một biến. Giá trị đặc biệt này được đặt tên là UC hay bây
giờ (NOW) bởi rất nhiều tác giả [14].


Hình 2.3. Dữ liệu tem thời gian giao tác
Như vậy, tem thời gian hiệu lực dùng để mô tả khoảng thời gian hiệu lực
của một thông tin chắc chắn trong thế giới thực, tem thời gian giao tác là khái niệm
thời gian nhân tạo chỉ tồn tại trong hệ thống CSDL [13]. Tem thời gian giao tác sẽ
không bị thay đổi kể từ lần đầu tiên nó được ghi nhận vào trong CSDL. Hay nói cách
khác, ta không thể những gì đã diễn ra ở những thời gian giao tác trong quá khứ. Thời
 10

Phần 2. Cơ sở lý thuyết
gian giao tác là tương ứng một-một với một giao tác hay một hành vi thật sự xảy ra đối
với CSDL.
II.1.1.3 Thời gian kép
Nếu một CSDL hiện thực được cả hai loại tem thời gian TT và VT như
bảng 3.2 thể hiện quan hệ thời gian mô tả thông tin lương và phòng ban theo thời gian
của Paul và Mary. CSDL như vậy được gọi là CSDL thời gian [13].
Về cơ bản, không có giới hạn về số chiều thời gian mà một CSDL hỗ trợ,
một CSDL như vậy có tồn tại trong thực tế. Jensen và Snodgrass đưa ra các kịch bản
ứng dụng của CSDL đa chiều [19]. Chiều thời gian phụ thuộc vào sự phân loại sự liên
quan giữa VT và các TT.
Tên Phòng Vị trí VT TT
Paul
Thiết kế Trợ lý 01/90 9/90 2/90 UC
Paul
Thiết kế Trợ lý 03/91 11/91 12/90 12/91
Paul
Thiết kế Trợ lý 03/91 05/91 12/91 UC
Paul
Thiết kế Kỹ sư 08/91 UC 12/91 UC
Mary
Thiết kế Quản lý 01/90 02/91 01/90 UC

Mary
HQ AD 12/90 12/93 02/91 UC
Bảng 3.2. Thông tin về nhân viên biểu diễn dưới CSDL thời gian kép.
II.1.1.4 Thời gian người dùng định nghĩa
Khái niệm thời gian này được dùng cho các thông tin thời gian cần lưu
trong CSDL mà không liên quan đến thời gian VT hay TT [15]. Ta xét một ví dụ về
CSDL nhân viên của một công ty. Ngày đầu vào công ty và ngày kết thúc việc làm có
thể xem là thời gian hiệu lực của người nhân viên ấy trong thế giới thực. Khi thông tin
này chính thức được lưu trữ hay bị xóa đi trong CSDL thì được gọi là tem thời gian
giao tác. Có những thuộc tính khác cũng liên quan đến thời gian cũng cần lưu trữ
chẳng hạn như ngày sinh, ngày tốt nghiệp đại học, các ngày đậu cuộc thi,…Các thời
gian như vậy được xem là kiểu thời gian do người dùng định nghĩa.
II.1.1.5 Đơn vị thời gian và “Chronon”
Đơn vị thời gian là một đặc tính thời gian căn bản của một CSDL thời gian.
Đặc tính đơn vị xác định độ chính xác của một thông tin thời gian duy trì trong CSDL
 11

Phần 2. Cơ sở lý thuyết
đó, phụ thuộc vào mục đích của CSDL mà độ mịn thời gian được sử dụng sẽ khác
nhau. Chẳng hạn trong các ứng dụng khoa học vật lý thì độ chính xác tính trên đơn vị
giây, trong khi các ứng dụng liên quan quản lý thông tin cá nhân nhân khẩu, thì độ
chính xác tính bằng đơn vị ngày.
Khoảng thời gian ngắn nhất cho phép của một CSDL thời gian được gọi là
“chronon” (thuật ngữ do Ariav và Clifford đề ra 1986), nó là đơn vị thời gian không
thể chia nhỏ nữa. Gadia sử dụng thuật ngữ “instant” 1986, Allen thì đề xuất
“moment”, Navathe và Ahmed thì sử dụng thuật từ “time unit” 1987. Jensen [13] đã sử
dụng thuật ngữ “chronon”, “chronon” không là một giá trị rời rạc hay một điểm mà là
một đoạn trên trục thời gian. Kích thước của mỗi chronon cố định tùy thuộc vào độ
mịn thời gian mà ứng dụng cần (giây, phút, giờ, tháng…). Chiều dài của một
“chronon” được định nghĩa bởi khái niệm đơn vị của một kiểu dữ liệu mà hệ thống

CSDL dùng nó để lưu trữ thông tin. Ví dụ kiểu dữ liệu timestamp trong PostgreSQL
và DB2 là 1µs, trong khi là 1nanos trong Oracle. Kiểu dữ liệu date là 1 ngày trong
postgreSQL và DB2, nhưng là 1s trong Oracle.
Hai khái niệm instant và event: Instant là một điểm thời gian trên trục thời
gian trong khi một event là một sự kiện không phải là một điểm thời gian mà nó được
ánh xạ vào một chronon cụ thể nào đó. Nếu ta nói một sự kiện xảy ra tại chronon “x”,
thì tức là nó đã xảy ra tại bất kì instant nào trong chronon “x”.
Tính chất độ mịn là điều đáng quan tâm trong các ứng dụng CSDL thời
gian, bởi vì nếu 2 sự kiện xảy ra trong cùng một chronon, chúng sẽ được lưu trong
CSDL với cùng một giá trị tem thời gian, thậm chí khi chúng xảy ra tại những điểm
thời gian khác nhau, hay sẽ không được cùng lưu vào CSDL do những ràng buộc mô
tả trong ứng dụng.
II.1.2 Phương thức gán tem thời gian
Việc chọn lựa gán tem cái gì và gán như tem như thế nào được quyết định
bởi mô hình dữ liệu bên dưới. Điển hình, dữ liệu có thể được gán tem với một instant,
một khoảng thời gian hay đoạn thời gian.
 12

Phần 2. Cơ sở lý thuyết
Mô hình dữ liệu quan hệ 1NF sẽ giới hạn việc gán tem thời gian, trong khi
các mô hình dữ liệu hỗ trợ đối tượng có giá trị thuộc tính dẫn xuất hay quan hệ N1NF,
sẽ cho phép việc gán tem thời gian phức tạp.
II.1.2.1 Sự khác nhau mô hình dữ liệu thời gian mốc thời gian và khoảng thời
gian
Các mô hình dữ liệu có phân biệt nhau ở đặc tính: sử dụng tem thời gian là
kiểu mốc thời gian hay khoảng thời gian. Một mô hình dữ liệu kiểu mốc thời gian lưu
tất cả các bản tin, thông tin tại tất cả các mốc thời gian, trong khi mô hình khoảng thời
gian mô tả thông tin sự kiện luôn đi kèm với khoảng thời gian mà nó đúng, hiệu lực
trong thế giới thực.
Đối với những hệ thống mà có mật độ thời gian cao, tức chronon tính theo

đơn vị giây chẳng hạn, khi đó việc lưu thông tin tại tất cả các mốc thời gian trở nên
không thực tế. Hơn nữa, mô hình dữ liệu kiểu mốc thời gian sẽ không mô tả thông tin
thế giới thực một cách đúng nghĩa, sinh động so với mô hình dữ liệu khoảng thời gian
[14].
Ví dụ như muốn biểu diễn sự việc đang có hiệu lực từ thời điểm trong quá
khứ và vẫn còn hiệu lực cho đến khi bị thay đổi (UC) sẽ không biểu diễn được trong
mô hình mốc thời gian. Tuy nhiên, với các ứng dụng có “chronon” có lượng thời gian
lớn hơn thì mô hình mốc thời gian là một tùy chọn, sẽ làm ứng dụng đơn giản hơn, các
câu truy vấn cũng không rắc rối như trong mô hình khoảng thời gian.
Bảng 3.3 và 3.4 mô tả cùng một dữ liệu với mô hình mốc thời gian và
khoảng thời gian.
Tên Tạm trú Thời gian
John
Basel 01/01/00
John
Basel 02/01/00
John
Basel 03/01/00
John
Basel 04/01/00
John
Basel …
John
Basel 31/07/01
John
Zurich 01/08/01
John
Zurich 02/08/01
John
Zurich 03/08/01

 13

Phần 2. Cơ sở lý thuyết
John
Zurich …
John
Zurich 05/06/02

… …
Bảng 3.3: Quan hệ với mô hình dữ liệu mốc thời gian
Tên Tạm trú Tg
bd
Tg
kt
John
Basel 01/01/00 31/07/01
John
Zurich 01/08/01 05/06/02

… … …
Bảng 3.4: Quan hệ với mô hình dữ liệu khoảng thời gian
Tuy nhiên tuỳ theo mô hình gán tem thời gian là mốc thời gian hay khoảng
thời gian mà sẽ cho những kết quả khác nhau trên các phép toán trên các quan hệ này.
Ta xem xét ví dụ sau để thấy sự khác nhau giữa hai mô hình gán tem này trong thao
tác “khác nhau” [29].
Cho 2 quan hệ 

và 

:



: 

:





Thuộc tính Thời gian
A
[1,10]
A
[11,20]
A
[21,30]
Thuộc tính Thời gian
A
[5,15]
Các quan hệ từ 

,

,

,

là kết quả của phép toán “khác nhau” của 2
quan hệ 




như sau:



: 

:
Thuộc tính Thời gian
A
[21,30]
Thuộc tính Thời gian
A
[1,4]
A
[16,30]

 14




:


:
Phần 2. Cơ sở lý thuyết
Thuộc tính Thời gian

A
[1,4]
A
[16,20]
A
[21,30]
Thuộc tính Thời gian
A
[1,10]
A
[11,20]
A
[21,30]



chứa giá trị A có hiệu lực thời gian trong 

mà không có trong 

. Đây
là cách tiếp cận theo mô hình điểm thời gian có thực hiện phép hợp (coalsece). Trong
kết hợp, các hàng có thuộc tính (phi thời gian) mang giá trị giống nhau có thể được kết
hợp nhau theo trường tem thời gian nếu thời gian của chúng là kề nhau, hay chồng lấp
lên nhau. Và khi đó hàng mới được tạo ra có thời gian là tập hợp của các khoảng thời
gian của các hàng nguyên thủy.
Ngược lại, kết quả 

có cách tiếp cận theo khoảng thời gian, tức là 



chứa tất cả cách hàng có trong 

mà không có trong 

, khi đó xem có khoảng thời
gian là giá ị nguyên tử không thể hia nhỏ được. tr c


trả về các hàng từ 

với khoảng thời gian mà không bị chồng lấp với
khoảng thời gian củ các hàng trong 

. a
Kết quả 

cũng tương tự như 

về mặt tương đương hình thức, song về
ngữ nghĩa thì 

là phiên bản có thực hiện kết hợp trên thời gian của 

.
II.1.2.2 Khoảng thời gian trong CSDL thời gian
Các toán tử cho mốc hay điểm thời gian tương tự như trong CSDL
snapshot. Song trong CSDL thời gian, những vấn đề về ràng buộc liên quan đến các
khoảng thời gian bị trùng lấp nhau nảy ra.
Một ràng buộc điển hình là các khoảng thời gian hiệu lực của một đối

tượng, thực thể là không chồng lấp nhau. Ví dụ CSDL lưu một người có thể sống ở
nhiều nơi, nhưng tại một thời điểm thì chỉ sống ở một nơi mà thôi. Những ràng buộc
như thế đòi hỏi vị từ cho khoảng thời gian đòi hỏi phức tạp hơn.
Allen đã giới thiệu tập gồm 13 vị từ so sánh cho khoảng thời gian [7].
Những vị từ này mô tả trong bảng 3.5 sau.
 15

×