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

Mô hình cơ sở dữ liệu song thời gian ứng dụng vào quản lý giao dịch ở các công ty môi giới chứng khoán

141 12 0

Đ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 141
Dung lượng 1,78 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kết quả thu được khi áp dụng vào nghiệp vụquản lý dữ liệu giao dịch chứng khoán cho thấy hệ thống truy vấn Bi-TSQL có nhiề u ưu điểm so với các hiện thực mẫu của một số hệ quản trị dữ l

Trang 1

MÔI GIỚI CHỨNG KHOÁN

Chuyên ngành: Khoa họ c Máy tính

Mã số ngành: 60 48 01

LUẬN VĂN THẠC SĨ

Trang 3

-

-oOo -Tp HCM, ngày 05 tháng 11 năm 2007

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên : Võ Hoàng Tam Giới tính : Nam / Nữ Ngày, tháng, năm sinh : 11/12/1982 Nơi sinh : Tây Ninh Chuyên ngành : Khoa học Máy tính Khoá : 2005

1- TÊN ĐỀ TÀI : MÔ HÌNH CƠ SỞ DỮ LIỆU SONG THỜI GIAN

-ỨNG DỤNG VÀO QUẢN LÝ GIAO DỊCH Ở CÁC CÔNG TY MÔI GIỚI CHỨNG KHOÁN

2- NHIỆM VỤ LUẬN VĂN :

- Nghiên cứu các mô hình dữliệu song thời gian của các tác giả đi trước

- Đề xuất một ngôn ngữ truy vấn song thời gian

- Hiện thực một hệ thống hỗ trợ ngôn ngữ truy vấn song thời gian nhưlà một

tầng (layer) xây trên hệ quản trị CSDL Oracle

- Ứng dụng hệ thống truy vấn trên vào việc quản lý giao dịch ở các công ty môi giới chứng khoán

3- NGÀY GIAO NHIỆM VỤ : 01/2007

4- NGÀY HOÀN THÀNH NHIỆM VỤ : 11/2007

5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : TS Dương Tuấn Anh

Trang 4

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : TS Dương Tuấn Anh

Cán bộ chấm nhận xét 1 : TS Nguyễn Quang Tấn

Cán bộ chấm nhận xét 2 :TS Phạm Trần Vũ

Luận văn thạc sĩ được bảo vệ tại

HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ

TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 03 tháng 12 năm 2007

Trang 5

LỜI CAM ĐOAN

Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác nhưđã ghi

rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện

và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác

Ngày 05 tháng 11 năm 2007

Võ Hoàng Tam

Trang 6

LỜI CẢM ƠN

Tôi xin gởi lời cảm ơn chân thành và sâu sắc nhất đến TS Dương Tuấn Anh, người Thầy đã tận tình hướng dẫn tôi trong suốt quá trình từ đại học tới cao học và tạo mọi điều kiện để tôi có thể hoàn thành luận văn này

Tôi cũng xin cảm ơn gia đình đã động viên và tạo mọi điều kiện tốt nhất để tôi có thểtiếp tục theo đuổi việc học tập nghiên cứu Tôi trân trọng dành tặng thành quả của luận

văn này cho Cha Mẹ Nhờ công lao dưỡng dục của Người mà chúng con mới có được thành quả nhưngày hôm nay Con xin hứa sẽ tiếp tục cố gắng phấn đấu để vươn cao

hơn nữa

Trang 7

TÓM TẮT LUẬN VĂN

Thờ i gian hợp lệghi nhậ n thời gian mà các sự việc diễn ra trong thế giới thực Thời

gian giao tác ghi nhận thời gian mà các sự việc được lưu trữvào cơsở dữ liệu Dữ liệu

song thờ i gian được lưu vết theo cả hai chiều thời gian trên Cho đến thời điểm hiện nay, có rất ít mô hình cơsở dữ liệu song thời gian được hiện thực và áp dụng vào thực

tế Dựa vào một số mô hình dữ liệu song thời gian đã được nghiên cứu, luận văn đã đề xuấ t ngôn ngữ truy vấn song thời gian Bi-TSQL được mở rộng từ ngôn ngữ SQL-92.

Bi-TSQL hỗ trợ người sử dụng thao tác với dữ liệu thời gian hợp lệ, dữ liệu thời gian giao tác và dữ liệu song thời gian Ngữ nghĩ a hình thức của Bi-TSQL dùng phép tính

quan hệ bộ (tuple relational calculus) cũng được đưa ra nhằm đảm bảo tính đúng đắn

của ngôn ngữ Bi-TSQL Ngôn ngữ truy vấn này cũng đã được hiện thực hóa nhưlà

một tầng xây trên hệ quản trị cơsở dữ liệu Oracle Kết quả thu được khi áp dụng vào

nghiệp vụquản lý dữ liệu giao dịch chứng khoán cho thấy hệ thống truy vấn Bi-TSQL

có nhiề u ưu điể m so với các hiệ n thực mẫu của các hỗ trợ dữ liệu hướng thời gian.

Trang 8

The valid time of a fact records when the fact is true in the real world, and the

transaction time of a fact records when the fact is stored as current in the database A

bi-temporal database stores data with respect to both valid time and transaction time.

For the time being, hardly any prototype of bi-temporal data model can find its way to

real application in practice Basing on some previous bitemporal data models, we

introduce a new bitemporal query language Bi-TSQL, which is an extension of

SQL-92 Bi-TSQL can work with valid time data, transaction time data and bitemporaldata The formal semantic of Bi-TSQL using tuple relation calculus has also been

proposed We implemented this query language as a layer on top of Oracle DBMS

using layered implementation technology The experiment in applying this query

language to stock transaction management has shown that Bi-TSQL has many

promising features

Trang 9

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

TÓM TẮT LUẬN VĂN iii

DANH MỤC HÌNH viii

DANH MỤC BẢNG ix

Chươ ng 1 GIỚI THIỆU ĐỀ TÀI 1

1.1 Bố i cảnh và mục tiêu của đề tài 1

1.2 Cấ u trúc luận văn 3

1.3 Tổ ng kết chương 5

Chươ ng 2 CƠSỞ LÝ THUYẾT VỀ CƠSỞ DỮ LIỆU HƯỚNG THỜI GIAN 6

2.1 Các khái niệ m cơbản trong mô hình dữ liệu hướng thời gian 6

2.1.1 Mô hình hóa thờ i gian (model of time) 6

2.1.2 Phân loạ i thời gian (notion of time) 7

2.1.3 Phân loạ i cơsở dữ liệu hướng thời gian (temporal database) 8

2.1.4 Dán nhãn thờ i gian (Timestamping Data) 10

2.1.5 Ngữ nghĩ a của dữ liệu hướng thời gian (Semantic of temporal data) 12

2.2 Mô hình cơsở dữ liệ u hướng thời gian và ngôn ngữ truy vấn liên quan 13

2.2.1 Mô hình dữ liệu quan hệ hướng thời gian (Temporal Relational Model) và ngôn ngữ TSQL 13

2.2.2 Mô hình dữ liệu quan hệ song thời gian (Bitemporal Relational Data Model) và ngôn ngữ TQUEL 15

2.2.3 Mô hình dữ liệu ý niệm song thời gian (Bitemporal Conceptual Data Model) và ngôn ngữ TSQL2 18

2.3 Tổ ng kết chương 21

Chươ ng 3 TỔNG THUẬT CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN 23 3.1 Các hướ ng nghiên cứu liên quan đế n cơsở dữ liệu hướng thời gian 23

3.2 Mô hình dữ liệ u và ngôn ngữ tuy vấn hướng thời gian 24

3.3 Thiế t kế cơsở dữ liệ u hướng thời gian 26

3.4 Hiệ n thực các hỗ trợ cơsở dữ liệ u hướng thời gian 27

3.5 Lậ p chỉ mục hướng thời gian 30

3.6 Vấ n đề đặt ra của luận văn 34

3.7 Tổ ng kết chương 36

Chươ ng 4 THIẾT KẾ CƠSỞ DỮ LIỆU SONG THỜI GIAN HỖ TRỢ HOẠT ĐỘNG MÔI GIỚI CỦA CÔNG TY CHỨNG KHOÁN 37

4.1 Thị trường chứng khoán và nghiệ p vụ môi giới của công ty chứng khoán 37

Trang 10

4.2 Thiế t kế cơsở dữ liệ u hỗ trợ hoạt động môi giới của công ty chứng khoán.50

4.2.1 Phân tích yêu cầ u về dữ liệu cho nghiệp vụ quản lý giao dị ch chứng khoán 50

4.2.2 Thiế t kế lược đồ cơsở dữ liệ u 52

4.3 Tổ ng kết chương 55

Chươ ng 5 NGÔN NGỮ TRUY VẤN SONG THỜI GIAN BI-TSQL 57

5.1 Đề xuất ngôn ngữ truy vấn song thời gian Bi-TSQL 57

5.1.1 Đị nh nghĩ a các bảng dữ liệu hỗ trợ dữ liệu hướng thời gian 58

5.1.2 Mệ nh đề As Of 59

5.1.3 Mệ nh đề When 59

5.1.4 Mệ nh đề Valid 61

5.1.5 Các hàm gộ p và thao tác gom nhóm 61

5.1.6 Các câu lệ nh cập nhật dữ liệu 62

5.1.7 Truy vấ n con 63

5.1.8 Đị nh nghĩ a các ràng buộ c 63

5.2 Đặc tả cú pháp của ngôn ngữ Bi-TSQL 64

5.3 Ngữ nghĩ a hình thức của ngôn ngữ Bi-TSQL 67

5.3.1 Biể u diễn ngữ nghĩ a của ngôn ngữ SQL dùng phép tính quan hệ bộ 67

5.3.2 Đị nh nghĩ a hình thức của toán tử thời gian và vị từ thời gian 68

5.3.3 Ngữ nghĩ a của câu lệnh truy vấ n (select) trong ngôn ngữ truy vấn song thời gian Bi-TSQL 70

5.3.4 Ngữ nghĩ a của các câu lệ nh chỉ nh sửa (insert/update/delete) trong ngôn ngữ truy vấn song thờ i gian Bi-TSQL 72

5.4 Tổ ng kết chương 77

Chươ ng 6 HỆ THỐNG TRUY VẤN CƠ SỞ DỮ LIỆU SONG THỜI GIAN Bi-TSQL 78

6.1 Kiế n trúc của hệ thống truy vấn Bi-TSQL 78

6.2 Giao diệ n người sửdụng cho hệ thống truy vấn 81

6.3 Thưviệ n lập trình giao tiế p với hệ thống truy vấn 82

6.4 Ứng dụng kỹ thuật lập chỉ mục song thời gian cho hệ thống truy vấn 83

6.5 Kế t quả thực nghiệ m 86

6.5.1 Khả năng biểu diễn của ngôn ngữ Bi-TSQL 86

6.5.2 So sánh hệ thống truy vấn Bi-TSQL với các hiện thực mẫu 86

6.5.3 Hiệ u suấ t của hệ thống truy vấn Bi-TSQL 87

6.5.4 So sánh thờ i gian thực thi câu truy vấn Bi-TSQL với câu truy vấn SQL-92 tương ứng 89

6.5.5 Tác dụ ng của kỹ thuật lập chỉ mục song thời gian 90

6.6 Tổ ng kết chương 93

Chươ ng 7 TỔNG KẾT – ĐÁNH GIÁ 94

7.1 Tổ ng kết 94

7.2 Những đóng góp củ a luận văn 94

Trang 11

TÀI LIỆU THAM KHẢO 98 Phụ lục A Tập Các Câu lệnh Cập nhật Dữ liệ u Bi-TSQL để Thêm Dữ liệu mẫu

vào Các Bả ng Dữ liệu Hướng thời gian A-1 Phụ lục B Tập Các Câu Truy vấn Song thời gian Bi-TSQL và Câu Truy vấn

SQL-92 tươ ng ứng B-1 Phụ lục C Tập Các Câu Truy vấn Song thời gian dùng cho Bài thử nghiệm Hiệu

suấ t của Hệ thống Truy vấn Bi-TSQL C-1 Phụ lục D Kỹ thuật Lập chỉ mục Song thời gian 4RTree D-1 Phụ lục E Đặc tả Cú pháp của Ngôn ngữ Bi-TSQL E-1 Phụ lục F Bảng đối chiếu Thuật ngữ Anh - Việ t F-1

Trang 12

DANH MỤC HÌNH

Hình 2.1: Cơsở dữ liệu tức thời trong ngữ cảnh thời gian hợp lệ và thời gian giao tác 8

Hình 2.2: Cơsở dữ liệu lị ch sửtrong ngữ cảnh thời gian hợp lệ và thời gian giao tác 9

Hình 2.3: Cơsở dữ liệu giao tác trong ngữ cảnh thời gian hợp lệ và thời gian giao tác 9

Hình 2.4: Cơsở dữ liệu song thời gian trong ngữ cảnh thời gian hợp lệ và thời gian giao tác 10

Hình 3.1: Cây Append-Only Tree lậ p chỉ mục trên dữ liệu thời gian giao tác 31

Hình 3.2: Kỹ thuật MAP21 lập chỉ mục trên dữ liệu thời gian hợp lệ 31

Hình 3.3: Kỹ thuật lập chỉ mục hai mức cho dữ liệu song thời gian 32

Hình 3.4: Kỹ thuật 2RTree lập chỉ mục cho dữ liệu song thời gian 33

Hình 4.1: Quá trình luân chuyể n vốn thông qua thị trường tài chính 37

Hình 4.2: Quá trình hình thành và phát triể n của thị trường chứng khoán 38

Hình 4.3: Giao dị ch chứng khoán tại trung tâm giao dị ch chứng khoán Tp HCM 44

Hình 4.4: Sơđ ồ thực thể-mối liên kết cho nghiệp vụ quản lý giao dị ch chứng khoán 50

Hình 5.1: Đị nh nghĩ a hình thức của các toán tử thời gian 69

Hình 5.2: Đị nh nghĩ a hình thức của các vị từ thời gian 70

Hình 5.3: Thờ i gian hợp lệ của bộ dữ liệu mới được chèn vào bảng dữ liệu hướng thời gian 74

Hình 6.1: Kiế n trúc của hệ thống truy vấn Bi-TSQL 79

Hình 6.2: Giao diệ n đồ họa TimeISQuery để làm việc với hệ thống truy vấ n Bi-TSQL 81

Hình 6.3: Dữ liệu song thời gian trong cây R-Tree 84

Hình 6.4: Kiế n trúc hiệ n thực chỉ mục song thời gian cho hệ thống truy vấn Bi-TSQL 85

Hình 6.5: Thờ i gian đáp ứng của hệ thống truy vấn Bi-TSQL theo kích thước của dữ liệu 88

Hình 6.6: Thờ i gian đáp ứng của hệ thống truy vấn Bi-TSQL để thực thi 4 câu truy vấ n song thời gian mẫ u khi dùng cấu trúc chỉ mục 4RTree 92

Hình 6.7: So sánh thờ i gian đáp ứng của hệ thống truy vấn Bi-TSQL khi dùng và không dùng cấu trúc chỉ mục 4RTree 92

Trang 13

DANH MỤC BẢNG

Bả ng 2.1: Các toán tử áp dụng lên thời khoảng 7

Bả ng 2.2: Bả ng dữ liệ u mẫu theo mô hình dữ liệ u quan hệ thời gian hợp lệ 13

Bả ng 2.3: Các bả ng dữ liệ u mẫu theo mô hình dữ liệu quan hệ song thời gian 15

Bả ng 2.4: Các bả ng dữ liệ u mẫu theo mô hình dữ liệu ý niệm song thời gian 19

Bả ng 3.1: Các mô hình dữ liệ u hướng thời gian và ngôn ngữ truy vấn liên quan 24

Bả ng 4.1: Tập hợp các lệnh mua bán chứng khoán trong kỳ và xác đị nh mức giá khớp lệnh 42

Bả ng 4.2: Đặc tả về các thực thể, mối liên kết và thuộc tính trong sơđồ thực thể-mối liên kết cho nghiệ p vụ quản lý giao dị ch chứng khoán 51

Bả ng 4.3: Các bả ng dữ liệ u mẫu cho cơsở dữ liệu quản lý giao dị ch chứng khoán 54

Bả ng 6.1: So sánh hệ thống truy vấn Bi-TSQL với các hiện thực mẫu khác 87

Bả ng 6.2: So sánh thời gian thực thi câu truy vấn Bi-TSQL với câu truy vấn SQL-92 tương ứng 89

Trang 14

Chương 1 GIỚI THIỆU ĐỀ TÀI

Chương này giới thiệu chung về bối cảnh, mục tiêu và kế t quả thu được của đề tài Cấu trúc nội dung của quyển thuyết minh luận văn được trình bày ở cuối chương

1.1 Bối cảnh và mục tiêu của đề tài

Chuyển từ hệ thống xử lý tập tin (file processing systems) sang cơsở dữ liệu

(databases) đánh dấu bước phát triển vượt bậc trong lãnh vực lưu trữ và quản lý dữ liệu Các hệ quản trị cơsở dữ liệu hiện nay (Oracle, SQL Server, Sybase, Informix )

có khả năng hỗ trợ người sử dụng lưu trữ và quản lý một khối lượng lớn dữ liệu, đảm

bảo việc truy xuất dữ liệu nhanh chóng, an toàn và hiệu quả

Tuy nhiên, mô hình cơsở dữ liệu truyền thống và các hệ quản trị cơsở dữ liệu thương

mại hiện nay chỉ hỗ trợ người sử dụng lưu giữ trạng thái hiện tạicủa thế giới thực

Các tác vụ chỉnh sửa dữ liệu (insert, update, delete) sẽ chuyển cơsở dữ liệu từ trạng thái này sang trạng thái khác Có nghĩa là dữ liệu luôn được đồng bộvà các tác vụ truy

vấ n dữ liệu được thực hiện dựa trên giả thiếtlà những sự kiện lưu trữ trong cơsở dữ

liệu là hợp lệngay tại thời điểm thực thi câu truy vấn đó

Trong nhiều ứng dụng thực tế,việc lưu giữnhững trạng thái quá khứvà tương lai

của dữ liệu là cần thiết Một số ví dụđiển hình nhưsau:

 Quản lý nhân sự(personel management): lưu trữ lịch sử của lương và chức vụ

của nhân viên trong công ty

 Thông tin trong y tế(medical information management): theo dõi bệnh sửcủa

bệnh nhân đang được điều trị

 Thông tin trong kinh tế(financial information): lưu trữ lị ch sử giá của các cổ phiế u được niêm yết trên thị trường chứng khoán, tỉ giá vàng, tỉ giá ngoại tệ

 Các hệ thống đặt trước (reservation systems): quản lý việc đặt chỗ trước ở khách sạn, nhà hàng, đặt trước vé máy bay

ng thái khác nhau của dữ liệ u được lưu trữ được gọi là dữ liệu thay đổi

Trang 15

oriented data) Dữ liệu có thể được lưu vết theo nhiều chiề u thời gian dimension) khác nhau Thờ i gian hợp lệ(valid-time) ghi nhận thời gian mà các sự việ c (facts) có thực (diễn ra) trong thế giới thực Thời gian giao tác (transaction-time)

(time-ghi nhận thời gian mà các sự việ c (facts) được lưu trữ vào cơsở dữ liệu Mô hình dữ liệu song thời gian (bitemporal data model) hỗ trợ việc quản lý dữ liệu theo cả 2 chiều

thời gian trên, thời gian hợp lệ và thời gian giao tác

Trong thực tế, những khía cạnh liên quan đến ngữ nghĩ a thời gian của dữ liệu có thể

được hiện thực đơn giản bằng cách lưu trữthêm các thuộc tính thời gian kèm theo dữ

liệu Tuy nhiên, hướng tiếp cận này có hai nhược điểm sau:

 Không diễn tả được đầy đủ ngữ nghĩa của thời gian gắn với dữ liệu

 Các hệ quản trị cơsở dữ liệu còn rất hạn chế trong việc hỗ trợ lưu trữ và truy

vấn dữ liệu hướng thời gian

Cho đến nay, đã có nhiều hướng đề xuất khác nhau áp dụng cho mô hình dữ liệu quan

hệ hoặc mô hình dữ liệu hướng đối tượng nhằm mở rộng khả năng quản lý dữ liệu thay đổi theo thời gian Các hướng tiếp cận này tập trung chủ yếu vào việc mở rộng cấu

trúc dữ liệu lưu trữvà đề ra các ngôn ngữ truy vấn liên quan Tuy nhiên, hầu hết các

hướng đề xuất trên đều dừng ở mức mô hình lý thuyết Hiện nay có rất ít mô hình cơ

sở dữ liệu hướng thời gian, đặc biệt là mô hình cơsở dữ liệ u song thời gian, được

hiện thực và áp dụng vào thực tế

Xuất phát từ những yêu cầu trên, đề tài này đặt ra một số mục tiêu sau:

 Tìm hiể u các mô hình cơsở dữ liệu song thời gian và các ngôn ngữ truy vấn liên quan

 Đề xuất ngôn ngữ truy vấn song thời gian phù hợp, có khả năng đáp ứng các

yêu cầu liên quan đến ngữ nghĩa song thời gian của dữ liệu Ngữ nghĩ a hình thứ c của ngôn ngữ cũng cần được đưa ra nhằm đảm bảo tính đúng đắn của ngôn

ngữ

 Phát triển hệ thống truy vấn hỗ trợ ngôn ngữ truy vấn song thời gian vừa được

đề xuất, khắc phục những nhược điểm của các hiện thực mẫu hỗ trợ quản lý dữ

Trang 16

 Tìm hiểu các kỹ thuật lập chỉ mục trên dữ liệu song thời gian và áp dụng vào

hệ thống truy vấn.

 Ứng dụng ngôn ngữ và hệ thống truy vấn trên vào việc quản lý giao dị ch ở các

công ty môi giới chứng khoán

Sau đây là một số kế t quả thu được của đề tài:

 Đã phân tích những điể m chưa hoàn thiện của một số ngôn ngữ truy vấn

hướng thời gian (TQuel, TSQL2 ) và các hiện thực mẫu của hệ quản trị dữ liệu

hướng thời gian (TIP, TimeDB)

 Đề xuất ngôn ngữ truy vấ n song thời gian (tạm được gọi là Bi-TSQL) được mở

rộng từ ngôn ngữ SQL-92, đáp ứng các yêu cầu liên quan đến ngữ nghĩa thời gian của dữ liệu Bi-TSQL hỗ trợ người sử dụng thao tác với dữ liệu thời gian

hợp lệ, dữ liệu thời gian giao tác và dữ liệu song thời gian

 Ngữ nghĩ a hình thức của ngôn ngữ Bi-TSQL dùng phép tính quan hệ bộ (tuple

relational calculus) cũng được đưa ra nhằm đảm bảo tính đúng đắn của ngôn ngữ Bi-TSQL

 Ngôn ngữ truy vấn Bi-TSQL cũng đã được hiện thực hóa nhưlà một tầng xây trên hệ quản trị cơsở dữ liệu Oracle Kết quả thu được khi áp dụng vào nghiệp

vụquản lý dữ liệu giao dịch chứng khoán cho thấy hệ thống truy vấn Bi-TSQL

có nhiề u ưu điểm so với các hiện thực mẫu của một số hệ quản trị dữ liệu

hướng thời gian

 Thời gian đáp ứng của hệ thống truy vấn Bi-TSQL hầu nhưkhông bị ảnh

hư ởng bởi quá trình biên dị ch câu truy vấn Bi-TSQL thành câu SQL-92 tương

ứng Độ chênh lệ ch về thời gian thực thi câu truy vấn khi dùng hệ thống truy

vấn Bi-TSQL và khi dùng SQL-92 là không đáng kể, chỉ khoảng 7 mili giây

Nhưng những tiệ n lợi mà Bi-TSQL mang lại cho người sử dụng khi làm việc

với dữ liệu song thời gian là lớn hơn rấtnhiều so với SQL-92

1.2 Cấu trúc luận văn

Trang 17

Chươ ng 2 trình bày cơsở lý thuyếtvề cơsở dữ liệu hướng thời gian Phần đầu của chương giới thiệu các khái niệm cơbản của mô hình dữ liệu hướng thời gian Tiếp theo đó là phần giới thiệu về ba mô hình cơsở dữ liệu hướng thời gian Temporal Relational Model, Bitemporal Relational Data Model và Bitemporal Conceptual DataModel kèm theo các ngôn ngữ truy vấn hướng thời gian tương ứng là TSQL, TQuel,

và TSQL2

Chươ ng 3 giớ i thiệu tổng quan về các hướng nghiên cứu liên quan đến cơsở dữ liệu

hướng thời gian Các hướng tiếp cận để xây dựng một ứng dụng cơsở dữ liệu hướng thời gian được trình bày chi tiết Một số hiện thực mẫu (prototype) của hệ quản trị cơ

sở dữ liệu hướng thời gian cũng được tìm hiểu, phân tích và đánh giá Vấn đề đặt ra

của luận văn được diễn giải ở cuối chương 3.

Phần đầu của chương 4 giới thiệu về nguyên tắc hoạt động của thị trường chứng khoán nói chung và thị trường chứng khoán Việt Nam nói riêng Sau đó là phần trìnhbày về nghiệp vụ môi giới chứng khoán của Công ty Chứng khoán Sài Gòn Phần cuối

của chương 4 là thiết kế cơsở dữ liệu cho nghiệp vụ quản lý giao dịch của công ty môi giới chứng khoán theo mô hình cơsở dữ liệu song thời gian

Trong chươ ng 5, ngôn ngữ truy vấn song thời gian Bi-TSQL được đề xuất Bi-TSQL

được mở rộng từ ngôn ngữ SQL-92, hỗ trợ người sử dụng thao tác với dữ liệu thời gian hợp lệ, dữ liệu thời gian giao tác và dữ liệu song thời gian Nhằm đảm bảo tính

đúng đắn của ngôn ngữ Bi-TSQL, ngữ nghĩ a hình thức (formal semantic) của ngôn

ngữ Bi-TSQL cũng được đưa ra ở cuối chương 5.

Chươ ng 6 trình bày chi tiế t hiện thực của hệ thống truy vấn cơsở dữ liệu song thời

gian Bi-TSQL Kế t quả thực nghiệm trình bày ở cuối chương cho thấy hệ thống truy

vấn Bi-TSQL có nhiều ưu điểm so với các hiện thực mẫu của hệ quản trị dữ liệu

hướng thời gian

Chươ ng 7 tổ ng kết lại những công việc đã làm được, sau đó nêu ra những đóng góp và

hư ớng phát triển của luận văn.

Trang 18

1.3 Tổng kết chương

Chương này đã giới thiệu bối cảnh của đề tài, từ đó nêu ra một số mục tiêu của luận

n: tìm hiể u các mô hình cơsở dữ liệu song thời gian và các ngôn ngữ truy vấn liên

quan, đ ề xuất ngôn ngữ truy vấn có khả năng đáp ứng các yêu cầu liên quan đến ngữ nghĩa song thờ i gian của dữ liệu, phát triển hệ thống truy vấn hỗ trợ ngôn ngữ truy

vấ n song thời gian và ứng dụng vào việc quản lý giao dị ch ở các công ty môi giới

chứng khoán Chương tiếp theo sẽ trình bày cơsở lý thuyếtvề cơsở dữ liệu hướng

thời gian

Trang 19

Chương 2 CƠ SỞ LÝ THUYẾT VỀ CƠ SỞ DỮ LIỆU

HƯỚNG THỜI GIAN

Các khái niệ m cơbản của mô hình dữ liệu hướng thời gian được trình bày ở phần đầu

của chương này Tiếp theo đó là phần giới thiệu về ba mô hình cơsở dữ liệu hướng

thờ i gian Temporal Relational Model, Bitemporal Relational Data Model và

Bitemporal Conceptual Data Model kèm theo các ngôn ngữ truy vấn hướng thời gian

tương ứng là TSQL, TQuel, và TSQL2

2.1 Các khái niệm cơ bản trong mô hình dữ liệu hướng

thời gian

2.1.1 Mô hình hóa thời gian (model of time)

Thời gian có thể được mô hình liên tục (continuous) hoặc rời rạc (discrete) Theo mô hình liên tục, mỗi số thực sẽ ứng với một điểm trên trục thời gian Mô hình rời rạc ánh

xạ thời gian thành các số nguyên

Độ mị n thời gian (granularity)

Đơn vị thời gian nhỏ nhất, không thể phân tách được nữa mà hệ thống có thể hỗ trợ được gọi là độ mịn thời gian

Thời điểm (time instant) và sự kiện (event)

Thời điểm là một điểm trên trục thời gian Sự kiện là một sự việc (fact) xảy ra tức thời

tại một thời điểm nào đó

Thời khoảng (time interval) và phần tử thời gian (temporal element)

Thờ i khoảng dùng để mô hình khoảng thời gian mà một sự việc có thực (diễn ra) trong thế giới thực Thời khoảng I được xác định bởi thời điểm đầu begin(I) và thời điểm cuối end(I).

Phầ n tử thời gian là một tập hợp hữu hạn các thời khoảng.

Trang 20

Bả ng 2.1: Các toán tử áp dụng lên thời khoảng

Các toán tửáp dụ ng lên thời khoảng trên do Allen [1] đề xuất, và đã được áp dụng

rộng rãi khi định nghĩa ngôn ngữ truy vấn hướng thời gian Hầu hếtcác ngôn ngữ truy

vấ n hướng thời gian nhưTSQL [19], TQUEL [27], TSQL2 [15] đều sử dụng các

toán tử này để thiết lập điều kiệ n ràng buộc trên thời gian hợp lệcủa dữ liệu Ngôn

ngữ truy vấn song thời gian Bi-TSQL được đề xuất trong luận văn này cũng sử dụng các toán tử trên

2.1.2 Phân loại thời gian (notion of time)

Thời gian do người dùng đị nh nghĩ a (user-defined time)

Các nhãn thờ i gian (timestamp) đikèm với dữ liệu chỉ có ngữ nghĩa đối với người sử

dụng, ví dụ ngày sinh, được gọi là thời gian do người dùng định nghĩa Hệ quản trị cơ

sở dữ liệu chỉ xem nó là thuộc tính bình thường nhưcác thuộc tính khác, chỉ có điều khác biệt là kiểu dữliệu của thuộc tính này là kiểu Date

Thời gian hợp lệ (valid-time)

Thời gian hợp lệ ghi nhận thời gian mà các sự việ c (facts) có thực (diễn ra) trong thế

1 I1 BEFORE I2 end(I1) < begin(I2)

2 I1 AFTER I2 end(I2) <begin(I1)

3

4

I1 DURING I2

I1 CONTAINS I2

(begin(I1)> begin(I2)end(I1) end(I2) )

(begin(I1)begin(I2) end(I1) <end(I2))(begin(I2)> begin(I1)end(I2) end(I1) )

(begin(I2)begin(I1) end(I2) <end(I1))5

end(I2)<end(I1)7

8

I1 MEETS I2

I2 MET_BY I1

end(I1) = begin(I2)end(I2) = begin(I1)9

Trang 21

Thời gian giao tác (transaction-time)

Thời gian giao tác ghi nhận thời gian mà các sự việc (facts) được lưu trữ vào cơsở dữ

liệu

2.1.3 Phân loại cơsở dữ liệu hướng thời gian (temporal database)

Tác giả Steiner [30] phân loại cơsở dữ liệu hướng thời gian thành 4 loại dựa theo

chiều thời gian (thời gian hợp lệ và thời gian giao tác) mà cơsở dữ liệu đó hỗ trợ

Cơsở dữ liệu tức thời (snapshot database)

Cơsở dữ liệu truyền thống đặt trong ngữ cảnh hướng thời gian có thể được gọi là cơ

sở dữ liệu tức thời bởi vì nó chỉ lưu giữ trạng thái hiện tạicủa thế giới bên ngoài Cáctác vụ chỉnh sửa dữ liệu (insert, update, delete) chuyển cơsở dữ liệu từ trạng thái nàysang trạng thái khác Có nghĩa là trạng thái cũ bị ghi đè, được thay thế bằng trạng thái

mới Loại cơsở dữ liệu này được gọi là cơsở dữ liệu tức thời Dữ liệu lưu trữ trong cơ

sở dữ liệu được mặc định là đúng (có thực) trong thế giới thực bên ngoài Các hệ quản trị cơsở dữ liệu thương mại hiện nay chỉ hỗ trợ cơsở dữ liệu loại này

Hình 2.1: Cơsở dữ liệu tức thời trong ngữ cảnh thời gian hợp lệ và

thờ i gian giao tác

Cơsở dữ liệu lị ch sử (historical database, valid-time database)

Cơsở dữ liệu lịch sử lưu giữ quá trình thay đổi(lị ch sử) của dữ liệ u ứng với thế giới

thực bên ngoài Thế giới thực thay đổi theo trục thời gian thực, do đó cơsở dữ liệu lịch

Trang 22

Hình 2.2: Cơsở dữ liệu lị ch sử trong ngữ cảnh thời gian hợp lệ và

thờ i gian giao tác

Cơsở dữ liệu giao tác (rollback database, transaction-time database)

Cơsở dữ liệu giao tác lưu giữ sự thay đổicủa chính cơsở dữ liệu đó Dữ liệu được

lưu trữ theo trục thời gian giao tác Khi câu lệnh chỉnh sửa dữ liệu được thực thi, hệthống lưu trạng thái mới của cơsở dữ liệu ứng với thời điểm thực thi câu lệnh, trạng thái cũ của cơsở dữ liệu vẫn được giữ lại Không có dữ liệu nào bị xóa về mặt vật lý

Hình 2.3: Cơsở dữ liệu giao tác trong ngữ cảnh thời gian hợp lệ và

thờ i gian giao tác

Trang 23

Cơsở dữ liệu song thời gian (bitemporal database)

Cơsở dữ liệu song thời gian là sự kế t hợp của cơsở dữ liệu lịch sử và cơsở dữ liệu giao tác Cơsở dữ liệu song thời gian lưu trữ trạng thái của cơsở dữ liệu theo cả hai trục thời gian hợp lệ và thời gian giao tác

Hình 2.4: Cơsở dữ liệu song thời gian trong ngữ cảnh thời gian hợp lệ và

thờ i gian giao tác 2.1.4 Dán nhãn thời gian (Timestamping Data)

Để thể hiện được sự thay đổi của dữ liệu theo thời gian, dữ liệu cần phải được gán các nhãn thời gian kèm theo

Dán nhãn thời gian theo thời điểm (timestamping with time instant)

Dữ liệu được dán nhãn theo thời điểm khi dữ liệu chỉ được xem là hợp lệ ở những thời điểm xác định Quan hệ chứa dữ liệu dán nhãn theo thời điểm được gọi là bảng sự kiện (event table, event relation) Ví dụ:

Trang 24

Dán nhãn thời gian theo thời khoảng (timestamping with time interval)

Dữ liệu được dán nhãn theo thời khoảng khi dữ liệu chỉ được xem là hợp lệtrong một thờ i khoảng xác định Cận dưới và cận trên của thời khoảng được ánh xạ thành 2thuộc tính có kiểu dữ liệu là kiểu Date Ví dụ:

Bảng dữ liệu song thời gian (bitemporal table) được mở rộng thêm 4 thuộc tính, trong

đó 2 thuộc tính để diễn tả thời gian hợp lệ và 2 thuộc tính còn lại để diễn tả thời gian giao tác Ví dụ:

Dán nhãn thời gian theo phần tử thời gian (timestamping with time element)

Jane Assistant 9-71 12-76 9-71 until changed

Jane Associate 12-76 11-80 12-76 until changed

Jane Full 11-80 forever 10-80 until changed

Merrie Assistant 9-77 12-82 8-77 until changed

Merrie Associate 12-82 forever 12-82 until changed

Tom Assistant 9-75 12-80 10-75 until changed

Tom Associate 12-80 forever 11-80 until changed

Trang 25

2.1.5 Ngữ nghĩ a của dữ liệu hướng thời gian (Semantic of

temporal data)

Sự tươ ng quan giữa thời gian hợp lệ và thời gian giao tác hình thành nên ngữ nghĩ a

của dữ liệu hướng thời gian [14]

Xét R là một quan hệ sự kiện (event relation) chỉ lưu trữ các sự việc có thực (diễn ra)

tạ i một thời điểm trong thế giới thực bên ngoài và e là một phần tử thuộc R Ký hiệu

vtelà thời gian hợp lệ,tức thời điểm sự việc diễn ra trong thực tế và ttelà thời điểm sự việc được lưu vào cơsở dữ liệu Khi đó, ta có thể định nghĩa một số loại ngữ nghĩa thời gian nhưsau:

 R được xem là có hiệu lực trở về trước (retroactive) nếu eR (vte tte).Trong trường hợp này giá trị của một phần tử là hợp lệ trước thời điểm chúng được lưu vào cơsở dữ liệu

 R được xem là tiên đoán (predictive) nếu eR (vte tte) Trong trường hợpnày giá trị của một phần tử chưa hợp lệ khi chúng được lưu vào cơsở dữ liệu,

mà giá trị đó sẽ hợp lệ trong tương lai sau thời điểm chúng được lưu vào cơsở

dữ liệu

 R được xem là suy biế n (degenerate) nếu eR (vte = tte) Trong trường hợp này sự thay đổi giá trị của một phần tử được cập nhật ngay lập tức vào cơsở dữ liệu, không có sự chậm trễ (delay) giữa thời gian giao tác và thời gian hợp lệ, và

Trang 26

2.2 Mô hình cơsở dữ liệu hướng thời gian và ngôn ngữ

truy vấn liên quan

2.2.1 Mô hình dữ liệu quan hệ hướng thời gian (Temporal

Relational Model) và ngôn ngữ TSQL

Navathe [19] đã đề xuất hướng mở rộng mô hình dữ liệu quan hệ thành mô hình dữ liệ u quan hệ hướng thời gian (Temporal Relational Model) Mô hình này chỉ hỗ trợ thờ i gian hợp lệ(valid-time).

Các quan hệ trong mô hình này được phân thành 2 loại:

 Snapshot relation: tất cả thuộc tính của quan hệ này không thay đổi theo thời gian Đây chính là các bảng dữ liệu theo mô hình dữ liệu quan hệ truyền thống

 Valid-time relation: mỗi bộ dữ liệu (tuple) trong quan hệ được lưu trữ kèm theokhoảng thời gian hợp lệ, thể hiện thành 2 thuộc tính mới Time-start và Time-end

Ví dụ : bảng dữ liệu 2.2 dùng để lưu trữ lị ch sử về lương của nhân viên trong công ty.

Bả ng 2.2: Bảng dữ liệu mẫu theo mô hình dữ liệ u quan hệ thời gian hợp lệ

Navathe cũng đưa ra ngôn ngữ truy vấn hướng thời gian TSQL, thêm vào ngôn ngữ

SQL chuẩn những đặc điểm mới sau:

 Biểu thức điều kiện thời gian trong mệnh đề When

Trang 27

 Xác định miền thời gian hợp lệ dùng mệnh đề TIME-SLICE

 Các hàm bao gộp đã chỉnh sửa và mệnh đề GROUP BY

Sau đây là một số ví dụ truy vấn dữ liệu từ lược đồ cơsở dữ liệu sau:

 Tìm lương của nhân viên 125 khi Smith là trưởng phòng của nhân viên đó:

Trong ví dụ trên, mệnh đề When được thêm vào để quy định điều kiện ràng buộc trên

thờ i gian hợp lệcủa dữ liệ u, toán tử Overlap để kiểm tra hai khoảng thời gian hợp lệ

có phủ lấp nhau không Ngoài ra, TSQL còn hỗ trợ nhiều toán tử so sánh giữa hai

khoả ng thời gian do Allen [1] đề xuất nhưđã giới thiệu ở bảng 2.1

 Liệt kê tất cả những thay đổi về lương trong khoảng thời gian 1972-1978 của những nhân viên mà trưởng phòng của họ là Bradford:

Trong ví dụ trên, mệnh đề TIME-SLICE được thêm vào để quy định miền thời gian

hợp lệ Khi thực thi câu truy vấn, chỉ có những bộ dữ liệu nào có thời gian hợp lệ phù

hợp với thời gian quy định bởi mệnh đề TIME-SLICE mới được xem xét.

 Liệt kê trưởng phòng và lịch sử lương của những nhân viên có lương ít hơn40K:

SELECT salr

FROM S, M

WHERE S.eno = M.eno and M.eno = 125 and M.mgr = ‘Smith’

WHEN S.INTERVAL OVERLAP M.INTERVAL

SELECT S.eno, salr, S.TIME-START FROM S, M

WHERE S.eno = M.eno AND mgr = ‘Bradford’

WHEN M.INTERVAL OVERLAP S.INTERVAL TIME-SLICE year [1972, 1978]

E(eno, name, address, date-of-birth) /*quan hệ Employee*/

S(eno, salr, TS, TE) /*quan hệ Salary*/

M(eno, mgr, TS, TE) /*quan hệ Manager*/

Trang 28

Trong ví dụ trên, các thuộc tính TIME-START và TIME-END dùng để truy xuất các

nhãn thời gian hợp lệ được gắn kèm với dữ liệu

2.2.2 Mô hình dữ liệu quan hệ song thời gian (Bitemporal

Relational Data Model) và ngôn ngữ TQUEL

Năm 1987, Snodgrass [27] đã đề xuất mô hình dữ liệu quan hệsong thời gian

(Bitemporal Relational Data Model) mở rộng từ mô hình dữ liệu quan hệ truyền thống

bằng cách thêm vào mỗi quan hệ 4 thuộc tính ẩn (implicit):

 Hai thuộc tính (start, stop) để ghi nhận thời gian giao tác của việc chèn hoặc xóa luận lý dữ liệu

 Hai thuộc tính (from, to) để ghi nhận khoảng thời gian hợp lệcủa dữ liệu Trong trường hợp dữ liệu được dán nhãn thời gian sự kiện (event timestamping) thì chỉ cần dùng một thuộc tính (at).

Bảng 2.3 là ví dụ áp dụng mô hình cơsở dữ liệu song thời gian vào quản lý chức

danh và hoạ t động nghiên cứu khoa học (thông qua việc quản lý việc đăng các bài báokhoa học) của các giảng viên

Bả ng 2.3: Các bảng dữ liệu mẫu theo mô hình dữ liệ u quan hệ song thời gian

Submitted (Author, Journal):

Author Journal Valid time

(at)

Transaction time (start) (stop) Jane CACM 11-79 11-79 until changed Merrie CACM 9-78 9-78 until changed Merrie TODS 5-79 5-79 until changed Tom JACM 12-82 12-82 until changed

SELECT M.eno, mgr, sal, (M inter S).TIME-START,(M inter S).TIME-END

FROM S, M

WHERE S.eno = M.eno AND salr < 40K

WHEN S.INTERVAL OVERLAP M.INTERVAL

Trang 29

Trong mô hình này, các thông tin về thời gian của dữ liệ u được lưu trong các thuộc

tính ẩ n, giúp người sử dụng hoàn toàn trong suốt đối với những thông tin này Nhiệm

vụ xử lý các yêu cầu dữ liệu liên quan đến ngữ nghĩ a thời gian được giao cho ngôn

ngữ truy vấn

Snodgrass cũng đề xuất ngôn ngữ truy vấn song thời gian TQuel được mở rộng từ ngôn ngữQuel Quel là ngôn ngữ truy vấn của hệ quản trị cơsở dữ liệu Ingress.

Thông tin chi tiết về Quel và Ingress có thể tham khảo theo tài liệu [13]

TQuel thêm vào một số đặc điểm mới so với Quel:

 Mệnh đề When để đưa vào các biểu thức điều kiện về thời gian hợp lệ

 Mệnh đề Valid để xác định thời gian hợp lệ của các bộ dữ liệu (tuple) trongquan hệ kết quả

 Mệnh đề As-Of để đưa vào các biểu thức điều kiện về thời gian giao tác

 Các câu lệnh chỉnh sửa dữ liệu hướng thời gian (append, replace, delete)

 Các câu lệnh bao gộp (temporal aggregate function) được giới thiệu chi tiết trong [25]

 Hỗ trợ giải quyết vấn đề bất định thời gian (indeterminacy)

Sau đây là mộ t số câu truy vấn dữ liệ u hướng thời gian dùng TQuel theo tài liệu [27]:

Faculty (Name, Rank):

Valid time Transaction time Name Rank

(from) (to) (start) (stop) Jane Assistant 9-71 12-76 9-71 until changed Jane Associate 12-76 11-80 12-76 until changed Jane Full 11-80 forever 10-80 until changed Merrie Assistant 9-77 12-82 8-77 until changed Merrie Associate 12-82 forever 12-82 until changed Tom Associate 9-75 forever 8-75 10-75 Tom Assistant 9-75 12-80 10-75 until changed Tom Associate 12-80 forever 11-80 until changed

Trang 30

 Liệt kê danh sách các phó giáo sư:

Nếu câu truy vấn này được thực thi vào tháng 9 năm 1983 thì ta thu được kết quảsau:

 Liệt kê danh sách các giảng viên hiện tạiđang là phó giáo sư:

Trong ví dụ trên, mệnh đề When được thêm vào để quy đị nh điều kiện ràng buộc trên

thờ i gian hợp lệcủa dữ liệu, toán tử Overlap để kiểm tra hai khoảng thời gian có phủ

lấp nhau không Từ khóa Now trong câu truy vấn là hằng số, dùng để chỉ thời điểm hiện tại

 Liệt kê những bài báo được viết bởi các phó giáo sư:

Ví dụ trên minh họa việc kết (join) hai bảng dữ liệu hướng thời gian, quy định thời gian hợp lệ của hai bảng dữ liệu phải phủ lấp lẫn nhau, tức làwhen s overlap a.

 Ai được nâng chức danh từ phó giáo sưlên giáo sưdựa theo những thông tin

mà cơsở dữ liệu lưu được vào cuối năm 1984:

Associates (Name):

Transaction time (start) (stop)

range of a is Associates retrieve into CurrentAssociates (Name = a.Name) when a overlap now

Trang 31

Trong ví dụ trên, mệnh đề as of được thêm vào để quy định điều kiện ràng buộc trên

thờ i gian giao tác của dữ liệ u Cơsở dữ liệu được khôi phục về trạng thái tại thời

điểm năm 1984 và câu truy vấn được thực thi

 Tom đã nộp bài báo cho TOPLAS, không phải nộp cho JACM nhưtrong dữ liệu cũ:

Trong ví dụ trên, mệnh đề valid at dùng để thiết lập lại (chỉnh sửa) thời gian hợp lệ

của dữ liệu thông qua câu lệnh cập nhật dữ liệu replace.

2.2.3 Mô hình dữ liệu ý niệm song thời gian (Bitemporal

Conceptual Data Model) và ngôn ng ữ TSQL2

Jensen và các đồng nghiệp [15] đã đề xuất mô hình dữ liệu ý niệ m song thời gian

(Bitemporal Conceptual Data Model) Mô hình ý niệm này được dùng làm cơsở để

định nghĩa ngôn ngữ truy vấn hướng thời gian TSQL2 TSQL2 hỗ trợthời gian do

người dùng định nghĩa (user-defined time), thời gian hợp lệ (valid-time), và thời gian giao tác (transaction-time)

Thời gian do người dùng định nghĩa là thuộc tính tường minh (explicit), còn thời gian

hợp lệ và thời gian giao tác là các thuộc tính ẩn (implicit) Trong mô hình này, dữ liệu

được dán nhãn thời gian bởi một tập các thời điểm (time instant) hoặc bởi phần tử thờ i gian (time-element).

range of fl is Faculty

range of f2 is Faculty

range of a is Associates

retrieve into Starsof1984 (Name = fl.Name)

where f1.Name = f2.Name and f1.Rank = "Assistant"

and f2.Rank = "Full"

when ( f l overlap a) and (f2 overlap a)

as of end of "1984"

range of s is Submitted replace s (Journal = "TOPLAS") where s.Author = "Tom" and s.Journal = "JACM"

valid at begin of "January 1983"

Trang 32

Bả ng 2.4: Các bảng dữ liệu mẫu theo mô hình dữ liệu ý niệm song thời gian

Sau đây là mộ t số câu truy vấn dữ liệu hướng thời gian dùng TSQL2:

 Liệt kê những nhân viên trong công ty và phòng ban mà họ đang làm việc vào

nă m 1996, dự a theo thông tin mới nhấtmà cơsở dữ liệu lưu được:

Trong câu truy vấn trên, các hàm VALID() và TRANSACTION() dùng để làm việc

với thời gian hợp lệvà thời gian giao tác của dữ liệu Toán tử OVERLAPS để kiểm

tra hai khoảng thời gian có phủ lấp nhau không Do yêu cầu truy vấn dữ liệu dựa theo

thông tin mớ i nhất mà cơsở dữ liệu lưu được nên điều kiện trên thời gian giao tác

phải phủ lấp với thời điểm hiện tại (NOW), tức là TRANSACTION(Emp)

OVERLAPS NOW.

SELECT Name, DeptName FROM Emp

WHERE VALID(Emp) OVERLAPS PERIOD ‘1996’

AND TRANSACTION(Emp) OVERLAPS NOW

Kết quả:{ ( ED, Toy, [2/1/1992 - 2/1/1998] ) }

Bảng dữ liệu Emp:

ED Toy { [2/1/1992 - Now] } { [2/1/1992 - 2/1/1998] }

ED Toy { [2/1/1992 - 2/1/1998] } { [2/1/1998 - Until changed] }

ED Load { [2/1/1998 - Now] } { [2/1/1998 - Until changed] }

DI Ship { [2/1/1996 - Now] } { [2/1/1996 - 2/1/1998] }

DI Ship { [2/1/1996 - 2/1/1998] } { [2/1/1998 - Until changed] }

DI Load { [2/1/1998 - Now] } { [2/1/1998 - Until changed] }

Bảng dữ liệu Dept:

Toy DI { [2/1/1990 - 2/1/1996] } {[2/1/1990 - Until changed]}Toy PE { [2/1/1996 - Now] } {[2/1/1996 - Until changed]}Ship DI { [2/1/1996 - 2/1/1998] } {[2/1/1996 - Until changed]}Load JA { [2/1/1998 - Now] } {[2/1/1998 - Until changed]}

Trang 33

TSQL2 tự động tích hợp cả thời gian hợp lệtrong kết quả câu truy vấn Nếu người sử

dụng không muốn nhận thông tin về thời gian hợp lệtrong kết quả thì có thể thêm từ

khóa SNAPSHOT vào mệ nh đề SELECT:

 Liệt kê những nhân viên trong công ty và phòng ban mà họ đang làm việc dựa

theo thông tin mà cơsở dữ liệu lưu được vào năm 1996:

Do yêu cầu truy vấn dữ liệu dựa theo thông tin mà cơsở dữ liệu lưu được vào năm

1996 nên điều kiện trên thời gian giao tác phải phủ lấp với khoảng thời gian trong năm

1996, tức là TRANSACTION(Emp) OVERLAPS PERIOD ‘1996’.

 Ai là trưởng phòng của nhân viên ED khi nhân viên ED làm ở phòng ban Toy

theo thông tin mớ i nhất mà cơsở dữ liệu lưu được:

Ví dụ trên minh họa việc kết (join) hai bảng dữ liệu hướng thời gian, quy định thời gian hợp lệ của hai bảng dữ liệu phải phủ lấp lẫn nhau, tức là VALID(Emp)

Kết quả:{ ( ED, Toy, [2/1/1992 - NOW] )

( DI, Ship, [2/1/1996 - NOW] ) }

SELECT Dept.MgrName FROM Emp, Dept WHERE Emp.Name = ‘ED’ AND Emp.DeptName = ‘Toy’ AND

Emp.DeptName = Dept.DeptName

AND VALID(Emp) OVERLAPS VALID(Dept) AND TRANSACTION(Emp) OVERLAPS NOW AND TRANSACTION(Dept) OVERLAPS NOW

Kết quả:{ ( DI, [2/1/1992 - 2/1/1996] )

( PE, [2/1/1996 - 2/1/1998] ) }

SELECT SNAPSHOT Name, DeptName FROM Emp

WHERE VALID(Emp) OVERLAPS PERIOD ‘1996’

AND TRANSACTION(Emp) OVERLAPS NOW

Kết quả:{ ( ED, Toy) }

Trang 34

Ở ví dụ trên, ngoài việc kế t (join) hai bảng dữ liệu hướng thời gian, điều kiện ràng

buộc trên thời gian hợp lệ là vào thời điể m hiện tại, tức là VALID(Emp) OVERLAPS

VALID(Dept) AND VALID(Emp) OVERLAPS NOW AND VALID(Dept)

OVERLAPS NOW.

2.3 Tổng kết chương

Chương này đã giới thiệu các khái niệm cơbản của mô hình dữ liệu hướng thời gian

Ba mô hình cơsở dữ liệ u hướng thời gian Temporal Relational Model, Bitemporal

Relational Data Model và Bitemporal Conceptual Data Model cũng được tìm hiểu,

kèm theo là các ngôn ngữ truy vấn hướng thời gian tương ứng TSQL, TQuel, và

TSQL2

Phầ n tìm hiể u trên cho thấy ngôn ngữTSQL thêm vào ngôn ngữ SQL chuẩn những

đặc điểm mới như: biểu thức điều kiện thời gian trong mệnh đề When, truy xuất các nhãn thời gian được gắn kèm với dữ liệu, xác định miền thời gian hợp lệ dùng mệnh

đề TIME-SLICE nhưng TSQL chỉ hỗ trợthời gian hợp lệ.

Ngôn ngữ TQUEL do Snodgrass đề xuất để truy vấn dữ liệu song thời gian được mở

rộng từ QUEL, ngôn ngữ truy vấn của hệ quản trị cơsở dữ liệu Ingres TQUEL được

định nghĩa tương đối hoàn thiện cả về cú pháp và ngữ nghĩa, đáp ứng được nhiều yêu

cầu chức năng của một ngôn ngữ truy vấn song thời gian Nhưng QUEL không được

sử dụng phổ biến nhưSQL nên tính ưa chuộng của người sử dụng đối vớiTQUEL có

thể bị hạn chế

TSQL2 được giới thiệu lần đầu tiên vào năm 1994 được xem nhưlà một trong những

SELECT SNAPSHOT Dept.MgrName

FROM Emp, Dept

WHERE Emp.Name = ‘ED’ AND Emp.DeptName = Dept.DeptName

AND VALID(Emp) OVERLAPS VALID(Dept)

AND VALID(Emp) OVERLAPS NOW

AND VALID(Dept) OVERLAPS NOW

AND TRANSACTION(Emp) OVERLAPS NOW

AND TRANSACTION(Dept) OVERLAPS NOW

Kết quả:{ ( JA ) }

Trang 35

các hàng dữ liệu trong bảng được trùng nhau, không hỗ trợ truy vấn con và các thaotác gom nhóm Khi truy vấn dữ liệu với ngữ nghĩ a thời gian, người sử dụng cũng gặp

nhiều bất tiện khi phải xây dựng mệ nh đề WHERE rấ t phức tạp để đáp ứng các điều

kiện về thời gian hợp lệ và thời gian giao tác

Chươ ng tiế p theo sẽ trình bày tổng quan về các công trình nghiên cứu liên quan, nhận

xét ư u khuyế t điểm của các hướng tiếp cận và khẳng định lại vấn đề đặt ra của luận

văn

Trang 36

Chương 3 TỔNG THUẬT CÁC CÔNG TRÌNH NGHIÊN

CỨU LIÊN QUAN

Chương này giới thiệu tổng quan về các hướng nghiên cứu liên quan đến cơsở dữ liệu

hướng thời gian Các hướng tiếp cận để xây dựng một ứng dụng cơsở dữ liệu hướng thời gian được trình bày chi tiết Một số hiện thực mẫu (prototype) của hệ quản trị cơ

sở dữ liệu hướng thời gian cũng được tìm hiểu, phân tích và đánh giá Vấn đề đặt ra

của luận văn được diễn giải ở cuối chương

3.1 Các hướng nghiên cứu liên quan đến cơsở dữ liệu

hướng thời gian

Các hệ cơsở dữ liệu truyền thống chỉ chứa được dữ liệu hiện tại mà không diễn tả được sự thay đổi theo thời gian của dữ liệu Dữ liệu trong quá khứ và tương lai khôngđược lưu trữ Người sử dụng bắt đầu nhận thấy sự bất tiện về kết quảkhông nhất quán

của các bản báo cáo được tổng hợp từ cơsở dữ liệu, ví dụ: những bảng tổng kết cuối

năm về hoạt động kinh doanh của một công ty thường chứa những số liệu khác nhau ở những lần xử lý khác nhau Lý do là bảng tổng kết này được xử lý và in ấn ở những thời điểm khác nhau và dữ liệu về hoạt động kinh doanh của công ty đã được chỉnh

sửa giữa những thời điểm này Để khắc phục nhược điểm này, nhiều công trình đãđược đầu tưnghiên cứu và phát triển trong hai thập niên gần đây nhằm giúp cho người

sử dụng cơsở dữ liệu có thể dễ dàng lưu trữ và suy luận trên những thông tin hướng thời gian

Các công trình nghiên cứu về cơsở dữ liệ u hướng thời gian tập trung vào một sốchủ

đề chính sau: mô hình dữ liệu và ngôn ngữ truy vấn hướng thời gian, thiết kế cơsở dữ liệu hướng thời gian, hiện thực các hệ quản trị cơsở dữ liệu hướng thời gian và lập chỉ

mục cho dữ liệu hướng thời gian Nội dung chi tiết hơn về các hướng nghiên cứu nàyđược trình bày bên dưới

Trang 37

3.2 Mô hình dữ liệu và ngôn ngữ tuy vấn hướng thời gian

Hầu hếtcác mô hình dữ liệu hướng thời gian được đề xuấ t đều là những mở rộng từ

các mô hình dữ liệu đã có: mô hình dữ liệu quan hệ (relational data model) hoặc mô hình dữ liệu đối tượng (object data model) Mỗi mô hình dữ liệu hướng thời gian có thể hỗ trợ thời gian hợp lệ(valid-time), hoặc thời gian giao tác (transaction-time),

hoặc cả hai (song thời gian – bitemporal) Thời gian hợp lệ ghi nhận thời gian mà các

sự việc có thực (diễn ra) trong thế giới thực Thời gian giao tác ghi nhận thời gian màcác sự việc được lưu trữ vào cơsở dữ liệu Mô hình dữ liệu song thời gian (bitemporal data model) hỗ trợ việc quản lý dữ liệu theo cả 2 chiều thời gian trên

Ngôn ngữ truy vấ n hướng thời gian thường được giới thiệu kèm theo các mô hình dữ

liệu mới được đề xuất này Đa số các ngôn ngữ truy vấn hướng thời gian cũng lànhững mở rộng của các ngôn ngữ truy vấn có sẵn Ví dụ: TQuel được mở rộng từ Quel (ngôn ngữ truy vấn của hệ quản trị cơsở dữ liệu Ingress), các ngôn ngữ (TSQL, TempSQL, TSQL2 ) được mở rộng từSQL chuẩn Bảng 3.1 trình bày tóm tắt một số

mô hình dữ liệu hướng thời gian và các ngôn ngữ truy vấn liên quan

Bả ng 3.1: Các mô hình dữ liệu hướng thời gian và ngôn ngữ truy vấn liên quan

Chiề u thời gian hỗ trợ (Time dimension)

Phân loạ i mô hình

dữ liệ u (Classification of data model)

Tài liệ u (Reference)

Relational Model TQuel Bitemporal Relational [25, 27]

Trang 38

Các mô hình cơsở dữ liệ u hướng thời gian Temporal Relational Model, Bitemporal

Relational Data Model và Bitemporal Conceptual Data Model với các ngôn ngữ truy

vấ n hướng thời gian tương ứng TSQL, TQuel, và TSQL2 đã được trình bày chi tiếtở

phần 2.2

Temporal Relational Model

Navathe [19] đã đề xuất hướng mở rộng mô hình dữ liệu quan hệ thành mô hình dữ liệ u quan hệ hướng thời gian (Temporal Relational Model) Mô hình này chỉ hỗ trợ thờ i gian hợp lệ(valid-time) Các quan hệ trong mô hình này được phân thành 2 loại

Tất cả thuộc tính của quan hệ tức thời (snapshot relation) không thay đổi theo thờigian Trong khi đó, mỗi bộ dữ liệu (tuple) trong quan hệ thời gian hợp lệ (valid-timerelation) được lưu trữ kèm theo khoảng thời gian hợp lệ, thể hiện thành 2 thuộc tính

mới Time-start và Time-end

Navathe cũng đưa ra ngôn ngữ truy vấn hướng thời gian TSQL, thêm vào ngôn ngữ

SQL chuẩn những đặc điể m mới sau: biểu thức điều kiện thời gian trong mệnh đề WHEN, truy xuất các nhãn thời gian được gắn kèm với dữ liệu, truy xuất thông tin sắp thứ tự theo thời gian, xác định miền thời gian hợp lệ dùng mệnh đề TIME-SLICE, cáchàm bao gộp đã chỉnh sửa và mệnh đề GROUP BY Các câu truy vấn TSQL mẫu có

thể tham khảo ở mục 2.2.1 của luận văn

Bitemporal Relational Data Model

Năm 1987, Snodgrass [27] đã đề xuất mô hình dữ liệu quan hệ song thời gian mở

rộng từ mô hình dữ liệu quan hệ truyền thống bằng cách thêm vào mỗi quan hệ 4 thuộ c tính ẩn (implicit attributes):

 Hai thuộc tính (start, stop) để ghi nhận thời gian giao tác của việc chèn hoặc xóa luận lý dữ liệu

 Hai thuộc tính (from, to) để ghi nhận thời gian hợp lệ của dữ liệu Trong trường

hợp dữ liệu được dán nhãn thời gian sự kiện (event timestamping) thì chỉ cần dùng một thuộc tính (at)

Trang 39

Snodgrass cũng đề xuất ngôn ngữ truy vấn hướng thời gian TQuel được mở rộng từ ngôn ngữQuel (ngôn ngữ truy vấn của hệ quản trị cơsở dữ liệu Ingress) Các câu truy vấ n TQUEL mẫu có thể tham khảo ở mục 2.2.2 của luận văn.

Bitemporal Conceptual Data Model

Jensen và các đồng nghiệp [15] đã đề xuất mô hình dữ liệu ý niệ m song thời gian

(Bitemporal Conceptual Data Model) Mô hình ý niệm này được dùng làm cơsở để

định nghĩa ngôn ngữ truy vấn hướng thời gian TSQL2 TSQL2 hỗ trợthời gian do

người dùng định nghĩa (user-defined time), thời gian hợp lệ (valid-time), và thời gian giao tác (transaction-time)

Thời gian do người dùng định nghĩa là thuộc tính tường minh (explicit), còn thời gian

hợp lệ và thời gian giao tác là các thuộc tính ẩn (implicit) Trong mô hình này, dữ liệu

được dán nhãn thời gian bởi một tập các thời điểm (time instant) hoặc bởi phần tử thờ i gian (time-element).

Các câu truy vấ n TSQL2 mẫu có thể tham khảo ở mục 2.2.3 của luận văn.

3.3 Thiết kế cơsở dữ liệu hướng thời gian

Mô hình thực thể - mối liên kết (Entity-Relationship Model) đã trở nên phổ biến và làcông cụ hiệu quả trong thiết kếcơsở dữ liệu ở mức ý niệm (conceptual database design) Nhiề u mô hình thực thể-mối liên kế t hướng thời gian cải tiến được đưa ra.Các mô hình này được khảo sát và đánh giá dựa trên 19 điểm yêu cầu của một mô hìnhthiết kế dữ liệu mức ý niệm hướng thời gian được nêu ra trong tài liệu [9]

Ở giai đoạn thiết kế cơsở dữ liệu ở mức luận lý (logical database design), các lược đồ

của quan hệ (relation schema) được chuẩn hóa theo các dạng chuẩn (normal form)

nhằm giảm thiểu sự dưthừa dữ liệu những vẫn đảm bảo tính nhất quán của dữ liệu Tàiliệu [16] đã đưa ra nhiều khái niệm liên quan đến việc chuẩn hóa cơsở dữ liệ u hướng thờ i gian (temporal normalization).

Trong tài liệu [26], Snodgrass đã đưa ra mộthướng tiếp cận đơn giản hơn nhưng lại

t có liệu quảtrong thiết kế cơsở dữ liệu hướng thời gian Giải pháp này xuyên suốt

Trang 40

lý Trong giai đoạn thiết kế mức ý niệm, các đặc tính hướng thời gian của ứng dụng

được bỏ qua, người thiết kế chỉ tập trung vào việc xây dựng lược đồ thực thể-mối liên

kết (ER schema) cho thật hoàn chỉnh Sau đó, mỗi thành phần trong lược đồ thực

thể-mối liên kết (kiểu thực thể, kiểu mối liên kết, thuộc tính và khóa) sẽ lần lượt được gắn

với ngữ nghĩa hướng thời gian (temporal semantic) của nó thông qua các câu chú thích

(annotations) bằng ngôn ngữ tự nhiên

Giai đoạn thiết kế mức luận lý bao gồm 2 bước: trước tiên, các thành phần trong lược

đồ thực thể-mối liên kết (ER schema) được ánh xạ thành các lược đồ quan hệ không thay đổi theo thời gian (nontemporal relation schema) Ở bước thứ 2, các chú thích về ngữ nghĩ a hướng thời gian của các thành phần được nêu ra ở giai đoạn thiết kế ý niệm sẽ được xem xét để chỉ nh sửa các lược đồ quan hệ,nhằm đảm bảo rằng các lược

đồ này thể hiện được đầy đủ khía cạnh thời gian của dữ liệu Quan hệ (relation, table) ứng với kiểu thực thể có thời gian sống (entity with life-span, entity with valid-time)

sẽ được thêm thuộc tính để biểu diễn thời gian hợp lệ(valid-time), thêm một thuộc tính nếu biểu diễn thời điểm (instant, event), thêm hai thuộc tính nếu biểu diễn thời khoảng (interval, period) Áp dụng quy tắc tương tự cho kiểu mối liên kết thay đổi theo thời gian hợp lệ (relationship type with valid-time) Riêng trường hợp thuộc tính

với thời gian hợp lệ (attribute with valid-time) sẽ được tách thành quan hệ mới với thời gian hợp lệ nếu nhưkiểu thực thể hoặc kiểu mối liên kết liên quan đến thuộc tính nàykhông cần biểu diễn thời gian sống

3.4 Hiện thực các hỗ trợcơsở dữ liệu hướng thời gian

Năm 2000, Snodgrass [26] đã đề xuất cách phát triển các ứng dụng cơsở dữ liệu hướ ng thời gian (time-oriented database application) mà chỉ dùng ngôn ngữ truy vấn SQL với các hệ quản trị cơsở dữ liệu truyền thống hiện nay Nếu áp dụng phươngpháp này thì việc hiện thực một hệ quản trị cơsở dữ liệu hướng thời gian là hoàn toànkhông cần thiết

Tuy nhiên, phương pháp do Snodgrass đề xuất có nhược điể m là không có cơchế thừa , quá phụthuộc vào ứng dụng cụ thể(problem specific), người lập trình phải bắt

Ngày đăng: 11/02/2021, 23:08

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w