D- Mở ộr ng ràng buộc áp dụng lớp đối tượng tới chi u t hề ời gia n 2 6-
2.4.1.4 Kết luận về phương pháp luận TOOBIS 2 7-
Phương pháp luận TOOBIS hỗ trợ khía cạnh thời gian của các ứng dụng cơ ở s dữ liệu và hỗ trợ tương ứng các đặc t khái ni m ả ệ đến TOOBIS - TOODBMS với ngôn ngữ định nghĩa TODL của nó.
Mở rộng thời gian giới hạn theo các hướng [EIV-99F] :
• Trình diễn th i gian thông qua nh ng mi n th i gian m i, ờ ữ ề ờ ớ
• Hình thức hóa th i gian, l u tr trong l ch s cờ ư ữ ị ử ủa d li u v i l p th i ữ ệ ớ ớ ờ
gian và các liên kết m i cớ ủa nó,
• Định nghĩa s toàn v n c a d li u th i gian v i vi c m rự ẹ ủ ữ ệ ờ ớ ệ ở ộng các ràng buộc tĩnh.
2.4.2 Hệ quản trị ơ ở ữ c s d liệu thời gian hướng đối tượng
TOODBMS gồm có ba mô đun, bao gồm:
• Mô hình dữ ệ li u đối tượng th i gian (TODM) ờ
• Ngôn ngữ định ngh a ĩ đối tượng th i gian (TODL) ờ
• Ngôn ngữ truy v n ấ đối tượng th i gian (TOQL) ờ
Trong phần này luận v n să ẽ trình bày hai phần là TODM và TODL, riêng TOQL luận v n să ẽ trình bày chi tiết với các ví dụ minh hoạ rõ ràng trong chương 4.
2.4.2.1 Mô hình dữ liệu đối tượng thời gian (TODM)
TODM là một mở rộng c a Mô hình d li u ủ ữ ệ đối tượng (ODM) của ODMG mà các hệ quản trị cơ sở dữ ệ li u hướng đối t ng (OODBMS) ượ được xây dựng. TODM tập trung cho việc chuyển đổi giữa các OODBMS.
Trước khi giới thiệu dữ liệu thời gian trong khái niệm hướng đối tượng, luận văn sẽ trình bày mô hình dữ liệu đối tượng thời gian TODM. Sau đó, luận văn sẽ trình bày các cấu trúc và giao diện được sử dụng để biểu di n d li u th i ễ ữ ệ ờ
gian.
A - Mô hình và thao tác thời gian
TODM dựa vào một mô hình thời gian gần chuẩn và cổ đ ể i n. Nó là một cấu trúc tuyến tính và thời gian được sắp xếp thống kê trong định nghĩa, sử dụng thao tác “inferior to”. Trục th i gian có th ờ ể được chia thành m t s hộ ố ữu h n ạ
chronon và kích thước của nó là đơn vị nh nhỏ ất dùng để thực thi khi xử lý dữ
liệu. Thời gian trên số lượng thực thể được [EIV-99F] định nghĩa như sau:
• Một thời đ ểi m là một đ ểi m thời gian trên trục thời gian.
• Một thời kỳ (giai đ ạo n) là một lượng thời gian giữa hai thời đ ểi m
• Một khoảng là một lượng thời gian với một thuộc tính độ dài thời gian, nhưng không có những ranh giới xác định như giai đ ạo n.
TODM cung cấp hay hỗ trợ đầ đủy cho lịch Gregorian chuẩn với những nguyên tố chuẩn của nó - năm, tháng, ngày, giờ, phút và giây - cũng như
chuẩn bị các lịch biểu hỗ trợ.
B - Dữ liệu thời gian bên trong đối tượng
Cơ sở ban đầu là đối tượng v i ớ định danh duy nhất (OID) không thay đổi. Trạng thái của nó được định nghĩa bởi những giá trị mang những thuộc tính tường minh và hành vi của nó được định nghĩa bởi một tập các thao tác. Những đối tượng là những thực thể với các giá tr , và nó có th ti n tri n ị ể ế ể
trong cả thời gian. TODM được thiết kế để lưu tr nh ng ti n hóa nh vữ ữ ế ư ậy thông qua thời gian hiệu l c và/hoự ặc thời gian giao d ch. ị
Hình 2. 6 Mở ộ r ng đến kiểu phân cấp của ODMG
giới thiệu bởi TODM.
Hình 2.7 minh họa sự khác nhau giữa đối tượng thời gian thể hiện thuộc tính và đối tượng.
Hình 2. 7 Các tính chất thể hiện thời gian và các đối tượng thời gian
TODM giới thiệu một loại quan hệ mới: m i quan h tr ng thái. M t m i ố ệ ạ ộ ố
quan hệ trạng thái không chỉ về phía M t ộ đối tượng, mà là về phía Một trạng thái đặc biệt của Một đối tượng thời gian. Trong trường hợp này, OID của đối tượng đích không đủ để mô hình hoá mối quan hệ trạng thái. Thay vào đó, một OID Thời gian (TOID) của nhãn thời gian đối tượng đích liên quan đến một trong số những trạng thái của nó - được sử dụng, cho phép lựa chọn chính xác trạng thái của đối tượng thời gian kéo theo trong trạng thái mối quan hệ. Hình 2.8. Minh họa những quan hệ và trạng thái truyền thống.
Hình 2. 8 Các quan hệ và các quan hệ trạng thái
2.4.2.2 Ngôn ngữ định nghĩa đố ượng thời gian (TODL) i t
Ngôn ngữ định nghĩa đối tượng thời gian (TODL) là một ngôn ngữ cho phép người dùng định nghĩa thêm các giao diện thời gian. TODL ngang hàng với những khái niệm ODL của ODMG [EIV-99F] :
• TODL hỗ ợ ấ ả tr t t c ng ngh a xây d ng mô hình hóa d li u bên dữ ĩ ự ữ ệ ưới .
• TODL là một ngôn ng ữ định ngh a cho các ĩ đặc t ả đối tượng.
• TODL là một ngôn ng l p trình ữ ậ độc lập.
TODL liên quan đế địn nh nghĩa các thuộc tính giao di n và thệ ể hiện cho đối tượng thời gian. TODL cho phép định nghĩa dữ liệu thời gian trên cả thuộc tính thể hi n lệ ẫn mức đối tượng, trong khi chính nó được hỗ ợ tr bởi TODM. Hình 2.9 minh họa cấu trúc bộ ử x lý TODL.
Hình 2. 9 Kiến trúc bộ ử x lý TODL 2.5 Kết luận chương 2
Trong chương 2, luận văn đã đi vào phân tích chi tiết về cơ sở dữ ệ li u th i ờ
gian hướng đối t ng trong các hượ ệ thống thông tin - TOOBIS. Trong đó trình bày chi tiết về phương pháp luận TOOBIS và Hệ quản trị TOODBMS.
• Phương pháp luận TOOBIS h tr nh ng ngỗ ợ ữ ười phân tích mô t nh ng ả ữ
khía cạnh thời gian của các ứng dụng c sơ ở dữ ệ li u và h tr tỗ ợ ương ứng các đặc tả khái niệm đến TOOBIS - TOODBMS với ngôn ngữ định nghĩa TODL.
• Hệ quản trị TOODBMS với ba mô đun TODL, TODM và TOQL. Chương 2 đã trình bày hai mô đun TODM và TODL, với mở rộng d ữ
liệu thời gian và ngôn ngữ định ngh a mĩ ới, h trỗ ợ đầ đủy các tính năng dành cho các ứng d ng quụ ản lý cơ sở ệ li u có y u t th i gian theo ế ố ờ
phương thức hướng đối tượng.
Chương 3 sẽ giới thiệu một đại s thố ời gian là cơ sở toán h c cho vi c x lý ọ ệ ử đối vớ ơ ở ữ ệi c s d li u th i gian theo phờ ương th c hứ ướng i tđố ượng.
CHƯƠNG 3 – CƠ SỞ TOÁN HỌC CHO XỬ LÝ CƠ Ở Ữ S D
LIỆU HƯỚNG ĐỐI TƯỢNG THỜI GIAN
Giới thiệu
Mô hình dữ liệu hướng đố ượi t ng có nhiề ư đ ểu u i m với các tính ch t nhấ ư kế
thừa, định danh đối tượng, đóng kín, đóng gói thông tin, đa hình, các k thuỹ ật kiểu/lớp… cho phép các thực thể trong thế giới thực được mô hình hoá trực tiếp, thể hiện y đầ đủ để phát triển hệ thống và mô hình hoá dữ liệu. Khung nhìn của một CSDL hướng đối t ng có thượ ể được trình bày bởi m t m ng các ộ ạ
lớp đối tượng được kết nối trong bằng các kiểu kết hợp khác nhau. Các khung nhìn mở rộng c a chúng gi ng nh mủ ố ư ột mạng c a các th hi n l p ủ ể ệ ớ đối tượng
được kế ốt n i trong b i các th hi n c a các ki u k t n i. ở ể ệ ủ ể ế ố
Một hướng đi chính cho đại số TA là các hỗ trợ của nó cho x lý và ử đặc t ả
dựa trên mẫu (hoặc dựa trên đồ thị). Trong một đặc tả truy vấn dựa mẫu, một truy vấn có thể giải quyết hình thức hoá mộ ớt l p đố ượi t ng đơn hay các lớp
đối tượng phức có c u trúc tuy n tính, cây ho c m ng lấ ế ặ ạ ưới (ví dụ chúng có chứa các vòng lặp). Các nhánh của một cây hoặc một mạng có thể được gán nhãn là các nhánh AND hoặc OR phụ thuộc vào ngữ nghĩa của truy vấ Ưn. u
đ ểi m c a các toán t ủ ử đại s tố ường minh được gi i thi u trong hớ ệ ướng này là:
• Chúng tương thích với các c u trúc ngôn ng mấ ữ ức cao, d dàng cho kh ễ ả
năng thiết lập cũng như ánh xạ giữa chúng với nhau.
• Chúng có thể được th c thi tr c ti p v i hi u su t cao h n vi c s d ng ự ự ế ớ ệ ấ ơ ệ ử ụ
một số các toán tử khác để biểu diễn và thực thi các ngữ nghĩa gi ng ố
nhau.
Đại số TA được lu n v n trình bày trong chậ ă ương 3 này v i các n i dung ã ớ ộ đ được chấp nh n trong [SSH-98] . Nó có các ậ đặc tr ng riêng nh sau : ư ư
các thuộc tính đã sử ụ d ng trong đại số quan hệ và các mở ộ r ng thời gian của nó.
• Các toán tử đại s thao tác trên m t ho c hai t p các m u ố ộ ặ ậ ẫ đồng nh t ấ
hoặc không đồng nhất của các kết hợ đốp i tượng để sinh ra một tập các mẫu có thể được xử lý sau này bằng các toán tử khác.
• Trực ti p h tr vi c x lý ng ngh a các phi k t hế ỗ ợ ệ ử ữ ĩ ế ợp, các quan hệ phi thời gian, và ngữ nghĩa các nhánh AND/OR. Nó duy trì k t hế ợp giữa các đối tượng trong việc duyệt các đường dẫn khác nhau của quá trình xử lý truy vấn thời gian.
Trong chương này, luận văn trình bày về mô hình hoá đố ượi t ng và hình thức hoá truy vấn thời gian, đại số kết h p th i gian, vi c thi t k ngôn ng th i ợ ờ ệ ế ế ữ ờ
gian và phân tích đại số.
3.1 Mô hình hóa đối tượng thời gian và hình thức hóa truy vấn
3.1.1 Dữ liệu thời gian
Sự khác biệt giữa CSDL phi thời gian và CSDL thời gian chính là các sự kiện, các sự kiện thời gian và việc ghi nhận các sự ệ đ ki n ó theo một quá trình. Có 3 sự kiện thời gian tiêu biểu trên các đố ượi t ng đó là: update, delete, và
insert (cập nhật, xoá và chèn). Triển khai của một thể hiện trên được xem như
là phiên bản lịch sử của các th hi n và ể ệ được g i là ọ temporal instances (các thể hiện thời gian).
Triển khai của một thể hiện được trình bày bằng một dãy các thể hiện thời gian. Các thể hiện thời gian được sắp xếp theo thứ ự t thời gian, còn gọi là trục thời gian hay đường thời gian (time-line).
Trong chương này luận văn trình bày thời gian hiệ ựu l c để mô tả các toán tử đại số. Kho ng hiả ệu lực c a m t th hiủ ộ ể ện th i gian ờ được mô t bả ằng th i gian ờ
bắt đầu ts và thời gian k t thúc ế te. Nếu m t thộ ể ệ hi n trình di n m t sễ ộ ố thông tin hiện thời thì khi đó có th thể ấy quan hệ: ts = te = now, trong đó now mô tả
một giá trị đặc biệt cho biết thông tin đó ở trạng thái hiện thời.
3.1.2 Biểu diễ đồn thị ủ c a TOODB
Một trình diễn đồ thị của một CSDL hướng đối tượng đặc tả mối quan hệ giữa các đối tượng dữ liệu thời gian bằng các liên kết kết hợp tường minh [SSH- 98]. Trong một mô hình d li u d a trên ữ ệ ự đồ th - graphbased data model, nh ị ư
OSAM*/T [SSH-98] , một CSDL thời gian hướng đối t ng ượ được trình bày trong hai đồ thị: Schema Graph (SG - Đồ thị lược đồ) và Temporal Object Graph (TOG - Đồ thị đối tượng thời gian ) trong ó các thđ đồ ị trình bày tương
ứng v i CSDL t ng quát và CSDL m r ng. ớ ổ ở ộ
3.1.2.1 Đồ thị lược đồ
Trong một đồ thị lược đồ - Schema Graph (SG), [SSH-98] một CSDL được nhìn nhận như mộ ật t p các l p ớ đối tượng thông qua các ki u k t h p khác ể ế ợ
nhau .
Ví dụ SG của một CSDL công ty được trình bày trong hình 3.1.
Hình 3. 1 Đồ thị lược đồ c a m t CSDL công ty ủ ộ
Các hình chữ nhật biểu diễn các lớp thực thể - entity classes, và các hình tròn biểu diễn các thuộc tính được định nghĩa trên các lớp miền – domain classes. Các cạnh trong SG trình bày các kết hợp giữa các lớp đố ượi t ng. Mũi tên hai
đầu ký hiệu các liên k t t ng quát hoá - ế ổ generalization và các nh n giđỉ đơ ản là ký hiệu các liên kết gộp – aggregation giữa các lớp đối tượng. Tất cả các liên kết gộp - aggregation đề đặu t tên nhưng tên của chúng không đưa ra theo
thứ t . ự
3.1.2.2 Tổ chức dữ liệu thời gian và đồ thị đối tượng th i gian ờ
Việc mở rộng c a m t CSDL th i gian có th ủ ộ ờ ể được trình b i m t - Temporal ở ộ
Object Graph (TOG). Trong một TOG, các cạnh bi u diể ễn các thể hiện thời gian. Các kết hợp giữa chúng được biểu diễn bằng các liên kết trong. Trong một TOG, [SSH-98] một CSDL được xem như là một tập của các thể hiện thời gian đã được k t n i trong thông qua các liên k t k t h p phi ki u. M t ế ố ế ế ợ ể ộ
thể hiện thời gian trong một TOG có thể được định danh bằng một TIID, nó
được hình thức hoá b ng m t chu i các s ki n liên ti p c a m t nhãn th i ằ ộ ỗ ự ệ ế ủ ộ ờ
gian và một IID.
Các bộ nhãn thời gian - Timestamping [SSH-98] và các nhãn thời gian thu c ộ
tính – Attribute timestamping [SSH-98] được dùng trong việc m rở ộng th i ờ
gian đến một mô hình dữ liệu quan hệ. Việc triển khai của các thể hiện đối tượng, các quan hệ thời gian của chúng trong một CSDL hướng đối tượng có thể được ghi lại bằng việc dùng hai phương thức chứa nhãn thời gian là:
instance timestamping và attribute timestamping. Một khai triển của một thể
hiện, chứa cả dữ ệ li u mô t và các tham chi u k t h p, ả ế ế ợ được ghi l i trong ạ đường thời gian chung. Các t ch c d li u th i gian d a trên hai phổ ứ ữ ệ ờ ự ương thức nhãn thời gian được trình bày bằng phương pháp đồ thị với TOG và các bảng trong hình 3.2.
Các trục thời gian đa chiều của một thể hiện trong thuộc tính phương thức nhãn thời gian có thể được chuyển đổi thành đường thời gian đơn bằng các thao tác time-alignment [SSH-98].
Hình 3. 2 Thuộc tính nhãn th i gian trong tờ ổ chức dữ liệu thời gian
Hình 3. 3 Thể hiện nhãn thời gian trong tổ chức dữ liệu thời gian
Hình 3.4 Trình bày TOG trong phương pháp thuộc tính thời gian.
3.1.2.3 Hình thức hoá truy vấn thời gian dựa mẫu
Kết hợp với các mô hình dữ liệu thời gian hướng đối tượng, một số ngôn ngữ
truy vấn thời gian đã được thiết kế bằng vi c k t h p các c u trúc th i gian ệ ế ợ ấ ờ
vào m t sộ ố ngôn ngữ truy vấn phi thời gian đang tồn tại. Chúng có thể được phân chia thành một số nhóm như [SSH-98] nói tới m t s ngôn ngộ ố ữ: SQL/Quelbased (ví d : TOOSQL), PL-based (Ví dụ ụ: OODAPLEX), và association-based (Ví dụ: OQL/T) . Các ngôn ng thữ ời gian có 3 thành phần truy vấn cơ ả b n:
- Các đặc tả thời gian
- Các đ ềi u kiện lựa chọn dữ liệu - Các thao tác với CSDL
Hình 3. 4 Đồ thịđối tượng thời gian
Ư đ ểu i m c a hình th c hóa truy v n này là ủ ứ ấ đơn gi n trong vi c xác ả ệ định các truy vấn ph c tứ ạp mà chúng bao hàm các lớp phức [SSH-98]. Mẫu của các k t ế
hợp đối tượng thời gian có thể được đặc tả bằng m t bi u th c ộ ể ứ đại s th i ố ờ
gian có chứa các lớp đối tượng và các toán tử đại số mà chúng đã được kết nối trong một cấu trúc tuyến tính, cây hoặc mạng lưới.
Ví dụ Q1: Tìm tất cả các trình độ của các k sỹ ư nh ng ngữ ười ã tham gia đ
trong các dự án khi đang làm tại phòng ban có số hiệu phong ban dept_no =