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

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

175 1,2K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 175
Dung lượng 2,93 MB

Nội dung

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

Trang 1

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

Trang 2

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

Trang 3

  ii 

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

Trang 4

  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

Trang 5

  iv 

 

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

Trang 6

  v 

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

Trang 7

  vi 

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

Trang 8

  vii 

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

Trang 9

  viii 

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

Trang 10

  ix 

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  

Trang 11

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

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

Trang 12

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

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

Trang 13

• Ứ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

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

Trang 14

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

Trang 15

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

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:

Trang 16

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

Trang 17

Phần II Cơ sở lý thuyết

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

John ở Basel John sống ở Basel John sống ở Zurich

01/01/

01/01/

01/08/

∞ 31/07/

Geneva

John sống ở Basel John sống ở Basel John sống ở Zurich John sống ở Zurich John sống ở Geneva

∞ 31/03/

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)

Trang 18

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 TTs 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 TTe, 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

Trang 19

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

Trang 20

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

Trang 21

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

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

Trang 22

đó, 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

Trang 23

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

Trang 24

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]

Trang 25

Thuộc tính Thời gian

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

Trang 26

 và là khoảng thời gian, và begin(I) và end(I) biểu diễn điểm thời gian

bắt đầu S và thời gian kết thúc E: Các biểu diễn khác của khoảng thời

Vị từ so sánh Tươ đương ng

e befor after

end( ) < begin( ) end( ) < begin( )

during

contains

(begin( ) > begin( ) end ) end ( ( )) (begin( ) begin( ) end( ) < end( )) (begin( ) > begin( ) end( ) end( )  ) (begin ( ) begin( ) e nd( ) < end( ))

end( ) = begin( ) end( ) = begin( )

starts

y started b

begin( ) = begin( ) end ) < end ( ( ) begin( ) = begin(v) end( ) < end( )

finishes finished by

begin( ) > begin( ) end ) = end( ) ( begin( ) > begin( ) end( = end(I ) )

equals begin( ) = begin( ) end( ) = end( ) Bảng 3.5 Vị từ so sánh khoảng thời gian của Allen

II.1.2.3 Đoạn thời gian

Khi một sự việc có hiệu lực không chỉ trong một khoảng thời gian mà còn trong nhiều khoảng thời gian khác nhau, với mô hình khoảng thời gian lưu các sự việc, thông tin kiểu thế này sẽ dẫn đến việc dư thừa dữ liệu Chính vì vậy, khái niệm thuật ngữ mới đoạn thời gian (temporal element) được đưa ra [13], đoạn thời gian là tập hữu hạn các khoảng thời gian

II.1.3 Tem cho dữ liệu

Trong các mô hình dữ liệu, giá trị của thuộc tính được kết hợp với một hay nhiều thuộc tính thời gian Ta có thể phân biệt các mô hình dữ liệu với nhau dựa ở đặc

Trang 27

tính: gán tem thời gian cho mỗi thuộc tính một cách riêng lẻ hay cho tập các thuộc tính hay còn gọi là hàng, bộ [2]

Thuận lợi do mô hình dữ liệu hỗ trợ tem thời gian trên thuộc tính là hoàn toàn tránh được dư thừa dữ liệu Khi thuộc tính thay đổi giá trị của nó, nó độc lập với thuộc tính khác trong thế giới thực Tuy nhiên đặc tính tem thời gian trên thuộc tính lại mang lại sự rườm rà đối với tem thời gian lược đồ mô hình hệ thống của quan hệ vì lúc này mỗi bảng lưu chỉ một thuộc tính người dùng và thuộc tính thời gian đi kèm của nó

Mô hình CSDL với tem thời gian theo hàng có cấu trúc lưu trữ trong sáng, thuận tiện lưu trữ, tổ chức và thuận lợi trong các kỹ thuật truy vấn Nhưng nếu chỉ một thuộc tính của một hàng bị thay đổi giá trị, sẽ dẫn đến toàn bộ hàng được sao chép lại

và được đánh dấu tem thời gian khác Song điều này cũng đem lại bất tiện là sự dư thừa dữ liệu [2]

II.1.3.1 Tem thời gian theo hàng, đối tượng

Những công trình hiện thực tem thời gian trên mô hình quan hệ [8, 26, 27]

Sự khác nhau của các nghiên cứu này tùy thuộc vào nhiều đặc tính này mà hệ thống này hỗ trợ: hỗ trợ tem thời gian VT, hay TT hay cả hai loại tem thời gian hoặc hỗ trợ gán tem thời gian bằng thời điểm hay bằng khoảng thời gian, hoặc là hỗ trợ các khái

niệm thời gian: quá khứ, hiện tại (now) hay tương lại như UC, ∞, mãi mãi (forever)…

II.1.3.1.1 Mô hình tiếp cận cơ bản

Ta đặt miền giá trị của VT là và của TT là Định nghĩa miền giá trị như sau:

Trang 28

Miền giá trị với các điểm thời gian hay khoảng thời gian áp dụng công thức dưới:

a Mô hình hướng sự kiện

Mô hình này không cho ta biết được lượng thời gian mà đối tượng đó hiệu lực trong thế giới thực Nó chỉ cho biết thời điểm , khi mà sự kiện nào đó xảy

ra làm đối tượng hay sự việc trở nên hiệu lực và được đăng kí hay giao tác vào CSDL vào

Các mô hình hướng sự kiện: Mô hình Ariav, mô hình này không hỗ trợ dò xét các thông tin đã không còn hiệu lực trong CSDL, do vậy nó có rất nhiều yếu điểm

Trang 29

b Mô hình sự kiện - khoảng thời gian

Là mô hình lai ghép giữa gán tem thời gian sự kiện và khoảng thời gian, nó cho phép hỗ trợ biểu diễn ngữ nghĩa, thông tin về lượng thời gian của các sự việc, đối tượng trong thực tế

Các thông tin về đời sống của đối tượng: khi nó được tạo ra, khi nó bị xóa

đi hay bị thay đổi…cũng như các thông tin, dữ liệu quá khứ, hiện tại và tương lai Mô hình này sử dụng tem thời gian giao tác bằng điểm thời gian Do vậy, CSDL sẽ không nắm bắt được thông tin mà sự việc hay thông tin ấy đã cư trú trong CSDL trong bao lâu Mô hình Jensen là một biểu diễn của mô hình này

c Mô hình khoảng thời gian

Với mô hình này, thông tin được gán tem thời gian bằng cặp giá trị VT - TT , , ,

Với là biến, ví dụ UC nếu hàng dữ liệu đó đang hiện hành trong CSDL

1 Nếu , thì hàng đó đã bị xóa một cách luận lý

2 Nếu , hàng đó được thêm vào CSDL trước khi sự việc có hiệu lực t t trong thế giới thật hậ

3 Nếu thì hàng đó thêm vào CSDL sau khi sự việc có hiệu lực thật trong th ực tế

4 Nếu , ta có thao tác thêm vào CSDL “đồng thời” với thực tế

d 1NF và OID

Tất cả các hàng được gán tem thời gian thỏa dạng chuẩn 1 (1NF), vì không

có thuộc tính nào mang phức hợp, hay đa trị Nhưng một đối tượng hay một thực thể lại phải lưu thành nhiều hàng trong CSDL Chính vì thế, không có sự tương ứng một – một giữa đối tượng thật và đối tượng lưu trong CSDL, mà là sự thể hiện của rất nhiều hàng, bản ghi Do vậy nó tạo ra sự dư thừa dữ liệu không cần thiết, vì có một số thuộc tính thì ít thay đổi giá trị trong khi các thuộc tính khác thì ngược lại

Dữ liệu quan hệ dạng chuẩn 1 bản chất của nó là không tồn tại cơ chế tự động nhận diện đối tượng, chẳng hạn như khóa chính của một hàng Khi khóa chính

Trang 30

của hàng đó thay đổi, thông tin của đối tượng đó sau này được thêm vào trong CSDL với khóa mới, sẽ không có cách nào để biết được nó cũng là đối tượng trước kia

Sự thiếu sót “tính động” của loại tem thời gian này mà người ta đã đề xuất tem thời gian theo thuộc tính của đối tượng

II.1.3.2 Tem thời gian thuộc tính

Đa số các mô hình quan hệ thời gian hỗ trợ tem thời gian theo hàng Tem thời gian theo thuộc tính cho phép miền giá trị áp dụng cho thuộc tính, tương ứng với thuộc tính đa trị Nó đã không thỏa dạng chuẩn 1, những quan hệ này được xem như là quan hệ không theo dạng chuẩn 1 (N1NF)

II.1.3.2.1 Mô hình tiếp cận cơ bản

Có 3 cách tiếp cận cho mô hình tem thời gian thuộc tính được định nghĩa như sau:

Mô hình này không thực hiện được các vấn đề tham đổi dữ liệu ví như: Khi một sự việc, sự kiện bị xóa khỏi , sẽ thêm một cách luận lý , đã xóa thông tin cần xóa, với giá trị TT mới

Yếu điểm của mô hình này là không biết một sự kiện có bị xóa không nếu không so sánh tem thời gian trong Mặc hạn chế nữa là khi thay đổi chỉ số nhận

Trang 31

diện của đối tượng, sự việc thì nó cũng bị yếu điểm như 1NF Hơn nữa, nó cũng không tránh được vấn đề về dư thừa dữ liệu

b.

là mô hình hiện thực thuộc tính đa trị, mỗi thuộc tính đa trị là một bộ ba

VT, TT và một giá trị của thuộc tính Một hàng có n thuộc tính sẽ có n bộ ba như thế, mỗi bộ biểu diễn thông tin thời gian kép của một thuộc tính của hàng đó tại những thời gian khác nhau

Mô hình thời gian kép đa trị

Mô hình của Gadia AND Yeung [3], được gọi là mô hình không đồng nhất, một đại diện của mô hình R Mô hình này giải quyết được vấn đề dư thừa dữ liệu, và

nó cũng cho phép thay đổi giá trị của khóa nhận diện

c M

 một mô hình VT đa trị, nó là một hình thức đơn giản của mô hình trước

R Song nó không hỗ trợ thời gian TT Sau đây là những cách tiếp cận của mô hình này

ô hình VT đa trị

Mô hình của Gadia là mô hình tem trên khoảng thời gian Nó là mô hình giả định đồng nhất Định nghĩa những hàng thời gian đồng nhất chứa tất cả các thuộc tính được định nghĩa trên cùng một khoảng thời gian Hay nói cách khác tất cả thuộc tính của một hàng có giá trị VT nhận diện duy nhất Ý tưởng Gadia là sẽ tránh được việc lưu trữ những đối tượng có giá trị NULL, chẳng hạn tất cả các thuộc tính phải được định nghĩa trong suốt thời gian sống của đối tượng Tương tự Mô hình Tansel và Mô hình Clifford và Croker cũng là một hiện thực của mô hình VT đa trị [3]

Immortal DB mở rộng thêm đặc tính thời gian giao tác TT cho Sql Server, hiện thực gán tem thời gian cho mỗi phiên bản bản ghi với thời gian T theo thứ tự chuỗi thực thi thứ tự trong giao tác và so với các giao tác khác Nó sử dụng cơ chế lan truyền tem thời gian để lan truyền thời gian cho các thao tác cập nhật sau khi hoàn thành giao tác Tem thời gian phải phản ánh đúng thứ tự của giao tác [24]

II.1.4 Phân loại CSDL thời gian

Phần trên đã đề cập về các khái niệm của thời gian, dựa trên khái niệm đó

mà người ta phân loại CSDL thời gian:

Trang 32

ảnh (snapshot) chụp tức thời tại một thời điểm

nào đó, chứ không phải là cả một đoạn video

ghi lại toàn bộ tất cả các sự kiện

Hình 2.4 Hình biểu diễn CSDL snapshot

II.1.4.2 CSDL lưu quá khứ

CSDL lưu quá khứ ghi nhận lại lịch sử của dữ liệu tương ứng trong thế giới thực Tính động của thế giới thực xảy ra dọ

g thái dọc theo chiều thời gian

hiệu lực từ quá khứ, hiện tại và cả tương

lai Trong Hình 2.5 mô tả về CSDL này

Các thao tác trên CSDL này sẽ được đề

Một CSDL ghi nhận lại sự thay

đổi của chính CSDL đó được gọi là CSDL

Trang 33

giao tác hay rollback CSDL loại này ghi nhận dữ liệu dọc theo chiều thời gian giao tác, CSDL này không ghi nhận bất cứ trạng thái tương lai nào của dữ liệu vì tương lai thì chưa xảy ra Bất cứ khi nào có một lệnh sửa đổi xảy ra, hệ thống sẽ ghi nhận trạng thái mới với thời gian mà nó được thực hiện trong hệ thống trong khi vẫn giữ lại các trạng thái cũ, như Hình 2.6 Không có dữ liệu nào bị xóa về mặt vật lý Các thao tác thay đổi dữ liệu của CSDL này cũng được đề cập ở phần sau

Hình 2.6 Hình biểu diễn CSDL giao tác

II.1.4.4 CSDL thời gian kép

CSDL thời gian kép là sự kết

hợp giữa CSDL lịch sử và CSDL giao tác

Hình 2.7 cho ta thấy một CSDL

thời gian kép, ghi nhận trạng thái dữ liệu

theo cả hai chiều thời gian hiệu lực và

giao tác Chính vì thế nó cả hai đặc tính

của cả hai loại CSDL trên

Hình 2.7 Hình biểu diễn CSDL thời gian kép

II.2.1 Các thao tác căn bản

Quản lý dữ liệu trong CSDL thương mại được thực hiện thông qua các thao

tác INSERT, DELETE, UPDATE và SELECT Tất cả các CSDL thương mại đều hỗ trợ

các thao tác này Trong CSDL thời gian các thao tác quản lý cũng tương tự như vậy, tuy nhiên việc hiện thực ắt hẳn sẽ khác

Thao tác chèn cũng tương tự như thao tác thêm dữ liệu thông thường, thêm vào đó có thể đi kèm các tác vụ toán tử kết hợp các khoảng thời gian mà có cùng giá trị hiệu lực giống nhau

Trang 34

Thao tác xóa được thực thi như phép loại trừ luận lý Vì tất cả các dữ liệu

cũ phải được bảo toàn do vậy, thao tác xóa được phải được ghi lại với tem thời gian, đánh dấu thời điểm kết thúc của giá trị đó trong CSDL

Thường thì việc loại bỏ vật lý một dữ liệu (thao tác này thường được gọi là dọn rác -vacuuming) thỉnh thoảng được thực hiện chỉ vì muốn giảm kích thước lưu trữ của dữ liệu, hầu hết thì các ứng dụng đều muốn lưu lại những thông tin đã xóa này để

sử dụng cho một mục đích nào đó trong tương lai Khi xóa bỏ dữ liệu cũ, 3 hành động liên quan sau đây được xét đến:

1 Giá trị vừa hợp lệ ngay trước các giá trị bị xóa, bị loại đi, lúc này sẽ trở thành hợp lệ và hợp lệ trong suốt những khoảng thời gian mà các giá trị

bị loại trừ hay bị xóa đã có giá trị hợp lệ

2 Giá trị hợp lệ kế tiếp sẽ bắt đầu hay

3 Một giá trị mới được định nghĩa sử dụng khoảng thời gian của dữ liệu bị loại

Thao tác cập nhật không còn là thay giá trị cũ bằng giá trị mới (vẫn đảm bảo các ràng buộc) nữa mà vì toàn bộ thông tin trước đây của dữ liệu phải được duy trì Cả hai giá trị này sẽ được lưu vào trong CSDL và được dán nhãn tem thời gian đúng với thế giới thực

CSDL thời gian cũng yêu cầu các ràng buộc toàn vẹn, mô tả các luật để đảm bảo tính nhất quán của dữ liệu Những luật này khác nhau tùy thuộc vào kiểu CSDL thời gian được hiện thực: CSDL thời gian thao tác, CSDL thời gian hiệu lực, CSDL thời gian kép Trong phần mô hình thời gian kép đề xuất của hệ thống, thao tác

dữ liệu thời gian kép được ra cụ thể hơn và dựa trên những bước phân tích ở phần này,

ta sẽ đưa ra định nghĩa một tập các thao tác trên CSDL thời gian

CSDL thời gian không những lưu trữ những thông tin về tất cả thay đổi về trạng thái của đối tượng mà còn phải đảm bảo tất cả ràng buộc toàn vẹn tại mọi thời điểm của CSDL, cũng như thỏa ràng buộc toàn vẹn CSDL giữa những thời điểm ấy với nhau [4]

Trang 35

Giả sử ta xét là quan hệ được  tham chiếu và tham chiếu  có khóa

chính là CK thì tại mọi thời điểm trong thế giới thực cũng như tại bất kì trạng thái dữ liệu thì mọi giá trị của FK của dữ liệu phải bằng giá trị CK của tại thời điểm đó

Khóa ngoại trong CSDL thời gian kép không chỉ đảm bảo tồn tại một hàng,

bộ dữ liệu tương ứng trong quan hệ được tham chiếu đồng thời còn phải kiểm tra rằng tem thời gian giao tác và thời gian hiệu lực của hàng tham chiếu có thuộc, có được chứa trong khoảng tem thời gian giao tác và thời gian hiệu lực của hàng được tham chiếu Ràng buộc này còn được gọi là ràng buộc toàn vẹn tham chiếu thời gian kép Để thực hiện đảm bảo ràng buộc này không bị vi phạm, cần thực hiện kiểm tra 3 điều kiện sau: Ví dụ với 2 quan hệ và  có FK tham chiếu đến CK của Khoảng tem thời

gian hiệu lực và giao cho bởi V và T

1 Các hàng với CK=FK trong : Kiểm tra nếu có một hay nhiều hàng trong có

khóa dự tuyển cùng giá trị với khóa ngoại của

2 Trong cùng một trạng thái CSDL: Nếu điều kiện đầu tiên thoả, kiểm tra nếu khoảng tem thời gian giao tác của hàng thuộc quan hệ có thuộc, được chứa trong khoảng thời gian giao tác của một hàng hay sự kết hợp của các hàng trong quan hệ Tức   và

Nếu điều kiện này thoả mãn, tiếp tục điều kiện 3 Ngược lại đã vi phạm ràng buộc toàn vẹn tham chiếu thời gian kép

3 Trong cùng một thời điểm thế giới thực: Nếu điều kiện thứ nhất và thứ nhì thoả, kiểm tra khoảng tem thời gian hiệu lực của hàng tham chiếu có thuộc khoảng tem thời gian của một hàng hay hợp của các hàng được tham chiếu nào đó, hay

II.3.1 Hiện thực kiểm tra toàn vẹn tham chiếu thời gian kép

Toàn vẹn tham chiếu cấu trúc, hệ thống trạng thái CSDL một cách đúng đắn

và hợp lý Bất kỳ trạng thái CSDL sẽ vi phạm này quy luật này, được xem như là trạng thái sai, không hợp lệ Để không bị rơi vào các trạng thái CSDL sai như vậy cần tránh: các thao tác gây ra trạng thái bất hợp lệ này

Trang 36

  26 

II.3.1.1 Thao tác thêm trong quan hệ tham chiếu

Trước khi thêm một dữ liệu vào quan hệ tham chiếu, phải đảm bảo rằng khóa ngoại phải tham chiếu đến một giá trị có tồn tại trong suốt khoảng tem thời gian hiệu lực và vẫn còn hiệu lực trong dữ liệu hiện thời

II.3.1.2 Thao tác cập nhật và xóa trong quan hệ được tham chiếu

Có 2 khả năng liên quan đến thao tác cập nhật và xóa trong quan hệ được tham chiếu có thể dẫn đến việc vi phạm ràng buộc toàn vẹn tham chiếu

Loại bỏ, hạn chế cập nhật và xóa

Nếu giao tác cập nhật hay xóa trường khóa dự tuyển và thuộc tính tem thời gian hiệu lực, cần kiểm tra quan hệ tham chiếu nếu có tồn tại hàng thoả mãn điều kiện:

- Đang tồn tại hiện tại trong CSDL

- Có cùng giá trị khóa ngoại với khóa dự tuyển đang xét

- Và khoảng thời gian hiệu lực của nó có giao nhau với khoảng thời gian hiệu lực của hàng bị xóa hay cập nhật đó

Nếu có kết quả hàng như vậy, thì:

• Thao tác xóa và cập nhật này sẽ bị bỏ qua, vì vi phạm ràng buộc thời gian kép

• Thao tác cập nhật trên trường tem thời gian của quan hệ được tham chiếu sẽ được thực hiện nếu khoảng tem thời gian mới bao gồm cả khoảng thời gian

cũ mà được tham chiếu bởi quan hệ tham chiếu

Ngoài ra các ràng buộc khoảng thời gian cần được xem xét đến Chẳng hạn, HDMBS có các toán tử so sánh các khoảng thời gian Hay các hàng có cùng giá trị thuộc tính trên các khoảng thời gian chồng lấp nhau sẽ được hợp lại Chính vì thế, các

đề xuất cho việc chuẩn hóa hỗ trợ ràng buộc khoảng thời gian [14]

Trang 37

Phần III Tổng thuật những công trình liên quan

Để phát triển xây dựng một CSDL thời gian, có những cách tiếp cận như hình 3.1:

• Sử dụng kiểu dữ liệu thời gian được xây dựng sẵn chẳng hạn kiểu date, time, datetime… hỗ trợ bởi Hệ quản trị CSDL thương mại phi thời gian

• Mở rộng các mô hình dữ liệu phi thời gian thành mô hình dữ liệu thời gian bằng cách gắn đặc tính thời gian cho mỗi dữ liệu, hỗ trợ các kiểu dữ liệu thời gian, cũng như các thao tác thời gian như TimeDB, Chronolog…

• Phát triển một hệ CSDL mới cung cấp các kiểu dữ liệu thời gian căn bản và điều khiển các thể hiện thời gian, trạng thái của dữ liệu như HDBMS và TDBMS

Giải pháp thứ ba sẽ phải phát triển toàn bộ một hệ thống CSDL mới có thể

hỗ trợ đặc tính thời gian Công việc này phức tạp, khó khăn và gian nan vì các nền tảng bên dưới của các Hệ quản trị CSDL thương mại hiện tại thật sự là kết quả làm việc cật lực tốn rất nhiều thời gian, trí lực, là công sức lao động của rất nhiều lập trình viên để tạo ra nó, hay có thể nói nó là sản phẩm thành quả của các nhà cung cấp các hệ quản trị CSDL lớn

Giải pháp thứ nhất và thứ hai không làm thay đổi các kỹ thuật CSDL đã tồn tại, đồng thời có thể ít phức tạp hơn vì ta chỉ xây dựng các phương pháp mới cho việc

hỗ trợ đặc tính thời gian trên hệ thống CSDL có sẵn

Trang 38

Hình 3.1 Cách tiếp cận khác nhau cho các ứng dụng thời gian

Chính vì thế giải pháp thứ nhất và thứ hai được xem là khả thi để hiện thực hơn và phần lớn tất cả các nghiên cứu và hiện thực CSDL thời gian hiện tại đều dựa trên các giải pháp này

Ứng dụng thời gian theo kiến trúc giữa thông thường có thể phân rã thành 3 tầng:

• Tầng ứng dụng thời gian: giao tiếp tương tác, liên lạc với người dùng Nó

cung cấp một công cụ tiền xử lý cho người dùng xác định trên các khung nhìn dữ liệu thời gian, để thay đổi chỉnh sửa dữ liệu và thu nhận thông tin…, đồng thời sử dụng dịch vụ mà tầng trung gian cung cấp để thực hiện thao tác trên thông tin thời gian

• Tầng trung gian: cung cấp dịch vụ xử lý thông tin thời gian, bao gồm các

câu truy vấn, suy diễn…

• Tầng đáy CSDL: hoàn thành biểu diễn của dữ liệu thời gian trên CSDL

truyền thống

Trang 39

Dựa theo các tài liệu tham khảo, các cách tiếp cận thiết kế khác nhau để mở rộng hệ quản trị CSDL đang tồn tại và hỗ trợ thêm các kiểu dữ liệu thời gian và các thao tác thời gian tương ứng Sau đây là cách tiếp cận:

III.1.1 Tích hợp các chức năng thời gian vào trong HQTCSDL truyền thống

Tiếp cận thiết kế theo mô hình này tích hợp hỗ trợ thời gian vào bên dưới của Hệ quản trị CSDL truyền thống, được mô tả như hình 3.2:

Hình 3.2 Chức năng thời gian được xây dựng trong phần lõi của HQTCSDL Xây dựng, mở rộng các chức năng thêm vào cho hệ quản trị truyền thống gồm:

• Xây dựng kiểu dữ liệu thời gian thích hợp (điểm thời gian, khoảng thời gian, các đoạn thời gian) với cấu trúc lưu trữ xác định Phần lõi cung cấp chuyển đổi các kiểu dữ liệu trên sang cách biểu diễn nguyên thủy, cung cấp bởi hệ quản trị CSDL để lưu dữ liệu vào ổ cứng

• Mô đun phân tích ngữ nghĩa có nhiệm vụ xác định một thao tác có ngữ nghĩa thời gian đối với CSDL hiện tại hay không và nếu có thì ngữ nghĩa như thế nào, để đưa ra hành vi hợp lý

Trang 40

• Mô đun thực thi câu truy vấn phải được mở rộng thêm những thao tác thêm vào cần cho ứng dụng thời gian (như phép hợp thời gian, phép kết…)

• Bộ phân tích cú pháp DDL và DML của CSDL hiện tại được chỉnh sửa, thay đổi để có thể nhận biết cú pháp mở rộng sử dụng cho các thao tác thời gian Nếu như không hỗ trợ ngôn ngữ DDL và DML mở rộng, thì thay đổi này là không cần thiết

Ứng dụng thời gian hay ứng dụng snapshot sử dụng một thư viện giao tiếp chung để tương tác với Hệ quản trị CSDL thời gian Thư viện này cung cấp một tập các kiểu dữ liệu thời gian, được dùng khi dữ liệu được truyền từ ứng dụng đến hệ quản trị CSDL thời gian hay ngược lại, cùng với một tập các thủ tục, phương thức mà nó có thể được gọi từ ngôn ngữ từ ứng dụng hay bởi trigger về phía hệ quản trị CSDL

Bộ tiền xử lý có thể thực hiện thêm lời gọi hàm, thủ tục thật sự vào trong đoạn mã, trong khi các lập trình viên mô tả hành vi, công việc bằng cách sử dụng ngôn ngữ truy vấn khai báo (ví dụ SQL mở rộng, nhúng…)

III.1.2 Cách tiếp cận Máy chủ thời gian TS – Temporal Server

Tiếp cận này là giải pháp được ưa chuộng hơn vì nó không thay đổi CSDL

snapshot, và có sự tham gia và tồn tại của TS máy chủ thời gian Máy chủ thời gian

này được đặt một cách luận lý giữa ứng dụng thời gian và hệ quản trị CSDL snapshot như mô tả trong hình 3.3 Ứng dụng truy cập kho dữ liệu thời gian bằng thư viện giao tiếp hệ quản trị CSDL thời gian, sẽ được chuyển hướng các yêu cầu về thu nhận hay

thao tác dữ liệu cho TS, TS có trách nhiệm thực hiện các công việc sau:

• Phân tích yêu cầu được gửi đi từ ứng dụng, để đưa ra quyết định theo qui định của ngôn ngữ truy vấn thời gian hay ngôn ngữ truy vấn bình thường

• Ngăn chặn các tham chiếu đến các kiểu dữ liệu thời gian (thời điểm, khoảng thời gian, đoạn thời gian) không được hỗ trợ bởi phần lõi của hệ quản trị CSDL snapshot và cung cấp chuyển đổi giữa cách biểu diễn sử dụng bởi ứng dụng và cách biểu diễn định dạng dữ liệu thô (như kiểu chuỗi) dùng để lưu dữ liệu vào hệ quản trị CSDL snapshot

• Ánh xạ các thao tác thời gian thành một loạt các thao tác snapshot và sắp xếp quá trình thực thi của các thao tác này Các thao tác này liên quan đến

Ngày đăng: 31/05/2014, 14:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1].Richard T. Snodgrass. Managing Temporal Data A Five-Part Series. A TIMECENTER Technical Report 03/09/1998 Sách, tạp chí
Tiêu đề: Managing Temporal Data A Five-Part Series
[2].V.T. N. Chau, S. Chittayasothorn, A Temporal object relational SQL language with attribute timestamping in a Temporal transparent environment, Data &amp Sách, tạp chí
Tiêu đề: A Temporal object relational SQL language with attribute timestamping in a Temporal transparent environment
[5].Clifford, J. Crocker, A. The historical relational data model (HRDM) AND algebra based on lifespans. IEEE Transactions on Software Engineering, v.14, n.7, July 1988 Sách, tạp chí
Tiêu đề: The historical relational data model (HRDM) AND algebra based on lifespans
[6].Georgia Garani. A Temporal database model using nested relations, PhD Thesis Submitted, School of Computer Science and Information Systems, October, 2003 Sách, tạp chí
Tiêu đề: A Temporal database model using nested relations
[7].J. F. Allen. Maintaining Knowledge about Temporal Intervals. Communications of the ACM, 1983, 16(11), p 832.843 Sách, tạp chí
Tiêu đề: Maintaining Knowledge about Temporal Intervals
[8].G. Ariav, A. Beller, AND H. L. Morgan. A Temporal Data Model. Technical Report DS-WP 82-12-05, Decision Sciences Department, University Sách, tạp chí
Tiêu đề: A Temporal Data Model
[9].Divya Kommineni. Object-Relational Database Systems: an Introduction. Được lấy về từ:http://www.cs.siue.edu/~behlman/Classes/cs534/Topic%20Papers/Object-Relational%20Database%20Systems.pdf Advantages of ORDBMS Sách, tạp chí
Tiêu đề: Object-Relational Database Systems: an Introduction
[10].Kjetil N., Marit L., and Lene M. TeXOR: Temporal XML Database on an Object-Relational Database System. Department of Computer AND Information Science Norwegian University of Science and Technology, Norway Sách, tạp chí
Tiêu đề: TeXOR: Temporal XML Database on an Object-Relational Database System
[11].Rose, E., and Segev, A. TOODM - A temporal OO data model with temporal constraints. In 10th Entity-Relationship Conference (1991) Sách, tạp chí
Tiêu đề: TOODM - A temporal OO data model with temporal constraints
[12].Mohd Taib Wahid, A.Z.M Kamruzzaman. Spatio-Temporal Object Relational for Biodiversity System (STORe-Biodi), Department of Information Systems Faculty of Computer Science &amp; Information Systems, University Technology of Malaysia Sách, tạp chí
Tiêu đề: Spatio-Temporal Object Relational for Biodiversity System
[13].JENSEN, C. S. The Consensus Glossary of Temporal Database Concepts - February 1998 Version. In: Temporal Databases Research AND Practice. O.Etzion, S. Jajodia AND S. Sripada (eds.) Berlin- Heidelberg: Springer-Verlag, 1998. p. 367-405 Sách, tạp chí
Tiêu đề: The Consensus Glossary of Temporal Database Concepts - February 1998 Version". In: "Temporal Databases Research AND Practice
[14].Jensen, C. S. (2000). Introduction to Temporal Database Research. Được lấy về từ http://www.cs.auc.dk/~csj/Thesis/. Chapter 6 Sách, tạp chí
Tiêu đề: Introduction to Temporal Database Research
Tác giả: Jensen, C. S
Năm: 2000
[15].Snodgrass, R. and Ahn, I. (1985). A Taxonomy of Time in Databases. Department of Computer Science, University of North Carolina, Chapel H111, NC 27514 Sách, tạp chí
Tiêu đề: A Taxonomy of Time in Databases
Tác giả: Snodgrass, R. and Ahn, I
Năm: 1985
[16].Gadia, S. K. (1986). Temporal element as a primitive for time in Temporal databases and its application in query optimization (abstract): Proceedings of the 1986 ACM fourteenth annual conference on Computer science, page 413, New York, NY, USA. ACM Press Sách, tạp chí
Tiêu đề: Temporal element as a primitive for time in Temporal databases and its application in query optimization (abstract)
Tác giả: Gadia, S. K
Năm: 1986
[17].SARDA, N. L. Extensions to SQL for historical databases. IEEE Transaction on Knowledge AND Data Engineering, v.2, n.2, June 1990 Sách, tạp chí
Tiêu đề: Extensions to SQL for historical databases
[18].James Clifford AND Tomas Isakowitz. On the Semantics of (Bi)Temporal Variable Databases. In Proceedings of the International Conference on Extending Database Technology, volume 779 of Lecture Notes in Computer Science, pages 215, 230. Springer-Verlag, 1994 Sách, tạp chí
Tiêu đề: On the Semantics of (Bi)Temporal Variable Databases
[19].C. S. Jensen AND R. Snodgrass. Temporal Specialization AND Generalization. IEEE Transactions on Knowledge AND Data Engineering, 6(6):954_974, December 1994 Sách, tạp chí
Tiêu đề: Temporal Specialization AND Generalization
[20].Ramon Mata-Toled. Implementing a Temporal Data Management System Within Oracle, Computer Science Department Sách, tạp chí
Tiêu đề: Implementing a Temporal Data Management System Within Oracle
[21].Ramon Mata-Toledo. Better Business Reporting With Temporal Data Management, James Madison University Sách, tạp chí
Tiêu đề: Better Business Reporting With Temporal Data Management
[32].Oracle Workspace Manager Valid Time Support. http://download.oracle.com/docs/cd/E11882_01/appdev.112/e11826/long_vt.htm Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w