Phân hoạch một đối tượng thời gian đơn 8 4-

Một phần của tài liệu (LUẬN văn THẠC sĩ) cơ sở dữ liệu hướng đối tượng thời gian và xử lý truy vấn trong cơ sở dữ liệu hướng đối tượng thời gian (Trang 85)

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-

B- Dữ liệu thời gian bên trong đối tượng 29

4.1.9.1 Phân hoạch một đối tượng thời gian đơn 8 4-

Kiểu phân hoạch đầu tiên tách một đối tượng thời gian đơn thành những t p ậ

gian hiệu lực hoặc trên tr c thụ ời gian giao dịch. Cú pháp của thể thức phân hoạch này là:

TemporalObject(partition time_axis as interval_query

[leading interval_query] [trailing interval_query] [calendar])

Với truy vấn “ Cho tấ ảt c các s n ph m, hãy ả đưa ra tên và quá trình s ng c a ố

chúng mỗi năm trong lịch calendric

select p->ProductName as Name,

(valid p->LifeTime)(partition valid as INTERVAL '1' YEAR calendar) as YearlyLifeTime

from Products as p

Thành phần YearlyLifeTime trong mô hình kết quả của truy v n này là m t ấ ộ

tập các cấu trúc, với mỗi cấu trúc tương ứng với một phân hoạch của trục thời gian hiệu lực với khoảng thời gian bằng một năm.

Mỗi cấu trúc chứa hai thành phần thành viên.

• Thành viên thứ nh t có tên TimeSlice, ki u c a nó là Period và ch a ấ ể ủ ứ

phần của trục thời gian mà thông tin của cấu trúc này liên quan. Đơn vị

và lịch biểu của thành ph n TimeSlice ầ được l y t các ấ ừ đặc tr ng tư ương

ứng c a nhãn th i gian trong tr c th i gian phân ho ch. ủ ờ ụ ờ ạ

• Thành viên thứ hai là m t t p có tên Partition, và ch a giá tr và nhãn ộ ậ ứ ị

thời gian hiệu lực của những biến thể liên quan đến thành phần trục thời gian hiệu lực lưu giữ trong thành phần TimeSlice tương ứng.

Trong trường h p tợ ổng quát, nếu là một đối tượng thời gian, mô hình thành viên Partition do một thao tác phân hoạch là mộ ất c u trúc, thì nh ng thành ữ

ph n ầ được xác định như sau :

Cấu trúc luôn luôn chứa một thành phần có tên là Value - Giá trị mà có kiểu

đồng nhấ ớt v i nhãn th i gian c a ki u i tờ ủ ể đố ượng thời gian .

Nếu TO có ngữ nghĩa thời gian hiệu lực, cấu trúc chứa một thành phần có tên VT lưu giữ thời gian hiệu lực của ph ng án. Kiươ ểu của thành phần VT là Period, nếu TO có ngữ nghĩa trạng thái hiệ ựu l c. Trong tấ ảt c các trường h p, ợ

đơn vị và l ch bi u cị ể ủa thành ph n VT ng nhầ đồ ấ ớt v i các c trđặ ưng tương ứng của TO có nhãn thời gian hiệu lực.

Nếu TO có ngữ nghĩa thời gian giao dịch, cấu trúc chứa một thành phần có tên TT lưu gi phữ ương án có thời gian giao dịch. Kiểu thành phần TT luôn luôn là Period với l ch bi u và ị ể đơn vị mặc định s dử ụng cho chi u h th ng ề ệ ố

thời gian giao dịch .

Một số đặc trưng bổ sung của các toán tử phân hoạch được biểu diễn.

• Đặc trưng th nh t là giá tr ứ ấ ị đặc bi t forever trong nhãn th i gian hi u ệ ờ ệ

lực là tình huống con bởi giá trị của nhãn thời gian hiện thời cho những mục đích phân hoạch.

• Đặc trưng th hai c a th tứ ủ ủ ục phân ho ch bi u di n trong ví d trên là ạ ể ễ ụ

việc đ ềi u khiển các biển thể period-timestamped, những nhãn thời gian chưa hoàn toàn được chứa trong một đ ạo n đơn trên trục thời gian.

Cuối cùng, đơn v phân hoị ạch cơ sở ũ, c ng nh nh ng bi u th c kho ng trong ư ữ ể ứ ả

những mệnh đề tùy ý và kéo theo không cần phải chuyể đổn i cho tất cả các

đối tượng.

4.1.9.2 Kết h p nhợ ững biến thể ừ t nhiều đối tượng thời gian

Kiểu phân hoạch con thứ hai cho phép kết hợp nh ng biữ ến thể từ nhi u ề đối tượng thời gian vào trong các nhóm, với mỗi nhóm gắn liền với m t ph n ộ ầ đặc biệt hoặc trục thời gian hiệu lực hoặc trục thời gian giao dịch.

Việc lọc nhóm và tính toán giá trị tổng th ể được th c hi n b ng vi c dùng ự ệ ằ ệ

những cơ chế OQL chuẩn, ví dụ tương ứng m nh ệ đề where và các hàm liên hợp. Cú pháp thay thế ủ c a mệnh đề group by là:

group by time_axis interval_query [leading interval_query] [trailing interval_query] as identifier

với time_axis ho c hi u l c ho c giao d ch. ặ ệ ự ặ ị

đối tượng từ truy v n ấ select/from/where.

Đơn vị và các l ch bi u c a t t c các truy v n kho ng ph i ị ể ủ ấ ả ấ ả ả đồng nh t; ấ đơn v ị

tất yếu không đối sánh được với những đặc trưng của đối tượng thời gian có phân chia trục thời gian.

4.2 Bộ ử x lý TOQL

4.2.1 Giới thiệu

Trong mục này, luận v n giă ới thiệu bộ xử lý truy v n TOQL. M c ích ấ ụ đ đề

xuất và giải quyết trong thiết kế b xộ ử lý [EIV-99D] : - Chức năng thời gian đầ đủy cần phải đ ềi u phối - Tính tương thích đầ đủy với DBMS thông thường - Hiệu năng thực hiện

- Tính khả chuyển

4.2.2 Kiến trúc bộ ử x lý TOQL

Bộ xử lý TOQL được th c hi n nh ch c n ng mô un ph n m m trên b ự ệ ư ứ ă đ ầ ề ở ộ

xử lý OQL của O2. Những truy vấn TOQL sẽ được giữ lại và chuy n ể đổi t i ớ

những truy vấn OQL, chúng sẽ trình bày tới bộ xử lý OQL cho vi c ánh giá. ệ đ

Những kết quả trở lại b i b xở ộ ử lý OQL được chuy n t i cho ngể ớ ười dùng, hoặc ứng dụng mà đã đưa ra truy vấn TOQL. S này ơ đồ được minh họa trong Hình 4.2. O2 Engine OQL Processor TOQL processor User Application OQL Statements TOQL Statements Result Result Result Result O2 API Hình 4. 1 Kiến trúc bộ ử x lý TOQL

đun ph n m m nh hầ ề ỏ ơn, v i m i trong s chúng có trách nhi m v i m t giai ớ ỗ ố ệ ớ ộ đ ạo n c a vi c x lý truy v n, nh ủ ệ ử ấ ư được minh h a trong Hình 4.3. Nh ng mô ọ ữ đun này được mô t t i các m c sau. ả ạ ụ

Syntactical analyser Type checker OQL generator Semantical analyser Lexical analyser TOQL processor results TOQL queries O2 System OQL queries TOQL optimiser OQL processor Database + Metadata Hình 4. 2 Mô đun bộ ử x lý TOQL

• Phân tích từ vựng (Lexical analyser) x lý nh ng truy v n ang trình ử ữ ấ đ

bày t i bớ ộ xử lý TOQL và chia nó thành t ng ph n v i d u hi u t ừ ầ ớ ấ ệ ừ

vựng, với mỗi trong số chúng tương ứng tới một phần tử của TOQL.

• Kiểm tra cú pháp (syntax checker) đọc dòng t v ng có các d u hi u do ừ ự ấ ệ

những người phân tích và kiểm tra từ vựng ã t o thành m t truy v n đ ạ ộ ấ

TOQL hiệu lực.

• Phân tích cú pháp (Syntactical analyser ) phát sinh một cây cú pháp, mô tả cấu trúc c a truy v n TOQL. Ki m tra ki u (type checker) duy t qua ủ ấ ể ể ệ

cây cú pháp, việc kiểm tra thao tác xác định trong truy vấn tính h p lợ ệ đối với các ki u tham s c a chúng. ể ố ủ

• Mô đun phân tích ng ngh a (semantical analyser module) xác ữ ĩ định những thao tác thực tế phải được kéo theo, đểước lượng truy vấn). TOQL tố ưi u hóa sắp xếp bằng việc loại bỏ những thao tác thừa hoặc làm gọn những thao tác có thể có ở những n i có th . ơ ể

bởi việc kiểm tra kiểu, mô đun phân tích ngữ nghĩa và công thức hóa một truy vấn OQL, mà sẽ thu được những kết quả mong muốn.

4.2.3 Xử lý truy vấn

Như được trình bày trong các m c 4.2.2, bụ ộ xử lý TOQL phân tích những truy vấn biểu diễn đến nó và chuyển đổi chúng thành những truy vấn OQL tương

đương, mà sau này được cho vào trong bộ ử x lý OQL c a h th ng O2. Trong ủ ệ ố

những mục sau, những biế đốn i cú pháp thực hiện bởi bộ xử lý TOQL và những phương pháp phụ trợ được s dử ụng trong cách vi t l i truy v n ế ạ ấ được

đưa ra.

4.2.3.1 Biến đổi cú pháp

Tất cả các đặc tả trong phần đặ ảc t đều được biến đổi phù h p sang C++ khi ợ

thiết kế TOQL. Có thể tham khảo chi tiết trong [EIV-99D]

4.2.3.2 Thực thi TOQL ở trên OQL 5.1.1 tương thích OODBMS

TOQL, như được mô tả trong mục 1.2 tới 1.9 là một mở rộng ch c ch n ắ ắ đến chuẩn gần đây hơn của OQL, tức là là phiên bản 1.2 ([EIV-99D]) Trong phiên bản 1.2, một số cấu trúc cú pháp c a phiên b n 1.1 ([EIV-99D]) không hi u ủ ả ệ

lực, một khi chúng đã được thay thế bởi SQL - 92 gi ng v i các c u trúc cú ố ớ ấ

pháp. Mặc dầu cú pháp chuyển đổi trong OQL 5. 1.1 là substantial, thi t kế ế

mô đun bộ xử lý TOQL k cể ả chuy n b xể ộ ử lý TOQL trên m i OQL 5.1.1 ở ọ

OO - DBMS tương thích hoặ ởc trên một OQL 5.1.2 OO - DBMS tương thích với hiệu năng cực tiểu. Đặc biệt, chỉ mô đun Generator OQL cần sửa đổi như

một cổng giao tiếp, như vậy trong khi phát sinh ra mã chuyên bi t v phiên ệ ề

bản cho cấu trúc cú pháp thì không đồng nhất trong c hai ả đặc tả ngôn ngữ.

Đặc tính duy nhấ ủt c a OQL 5.1.2 không tr c ti p ự ế được h tr trên m t OQL ỗ ợ ở ộ

5.1.1 conferment OO - DBMS là sắp xếp chung với thứ ự ắ t s p xếp tuỳ ý .

4.3 Cài đặt chương trình

CSDl mẫ đu ã giới thiệu trong mục 4.1.3

Do TOQL là một ngôn ng truy v n v a m i ữ ấ ừ ớ được xây d ng và các k t qu ự ế ả

của nó đang trong quá trình thử nghiệm nên trong phần cài đặt này lu n v n ậ ă

sử dụng m t c sộ ơ ở dữ ệ li u hướng đối tượng ó là Ozone v i phiên b n 1.2.1 đ ớ ả

và cài đặt mở rộng thêm các l p ớ đối tượng ã nói đ đến trong các m c t 4.1.3 ụ ừ

cho đến 4.2

Ozone là một hệ qu n tr cả ị ơ sở dữ ệ li u đối tượng h tr ngôn ng lỗ ợ ữ ập trình Java. Chương trình demo dựa trên các truy vấn và xây dựng mộ ốt s hàm đã trình bày trong nội dung của chương 4.

Với CSDL đã được luận văn giới thiệu ở mục 4.1.3 thì m i ỗ đối tượng được cài đặt dưới dạng một cây mà mỗi cành là một thuộc tính, nếu muốn thêm một thuộc tính mới hoặc ch nh s a m t thu c tính ã có chúng ta d a vào tính ch t ỉ ử ộ ộ đ ự ấ

của cây để thực hiện.

Với các giá trị của Obj001 t i m c 4.1.3 ta có n i dung hi n th trong demo ạ ụ ộ ể ị

theo các nội dung sau: Một số chức năng:

Run thực thi truy vấn demo dự trên các giá trị và thuộc tính lựa chọn theo: Object: là nhóm tên các loại đối tượng trong CSDL

Name: Tên của một đối tượng cụ thể trong CSDL

Attribute: Các thuộc tính của đối tượng Name trong CSDL

Value: Giá trị tại m t th i i m c a các thu c tính c a ộ ờ đ ể ủ ộ ủ đối tượng Name ReSet: trả ề v các thuộc tính mặc định và th c thi truy vự ấn mặc định

Exit: Thoát khỏi chương trình

Hình 4. 3 Biểu diễn đối tượng Obj001

Ví dụ: Với Obj001 Object: Product

Name: Life Orange Juice

Attribute: AvgSales, Ingredients, LifeTime, Manufactured Trong đó giá trị của các thuộc tính như sau:

ProductName: Tên sản phẩm

Description: Mô tả thêm thể tích, mẫu mã sản phẩm

AvgSales: Sản lượng bán trung bình trong một kho ng thả ời gian Ingredients: Các thành phần của sản phẩm

LifeTime: Vòng đời của sảnt phẩm Manufacrured: Nơi sản xuất

VT: ValidTime (Khoảng thời gian hiệu lực của thuộc tính) TT: Transaction (Khoảng thời gian giao dịch của thuộc tính)

Giữa Obj001 và Obj006 có sự tham chiếu thông qua thu c tính Manufactured. ộ

Nhìn vào hình 4.4 ta thấy thuộc tính Manufactured có Value là <Obj001> như

vậy, đối tượng Obj006 tham chiếu đến Obj001 nhưng Obj001 lại tham chiếu

Hình 4. 4 Biểu diễn đối tượng Obj006

Dựa vào các tính chất của đối tượng và cách biểu diễn này chúng ta có thể

truy vấn dễ dàng dự trên các giá trị thuộc tính và các hàm đã xây dựng dựa theo ý tưởng thiết k trong mế ục 4.1.

4.4 Kết lun chương 4

Trong chương 4, luận văn đã trình bày đặc tả và bộ xử lý TOQL m rở ộng t ừ

OQL 5. 1.2. Mở rộng này phù h p v i OQL, trong ó TOQL v n l u gi cú ợ ớ đ ẫ ư ữ

pháp và ngữ nghĩa của OQL. Bộ xử lý TOQL có đầ đủy các tính n ng nh : ă ư

tính khả chuyển qua bất kỳ các ODMG DBMS tương thích, xử lý được truy vấn thông thường và truy vấn thời gian. Đánh giá truy vấn dựa vào việc viết lại truy vấn và phương pháp kích hoạt, cho phép khai thác những kỹ thuật tối

CHƯƠNG V: KT LUN

Cơ sở dữ ệ li u th i gian v i ờ ớ đặc tr ng không m t mát thông tin có ý ngh a r t ư ấ ĩ ấ

lớn đối với các ứng dụng thực tế. Quản lý cơ sở dữ ệ li u trong các ng d ng ứ ụ

thông tin có yếu tố thời gian, có yêu cầ ưu l u trữ, tìm kiếm, xử lý các dữ liệu liên quan đến khái niệm thời gian là rất quan trọng trong việc phát triển các hệ

thống thông tin hiện nay. Hầu hết các ứng dụng qu n lý c s d li u hi n nay ả ơ ở ữ ệ ệ đều sử ụ d ng các h quệ ản tr CSDL quan h thông thị ệ ường. Cho nên n u có yêu ế

cầu về mặt th i gian thì ph i m rờ ả ở ộng thêm các trường trong các b ng quan ả

hệ. Như vậy, v a ph i yêu c u thêm v bừ ả ầ ề ộ nh lớ ưu tr vữ ừa ph i yêu cả ầu thêm về thời gian truy xuất thông tin. Đ ềi u này làm hạn chế hiệu quả của hệ ố th ng và đó cũng là đ ềi u không một ai trong nhóm những người phát triển hệ thống và người sử ụ d ng mong muốn.

Hệ quản trị CSDL hướng đối tượng thời gian ra đời không những tiết kiệm về

mặt bô nhớ cho hệ thống mà còn tiết kiệm về thời gian truy xuất và hơn thế, các phương pháp truy xuất dữ liệu đơn gi n và không khác gì so vả ới cách truy xuất trong các hệ quản trị CSDL quan hệ Đ. ó là một thành công của các nhà khoa học nghiên cứu về CSDL hướng đối tượng thời gian.

Trong luận văn đã trình bày được cơ sở lý thuy t c a c sế ủ ơ ở dữ ệ li u hướng đối tượng thời gian trong các hệ thống thông tin (TOOBIS) cũng như trình bày cơ

sở toán học (Đại số TA) cho việc xử lý cơ sở dữ ệ li u hướng đối t ng th i ượ ờ

gian.

Đại số TA là cơ sở toán h c cho vi c x lý CSDL họ ệ ử ướng đối t ng th i gian ượ ờ

thông qua cách biểu diễn đồ thị và lược đồ. Nó cung cấ đầ đủp y các phép toán như đối với CSDL quan hệ và cung cấp các pháp toán dành cho việc xử lý dữ

liệu đối tượng thời gian. Dựa vào cơ sở toán h c này mà TOOBIS ã xây ọ đ

dựng ngôn ngữ TOQL để truy vấn dữ liệu thời gian hướng đối tượng.

TOOBIS đã dựa trên CSDL đối tượng và mở rộng thêm mặt th i gian ờ để xây dựng nên phương pháp luận hướng đối tượng thời gian TOOM. TOOM được

sử dụng trong pha phân tích và thiết kế vòng đời của các hệ thống thông tin có yêu cầu về mặt th i gian. TOOM, ngoài kh nờ ả ăng th c hi n vi c n m b t và ự ệ ệ ắ ắ

mô hình hóa nó còn cung cấp cách thức xây dựng mô hình bao gồm cả khía cạnh cấu trúc lẫn khía cạnh hành vi của hệ thống thông tin. Từ phương pháp luận TOOM, TOOBIS xây dựng nên ngôn ngữ định nghĩa đối tượng thời gian TODL thông qua mô hình định nghĩa hướng đối t ng thượ ời gian TODM. 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 (TODM), là ngôn ngữ định nghĩa cho các đặc tả đối tượng và là một ngôn ngữ lập trình độc lập. Thông qua TODL, TOOBIS xây d ng nên ngôn ng ự ữ

truy vấn TOQL.

Về mặ ứt ng d ng, lu n v n ã trình bày ụ ậ ă đ đặc t ngôn ng truy v n TOQL cho ả ữ ấ

Một phần của tài liệu (LUẬN văn THẠC sĩ) cơ sở dữ liệu hướng đối tượng thời gian và xử lý truy vấn trong cơ sở dữ liệu hướng đối tượng thời gian (Trang 85)

Tải bản đầy đủ (PDF)

(110 trang)