Microsoft Word - Morat 53_checked.doc

Tài liệu tương tự
Mau ban thao TCKHDHDL

PHẦN III. NỘI DUNG CHƯƠNG TRÌNH ĐÀO TẠO 1. Tóm tắt yêu cầu chương trình đào tạo Tổng số tín chỉ của chương trình đào tạo: Khối kiến thức chung 158 tín

Co s? d? li?u (Database)

TÊN CHƯƠNG

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÝ LỊCH KHOA HỌC 1. THÔNG TIN CÁ NHÂN Họ và tên: Nguyễn Văn Tảo Ngày sinh: 05/1

(Microsoft Word - 8. Nguy?n Th? Phuong Hoa T\320_chu?n.doc)

1 Überschrift 1

Truy vấn, Ràng buộc, Trigger Truy vấn, Ràng buộc, Trigger Bởi: Ths. Phạm Hoàng Nhung SQL (Structured Query Language) là ngôn ngữ truy vấn cấu trúc đượ

PowerPoint Template

CHUYỂN THỂ KÍ HIỆU BIỂU THỊ THỜI GIAN TỪ VĂN CHƯƠNG ĐẾN ĐIỆN ẢNH TRONG TRƯỜNG HỢP TÔI THẤY HOA VÀNG TRÊN CỎ XANH (Dưới góc nhìn liên văn bản và liên k

Microsoft Word - Co so du lieu - cap nhat

Microsoft Word - VoHoangLienMinh - Bao KH-CN- From UML to XML 1

Mẫu trình bày chương trình đào tạo theo tín chỉ

(Microsoft Word - B\300I 5. LE THOI TAN, NGUYEN DUC CAN _CHE BAN L1 - Tieng Anh_.doc)

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Chương trình dịch

THƯ MỤC TẠP CHÍ XÂY DỰNG SỐ 3 NĂM 2018 Trung tâm Thông tin Thư viện trân trọng giới thiệu Thư mục Tạp chí Xây dựng số 3 năm Một số vấn đề về

MỞ ĐẦU

KINH TẾ XÃ HỘI ÁP DỤNG MÔ HÌNH QUỸ PHÁT TRIỂN KHOA HỌC VÀ CÔNG NGHỆ TẠI CÁC TRƯỜNG ĐẠI HỌC KHỐI CÔNG NGHỆ Ở VIỆT NAM APPLYING SCIENCE AND TECHNOLOGY D

TẠP CHÍ KHOA HỌC, Đại học Huế, tập 72B, số 3, năm 2012 SỰ CẦN THIẾT VÀ NHỮNG HƯỚNG KHAI THÁC KHI VẬN DỤNG HỌC THUYẾT GIÁ TRỊ THẶNG DƯ CỦA C.MÁC TRONG

Microsoft Word - thuong-mai-dien-tu-va-kiem-tien-online.docx

Microsoft Word - 7_ Ly_8tr _ _.doc

Microsoft Word - ICT-rda08HBQuoc.doc

GIẢI PHÁP NÂNG CAO NĂNG LỰC NGHIÊN CỨU KHOA HỌC CHO SINH VIÊN THEO MÔ HÌNH HỌC TẬP TỰ ĐỊNH HƯỚNG Trương Minh Trí 3, Bùi Văn Hồng 1, Võ Thị Xuân 2, 1 K

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC


BM01.QT02/ĐNT-ĐT TRƯỜNG ĐH NGOẠI NGỮ - TIN HỌC TP.HCM KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh Phúc 1. Thông tin

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

View, Procedure, Function & Trigger

Microsoft Word - [vanbanphapluat.co] qcvn bct

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN XÂY DỰNG WEBSITE QUẢN LÝ RẠP CHIẾU PHIM TRÊN CƠ SỞ YII FRAMEWORK Hà Nội 2016

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN LÝ LỊCH KHOA HỌC (Thông tin trong 5 năm gần nhất và có liên quan trực tiếp đến đề

Dieãn ñaøn trao ñoåi 75 THÀNH NGỮ TRONG CUNG OÁN NGÂM KHÚC NGUYỄN GIA THIỀU Expressions in Cung oan Ngam Khuc Nguyen Gia Thieu Trần Minh Thương 1 Tóm

KẾT QUẢ TÍNH SÓNG, NƯỚC DÂNG DO BÃO VÙNG VEN BIỂN ĐÔNG ĐỒNG BẰNG SÔNG CỬU LONG Lê Thanh Chương, Nguyễn Duy Khang, Lê Mạnh Hùng Viện Khoa học Thủy lợi

17. CTK tin chi - CONG NGHE KY THUAT O TO.doc

Toán Ứng Dụng Biên tập bởi: PGS.TS. Nguyễn Hải Thanh

Microsoft Word - 2- Giai phap han che su phu thuoc kinh te vao Trung Quoc.doc

Microsoft Word - vanhoabandia (1)

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

NHẬN THỨC CỦA ĐẢNG CỘNG SẢN VIỆT NAM VỀ CON ĐƯỜNG ĐI LÊN CHỦ NGHĨA XÃ HỘI Ở NƯỚC TA Nguyễn Tốt * Tóm tắt nội dung: Nhận thức về chủ nghĩa xã hội và co

Thư viện HUFLIT Tài liệu hướng dẫn sử dụng CSDL ProQuest TÀI LIỆU HƯỚNG DẪN SỬ DỤNG CSDL PROQUEST 1 GIỚI THIỆU CHUNG ProQuest là một cơ sở dữ liệu đa

TCVN 11391:2016 MỤC LỤC 1 Phạm vi áp dụng Tài liệu viện dẫn Thuật ngữ, định nghĩa và các từ viết tắt Thuật ngữ và định nghĩa...

Microsoft Word - khoahochethong.docx

QUÂN CHỦNG HẢI QUÂN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ỔNG CÔNG TY TÂN CẢNG SÀI GÒN Độc lập Tự do Hạnh phúc Số: 1219/QĐ-TC-TTĐĐ Tp.Hồ Chí Minh, ngày 0

CHÍNH TRỊ - KINH TẾ HỌC Tái cơ cấu doanh nghiệp nhà nước ở Việt Nam Tái cơ cấu doanh nghiệp nhà nước ở Việt Nam Nguyễn Anh Bắc * Tóm tắt: Doanh nghiệp

Trung tâm Nghiên cứu Chính sách và Phát triển (DEPOCEN) Thâm hụt tài khoản vãng lai: Nguyên nhân và giải pháp Nguyễn Thị Hà Trang, Nguyễn Ngọc Anh, Ng

ỨNG DỤNG HỆ TƯ VẤN TRONG ĐỌC TIN TỨC TRỰC TUYẾN Bùi Thị Hồng Nhung Khoa Hệ thống thông tin Quản lý Học viện Ngân hàng Điện

Chính sách bảo mật của RIM Research In Motion Limited và các công ty con và công ty chi nhánh ("RIM") cam kết có một chính sách lâu dài trong việc bảo

Cấu trúc và khối lượng kiến thức được xây dựng theo quyết định số 01/QĐ-ĐHQG-ĐH&SĐH ngày 05/01/2009 của Giám đốc ĐHQG-HCM

MỞ ĐẦU

TẠP CHÍ KHOA HỌC, Đại học Huế, Tập 74, Số 5, (2012), CÁC VẤN ĐỀ TỒN TẠI TRONG KHAI THÁC, SỬ DỤNG, QUẢN LÝ, QUY HOẠCH VÀ PHÁT TRIỂN TÀI NGUYÊN

Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tô Oai Hùng BAØI TAÄP CHÖÔNG 1 1. Viết giải thuật để mô tả thói quen mỗi buổi sáng của bạn, từ lúc ngh

Loa Máy Tính Loa Máy Tính Bởi: Lê Văn Tâm Loa máy tính là thiết bị dùng để phát ra âm thanh phục vụ nhu cầu làm việc và giải trí của con người với máy

Brochure Hako Citymaster 600

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÙI TRUNG HIẾU NGHIÊN CỨU MỘT SỐ VẤN ĐỀ VỀ CƠ SỞ DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁN QUẢN LÝ DÂN CƯ LU

Microsoft Word - 06-CN-TRAN HUU DANH(43-51)

1. PHI1004 Những nguyên lý cơ bản của Chủ nghĩa Mác Lênin 1 2 tín chỉ Học phần tiên quyết: Không Tóm tắt nội dung học phần: Học phần những nguyên lý c

3

TRẢI NGHIỆM ĐỈNH CAO, SỐNG SÀNH ĐÚNG ĐIỆU 1

454 Trịnh Xuân Giang KHAI THÁC NGUỒN HỌC LIỆU MỞ TỪ CÁC THƯ VIỆN TRÊN THẾ GIỚI VỚI GIẢI PHÁP SỬ DỤNG DỊCH VỤ TÌM KIẾM VÀ CHUYỂN GIAO TÀI NGUYÊN THÔNG

Microsoft Word _TranNgocVuong

TOÁN Báo Cáo Đánh Giá Đại Số I, Báo cáo này cung cấp thông tin về năng lực của con quý vị dựa trên đánh giá toán học PARCC. Nó cho thấy con

THƯ MỤC SÁCH ÔN LUYỆN THI TỐT NGHIỆP THPT QUỐC GIA NĂM 2018 Thư viện Trường THPT Lê Quý Đôn 1

T p h ho h r ng i h n h Ph n D: Khoa h h nh trị, Kinh tế và Pháp luật: 26 (2013): TÁC ĐỘNG CỦA VIỆC ĐI LÀM THÊM ĐẾN KẾT QUẢ HỌC TẬP CỦA SINH VIÊ

ScanGate document

Khoa hoc - Cong nghe - Thuy san.indd

Microsoft Word - 03-GD-HO THI THU HO(18-24)

Tạp chí Khoa học công nghệ và Thực phẩm 15 (1) (2018) ỨNG DỤNG GIS HỖ TRỢ CÔNG TÁC QUẢN LÝ CHẤT THẢI SINH HOẠT TRÊN ĐỊA BÀN PHƯỜNG BÌNH THỌ, QUẬ

Microsoft Word - Drain Selection

HỒ SƠ DỰ ÁN NGHIÊN CỨU ẢNH HƯỞNG CỦA NHIỆT ĐỘ ĐẾN QUÁ TRÌNH KẾT TINH CỦA TINH THỂ KAl(SO4)2.12H2O I. NGƯỜI SOẠN GV: Phạm Thị Hiền Tổ Hóa Trường: Phổ t

Kỹ thuật phần mềm ứng dụng

KCT dao tao Dai hoc nganh TN Hoa hoc_phan khung_final

Microsoft Word - Bai 3. Quach Manh Hao.doc

Microsoft Word - Bai 8. Thuy Nghien cuu _207-_.doc

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

2

Thực hành hàm kết hợp và gom nhóm Thực hành hàm kết hợp và gom nhóm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhắc lại lý thuyết Hàm kết hợp Hàm count(), min(),

QUAN ĐIỂM CỦA ĐẢNG CỘNG SẢN VIỆT NAM VỀ PHÁT HUY VAI TRÒ CỦA QUẦN CHÚNG NHÂN DÂN TRONG QUÁ TRÌNH XÂY DỰNG CHỦ NGHĨA XÃ HỘI Ở VIỆT NAM HIỆN NAY Vũ Hoàn

Microsoft Word - 18.Tu

1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM NGHỆ THUẬT TRUNG ƯƠNG PHẠM THỊ THU HƯƠNG DẠY HỌC MỸ THUẬT THEO HƯỚNG TIẾP CẬN PHÁT TRIỂN NĂNG LỰC Ở TRƯỜ

GS Hoàng Tụy Nhà Giáo dục ưu tú hàng đầu của Việt Nam, Nhà Toán Học lỗi lạc của thế giới. GS Hoàng Tụy - Hình: Internet GS. Hoàng Tụy là Viện Trưởng V

(Microsoft Word - 4_Vuong NC-T\ doc)

Microsoft Word - Nhung tu tuong cua Doi moi I-final[1].doc

Năm PHÂN TÍCH DANH MỤC TÍN DỤNG: XÁC SUẤT KHÔNG TRẢ ĐƢỢC NỢ - PROBABILITY OF DEFAULT (PD) NGUYỄN Anh Đức Người hướng dẫn: Tiến sỹ ĐÀO Thị Th

Successful Christian Living

Tạp chí Khoa học ĐHQGHN, Ngoại ngữ 25 (2009) Thành phần khởi ngữ trong câu tiếng Việt xét về mặt hệ thống Nguyễn Lân Trung* Trường Đại học Ngo

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ TP. HỒ CHÍ MINH ĐỀ CƯƠNG MÔN HỌC 1. THÔNG TIN VỀ MÔN HỌC 1.1. Tên môn học: CÔNG NGHỆ PHẦN MỀM Mã MH: ITEC4409

Layout 1

Hướng dẫn sử dụng Bếp Từ Bosch PID775N24E Bếp từ 3 bếp nhập khẩu Bosch PID775N24E có DirectControl với truy cập trực tiếp đến 17 cấp độ nấu ăn. 3 khu

So tay luat su_Tap 3_ _file in.indd

HƯỚNG DẪN SỬ DỤNG BẾP TỪ BOSCH PID679F27E Cảm ơn quý khách hàng đã lựa chọn sản phẩm bếp điện từ mang thương hiệu nổi tiếng BOSCH, hi vọng sản phẩm sẽ

Hướng dẫn tham khảo Hướng dẫn sơ lược quy trình hoạt động HL-B2000D HL-B2080DW Brother khuyến khích giữ hướng dẫn này cùng với thiết bị Brother để tha

Microsoft Word - 03-KTXH-NGUYEN QUOC NGHI( )027

Tạp chí Khoa học công nghệ và Thực phẩm số 11 (2017) NGHIÊN CỨU ỨNG DỤNG MÃ NGUỒN MỞ JOOMLA XÂY DỰNG WEBSITE HỖ TRỢ DẠY HỌC VẬT LÝ ĐẠI CƢƠNG Ngu

Cách khởi động P-touch Editor Trước khi sử dụng máy in này, đảm bảo đã đọc Hướng dẫn sử dụng trực tuyến này. Chúng tôi đề nghị bạn cất giữ sách hướng

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN NGỌC TUÂN ÁP DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU DỰ BÁO THUÊ BAO RỜI MẠNG TRONG MẠNG DI ĐỘNG LUẬN V

3CX - 4CX ECO

Bản ghi:

TẠP CHÍ KHOA HỌC, Đại học Huế, Số 53, 2009 PHƯƠNG PHÁP TỐI ƯU HOÁ TRUY VẤN ĐỐI TƯỢNG BẰNG CÁC PHÉP BIẾN ĐỔI BIỂU THỨC ĐẠI SỐ ĐỐI TƯỢNG OQL 109 Lê Mạnh Thạnh, Đại học Huế Hoàng Bảo Hùng Sở Thông tin và Truyền thông tỉnh Thừa Thiên Huế TÓM TẮT Tối ưu hóa truy vấn là vấn đề được quan tâm nghiên cứu về lý thuyết cơ sở dữ liệu. Những kết quả khá trọn vẹn về tối ưu hóa truy vấn trên mô hình cơ sở dữ liệu quan hệ đã là lời giải cho nhiều lớp bài toán quản lý nói chung và lý thuyết cơ sở dữ liệu nói riêng. Từ cơ sở đó, việc nghiên cứu mở rộng các phương pháp tối ưu hóa truy vấn quan hệ trên mô hình cơ sở dữ liệu hướng đối tượng là phương pháp được đề xuất trong bài báo này. Điều khác biệt so với mô hình quan hệ là việc tối ưu hóa truy vấn đối tượng dựa trên tập luật biến đổi biểu thức truy vấn bằng các phép biến đổi đại số đối tượng, được thực hiện qua việc chuyển đổi tương đương giữa truy vấn viết bằng OQL (Object Query Language) và đại số đối tượng tương ứng, kết quả giữa truy vấn viết bằng OQL và biểu thức đại số đối tượng tương ứng là tương đương. Bài báo đưa ra các quy tắc tổng quát để tối ưu hóa truy vấn đối tượng, trên cơ sở đó đề xuất thuật toán tối ưu hóa truy vấn đối tượng dựa trên tập luật. I. Giới thiệu Khi thực thi một truy vấn, chúng ta có nhiều phương án mà hệ thống cơ sở dữ liệu (CSDL) cho phép xử lý để có câu trả lời. Các phương án đều có kết quả cuối cùng là tương đương nhưng khác nhau trong chi phí thực hiện, tức là tổng thời gian cần để thực hiện một truy vấn. Tối ưu hoá truy vấn là lựa chọn phương án để có tổng thời gian thực hiện truy vấn là nhỏ nhất. Như vậy, vấn đề chúng ta phải quan tâm là làm sao cực tiểu tần suất sử dụng của CPU, bộ nhớ, chi phí vào/ra và các nguồn tài nguyên về lĩnh vực truyền thông. Với kỹ thuật phần cứng hiện nay (khả năng của các chip nhớ), việc tối ưu thực thi một truy vấn chỉ còn là vấn đề làm cực tiểu thời gian trả lời của truy vấn, trong khi đó, các hệ thống lại chịu sự chi phối chủ yếu ở thời gian trao đổi vào/ra. Do đó, các kỹ thuật tối ưu hoá truy vấn chủ yếu tập trung giải quyết vấn đề cực tiểu chi phí xử lý vào/ra khi một truy vấn được thực thi. Phương pháp tối ưu hoá truy vấn đối tượng trong bài báo cũng được đề xuất theo hướng tiếp cận này. Phương pháp tối ưu hoá truy vấn đối tượng được nghiên cứu và giải quyết các vấn đề với đặc trưng của mô hình hướng đối tượng. Phương pháp này được trình bày trên cơ sở của mô hình dữ liệu ODMG và ngôn ngữ truy vấn đối tượng OQL, nhưng không mất tính tổng quát đối với các mô hình dữ liệu hướng đối tượng có hỗ trợ các đặc trưng này [2], [4], [6].

Tiến trình tổng quát tối ưu hoá truy vấn đối tượng dựa trên tập luật được mô tả trong hình 1, đầu vào của tiến trình xử lý là các truy vấn được viết bằng ngôn ngữ truy vấn đối tượng, chuyển đổi các truy vấn thành các biểu thức đại số đối tượng tương đương. Sau đó, áp dụng các luật biến đổi trên các phép toán đại số như chọn, chiếu, kết nối đối với các lớp đối tượng, loại bỏ trùng lặp trong các đa tập,... Cuối cùng, chúng ta có kết quả là phương án thực thi được chọn trong tiến trình tối ưu truy vấn. Kiểm tra kiểu Ngôn ngữ truy vấn Chuyển đổi ngôn ngữ truy vấn về đại số đối tượng Biểu thức đại số đối tượng Các phương án thực thi tổng quát Phương án thực thi truy vấn Tối ưu hoá các kiểu đối tượng Tối ưu hoá Hình 1. Tiến trình khung xử lý truy vấn Nội dung của bài báo được cấu trúc như sau: chi tiết của phương pháp tối ưu hoá truy vấn đối tượng bằng các phép biến đổi biểu thức đại số đối tượng OQL được trình bày trong phần 2; phần 3 là ví dụ minh hoạ cho phương pháp đã được trình bày. Kết luận về các đóng góp của bài báo cũng như hướng phát triển được trình bày trong phần 4. Để thống nhất trong trình bày các ví dụ trong bài báo, chúng ta sử dụng lược đồ đối tượng được định nghĩa trong OQL như sau: Ví dụ 1.1. Cho lược đồ đối tượng TruongDaihoc như sau: class NhanSu type tuple (maso: int, hoten: string, pho: string, tpho: string, matinh: int, ngaysinh: tuple (ngay: int, thang: int, nam:int)) class SinhVien inherits NhanSu type tuple (gvhd: string, dtb: float, hocbong: float, tenkhoa: Khoa) class GiangVien inherits NhanSu class Khoa type tuple (bomon: string, mabomon: int, chucvu: string, tenkhoa: Khoa, luong: int, con: set(nhansu)) type tuple (makhoa: int, tenkh: string, diadiem: string, ngansach: float, cbgd: set(giangvien)) 110

II. Tối ưu hoá truy vấn đối tượng bằng các phép biến đổi biểu thức đại số đối tượng OQL 2.1. Sự biểu diễn tương đương giữa truy vấn OQL và đại số đối tượng Định nghĩa. Nếu E là biểu thức đại số đối tượng và Q là truy vấn đối tượng OQL cùng xác định một tập đối tượng thì ta nói E biểu diễn Q hay Q biểu diễn E, ta gọi E tương đương với Q, ký hiệu E Q. Sự biểu diễn tương đương giữa truy vấn viết bằng ngôn ngữ OQL và đại số đối tượng được thể hiện qua hai định lý 1 và 2 sau: Định lý 1. [3] Mọi biểu thức đại số đối tượng đều biểu diễn được bằng các truy vấn đối tượng trong OQL. Định lý 2. [3] Mọi truy vấn đối tượng trong OQL đều biểu diễn được bằng các biểu thức đại số đối tượng. Như vậy, việc viết lại một truy vấn đã cho thành các biểu thức đại số với tập phép toán đại số đối tượng là tương đương. Các biểu thức đại số này có thể được ước lượng với các chi phí xử lý khác nhau. Vì vậy, về mặt lý thuyết chúng ta mong muốn tìm được biểu thức đại số tương đương với một truy vấn sao cho có thể đạt được một phương án thực thi hiệu quả hơn. Tuy nhiên, trong các giải pháp cài đặt, vì số lượng các truy vấn tương đương quá lớn, trong lúc đó chúng ta chỉ cần một tập con các truy vấn này. Do đó, để tìm ra các truy vấn tương đương khác, chúng ta sẽ cần một tập luật nhằm biến đổi các biểu thức đại số tương đương. Tuy nhiên, trong mô hình dữ liệu hướng đối tượng lại không có một đại số đối tượng chuẩn áp dụng được cho tất cả các mô hình hướng đối tượng, cho nên sự kỳ vọng để có một tập chuẩn tắc gồm các luật biến đổi bảo toàn tương đương là không tồn tại. Vì vậy, chúng ta mong muốn chứng tỏ rằng sự biến đổi bảo toàn tương đương trên một cơ sở đại số đối tượng là có thể chấp nhận được. Một số luật biến đổi được trình bày trong phần 2.2. 2.2. Các luật biến đổi đại số đối tượng Ký hiệu S, S 1, S 2, S 3 là các tập đối tượng; e, f, g, h là các biểu thức đại số, phép toán op {union, diff}. Những luật này chỉ áp dụng trên các phép toán đối tượng, phép toán bộ, phép toán tập hợp và các phép toán đa tập (bag). Về mặt ký hiệu, chúng ta chỉ sử dụng các ký hiệu phép toán một cách hình thức [6], [7], [8], các phép toán này có thể được cài đặt với một số thay đổi trong các mô hình khác nhau. L1. Hoán vị phép chọn: σ λt.g (σ λs.f (S)) = σ λs.f (σ λt.g (S)) L2. Tổ hợp các phép chọn: σ λs.(f g h (S) = σ λs.f (σ λt.g ( (σ λu.h (S)) )) L3. Thu gọn dãy các phép chiếu: 111

π π ( S)) = π ( ), với {a 1,..., a n } {b 1,..., b m } ( a ( 1... a n ) ( b1... b m ) ( a1... a n ) S L4. Hoán vị phép chọn và phép chiếu σ λs. e( π( a... )( S)) (... )(. ( S)) 1 a = π n a1 a σ n λs e L5. Hoán vị một phép chiếu với phép hợp, hiệu trên tập/đa tập π ( ) ( S1 ops2) = π( ) ( S1) opπ( ) ( S2) a1... an a1... an 112 a1... an L6. Phân phối phép chọn với phép hợp và phép hiệu trên tập/đa tập σ λs.f (S 1 op S 2 ) = σ λs.f (S 1 ) op S 2, nếu f chỉ liên quan với S 1. Tổng quát: σ λs.(f g h (S 1 op S 2 ) = σ λu.h (σ λs.f (S 1 ) op σ λt.g (S 2 )), nếu f liên quan S 1, g liên quan S 2 và h liên quan cả S 1 và S 2. L7. Hoán vị giữa phép apply và phép chọn: nếu điều kiện chọn chỉ chứa các thuộc tính do phép toán apply trả về thì: apply λs.e (σ λt.f (S)) = σ λt.f (apply λs.e (S)) L8. Hoán vị giữa phép làm phẳng (flat) và phép apply trên tập/đa tập: giả sử S là thể hiện của một lớp và X là một tập thuộc tính phức của lớp. flat( applyλ s.( apply ( ( ))))( )). ( (. ( )) ( ))). ( ) ( S S apply t e flat apply s ( ) ( S S t e π X π = λ V λ λ π X πv Biểu thức ở vế trái, có biểu thức e tác động trước tập các tập (thu được bởi π X ) sau đó làm phẳng thành một tập; biểu thức ở vế phải có phép toán làm phẳng được tác động trước (kết quả thu được là một tập), sau đó thực hiện phép toán apply. L9. Tính kết hợp của phép hợp (S 1 union S 2 ) union S 3 = S 1 union (S 2 union S 3 ) L10. Các luật kế thừa đối với phép chọn và phép apply: nếu S 2 là một lớp con của S 1, thì thể hiện của S 2 là một tập con của thể hiện của S 1 : σ λs.f (S 1 ) union σ λs.f (S 2 ) = σ λs.f (S 1 ) apply λs.e (S 1 ) union apply λs.e (S 2 ) = apply λs.e (S 1 ) 2.3. Các quy tắc tổng quát trong tối ưu hoá truy vấn đối tượng Tiếp theo, với tập luật biến đổi đại số đối tượng trong phần 2.2, chúng ta sẽ đưa ra các quy tắc cho phép chọn lựa các luật thích hợp áp dụng trên các biểu thức đại số đầu vào nhằm tạo ra các bước ước lượng trên các biểu thức đại số đối tượng có chi phí xử lý thấp hơn tương đương với biểu thức đã cho. (R1) Thực hiện các phép chọn, phép chiếu trên đối tượng, phép bagtoset trước các phép kết nối, tích Đề các, nhóm bộ (đối tượng) trên các lớp theo thứ tự trên: Nhằm

làm giảm số lượng các đối tượng tham gia trong các phép toán. Phép chiếu được áp dụng cho trường hợp tập thuộc tính của các lớp quá lớn nhưng không tham gia trong kết quả của truy vấn, do đó cho phép giảm kích thước lưu trữ của mỗi lớp. (R2) Tổ hợp dãy các phép chọn và phép chiếu: Dãy các phép toán chọn và chiếu có thể nhóm gộp bằng một phép chọn hoặc một phép chiếu (luật L3). Với phép biến đổi này chúng ta sẽ làm giảm số lần truy xuất trên các lớp. (R3) Làm phẳng các cấu trúc phức với các phép toán set_flat, bag_flat, list_flag: chuyển các cấu trúc phức về các kiểu tập, bộ và các danh sách với các phần tử đơn trị (lồng nhau). Với phép biến đổi này chúng ta loại bỏ được các tham chiếu lồng, lặp (tự trỏ) trong các cấu trúc phức làm giảm độ phức tạp tính toán trong quá trình xử lý truy vấn. (R4) Xử lý trước các lớp đối tượng bằng các phép toán một ngôi: làm giảm kích thước các lớp đối tượng khi tham gia kết nối hay lập nhóm. (R5) Tính các thành phần cơ sở trong một biểu thức đại số đối tượng: Xác định thành phần cơ sở chung nhất trên các biến vùng, nếu tồn tại một thành phần cơ sở chung nhất thì chúng ta sẽ tính trước các biểu thức con chung này, chúng được xem là đầu vào cho các bước truy vấn tiếp theo. Thủ tục xác định thành phần cơ sở chung nhất trên các biến vùng: Để thuận tiện trong trình bày, chúng ta biểu diễn lại cú pháp của truy vấn đối tượng OQL: Truy vấn: select [distinct] <danh_sách_đích> from <mệnh_đề_from> where <mệnh_đề_where> trong đó, các thành phần được thể hiện cụ thể như sau: <danh_sách_đích>::= <ds_đích> // danh sách kết quả của truy vấn. <ds_đích> <kq_đích> ::= (<kq_đích>,) <kq_đích> ::= (<kq_thphần>.)<kq_thphần> : <kq_đích> <kq_thphần> (có thể chứa các kết nối ẩn, sử dụng dấu. ) ::= (<đối_tượng> <biến_tham_chiếu>) <mệnh_đề_from> ::=<kiểu/lớp> [<toán_tử_tập> <kiểu/lớp>] as <biến_tham_chiếu>: danh sách các lớp (có thể chứa các toán tử tập hợp) được tham chiếu (định nghĩa qua biến vùng ) với <biến_tham_chiếu> <kiểu/lớp> ::= (<thphần_kiểu>.)<thphần_kiểu> <thphần_kiểu> ::= <đối_tượng>([<thể_hiện_hằng> [ : <thể_hiện_hằng>]) <mệnh_đề_where>::= <mệnh_đề_where> (and or) <mệnh_đề_where> 113

Cho hai <kq_đích> R 1 và R 2, thì thành phần cơ sở chung nhất, ký hiệu GC(R 1, R 2 ) là tiền tố chung nhất của các <kq_đích>. Chúng ta xác định thành phần cơ sở của mỗi <kq_đích> trong <ds_đích> bằng thuật toán: Thuật toán 2.1: Xác định thành_phần_cơ_sở_chung_nhất Vào: R 1, R 2 là các kết quả thuộc <ds_đích> của truy vấn Ra: Thành phần cơ sở chung nhất của các kết quả Phương pháp: (1) for mỗi R 1 in <ds_đích> do (2) for mỗi R 2 in <ds_đích> do (3) G := GC(R 1, R 2 ) (4) if (G > PC(R 1 )) then PC(R 1 ) := G trong đó, GC là thành phần cơ sở chung nhất của R 1 và R 2, PC: thành phần cơ sở của R i. 2.4. Thuật toán tối ưu hoá truy vấn đối tượng dựa trên tập luật Thuật toán được giới thiệu trong phần này tập trung xử lý các phép toán chiếu, chọn, áp dụng biểu thức đại số (set_apply) trên các kiểu đối tượng và phép toán loại bỏ trùng lặp trên các đa tập, lớp đối tượng. Thuật toán 2.2: Tối ưu hoá các biểu thức đại số đối tượng dựa trên tập luật. Vào: Biểu thức đại số đối tượng. Ra: Một dãy các bước ước lượng biểu thức đại số đối tượng. Phương pháp: (1) Khởi tạo cây phân tích cú pháp từ biểu thức đại số đối tượng. (2) Sử dụng luật (L2) tách phép chọn σ λs.(f g h (S) thành chuỗi các phép chọn: σ λs.f (σ λt.g ( (σ λu.h (S)) )) (3) Sử dụng các luật kế thừa đối với các phép chiếu (L3), phép chọn và phép apply (L10) tổ hợp dãy các phép chiếu, chọn thành một phép chiếu và một phép chọn (4) Đối với mỗi phép chọn, sử dụng các luật (L4, L6, L7, L10) đẩy các phép chọn xuống các lớp thành phần hoặc qua các nút kết nối và phép tạo nhóm. (5) Đối với mỗi phép chiếu (đối tượng, tập, bộ), sử dụng luật (L3, L4, L5) để di chuyển phép chiếu xuống càng sâu càng tốt. Nếu tập thuộc tính được chiếu bao gồm tất cả các thuộc tính của biểu thức thì chúng ta loại bỏ phép chiếu đó. (6) Sử dụng các luật (L8, L9, L10) trên các lớp đối tượng, để loại bỏ các phần 114

tử trùng lặp trong các lớp đối tượng; di chuyển phép làm phẳng (flat), phép loại bỏ trùng lặp trong các đa tập (bagtoset) lên trước các phép toán nhóm hoặc kết nối. (7) Tạo ra dãy các bước biến đổi để ước lượng mỗi nhóm theo một thứ tự sao cho không có nhóm nào được ước lượng trước các nhóm con của nó. Mệnh đề. Thuật toán trên là đúng đắn và kết quả của thuật toán là phương án truy vấn có chi phí thấp hơn chi phí ước lượng của biểu thức đầu vào thuật toán. Chứng minh. Theo định lý 1, 2 và tập các luật biến đổi biểu thức đại số đối tượng, chúng ta suy ra các bước thực thi trong thuật toán cho kết quả đúng và tương đương. Áp dụng các phép toán chiếu trên các lớp đối tượng làm giảm kích thước các lớp và các đối tượng tham gia trong biểu thức, điều này sẽ làm giảm chi phí nạp lớp vào bộ nhớ trong (IO_Load). Mặt khác, phép toán làm phẳng (set_flat) và loại bỏ trùng lặp (bagtoset) áp dụng cho đa tập, lớp đối tượng sẽ làm giảm một cách đáng kể các biến thể của các lớp tham gia trong các phép kết nối, nhóm tương đương (IO_Eval). Độ phức tạp tính toán của thuật toán có thời gian đa thức theo kích thước (số các biến thể) của các lớp tham gia trong biểu thức. III. Ví dụ minh hoạ Chúng ta sử dụng cây phân tích cú pháp để thực hiện việc biến đổi các biểu thức đại số đối tượng. Ví dụ 3.1. Ta có truy vấn: define SinhVien as s, GiangVien as e select distinct (s.tenkhoa.tenkh, e.hoten) where s.gvhd = e.hoten Hình 2 là biểu diễn truy vấn của ví dụ 2 trên cây phân tích cú pháp. Hình 2. Khởi tạo cây phân tích cú pháp của ví dụ 2 115

Hình 3 biểu diễn cây phân tích cú pháp khi chúng ta áp dụng luật đẩy phép toán bagtoset (luật R1) lên trước toán tử kết nối rel_join, luật này áp dụng khi các thành phần trùng lặp quá lớn tồn tại trong các đa tập, như vậy toán tử bagtoset chỉ thực hiện trên s + e biến thể (trong trường hợp xấu nhất) tốt hơn s * e biến thể (đối với trường hợp phép kết nối được thực hiện trước). Và tiếp tục đẩy toán tử π qua nút join. Hình 3. Bước chuyển đổi đầu tiên của hình 2 Ví dụ 3.2. Tìm tên các sinh viên của khoa có văn phòng khoa đặt ở tầng 5 (diadiem). Tên các sinh viên được nhóm theo khoa với thuộc tính tenkh (ví dụ: Sinh học, Công nghệ thông tin): define SinhVien as s select (s.hoten) group by s.tenkhoa.tenkh where s.tenkhoa.diadiem = 5 Hình 4 biểu diễn cây phân tích cú pháp đại số cho ví dụ 3, ta nhóm đa tập trên thuộc tính tenkh của thuộc tính tenkhoa, sau đó loại bỏ các sinh viên của các khoa không ở tầng 5, cuối cùng chiếu lấy thuộc tính hoten. Hình 4. Khởi tạo cây của ví dụ 3 116

Một phương pháp tối ưu ví dụ 3 được suy trực tiếp từ hình 4. Trước hết, ta đưa phép chọn lên trước phép tạo nhóm GRP và sử dụng các phép chiếu trên đối tượng (π V ) để loại bỏ tham chiếu tên thuộc tính tenkhoa, sau đó trích chiếu lấy giá trị của thuộc tính diadiem. IV. Kết luận Hình 5. Cây kết quả sau khi áp dụng các luật chuyển đổi Bài báo đã tập trung vào việc trình bày tập luật biến đổi các phép toán đại số đối tượng, đề xuất các quy tắc tổng quát trong tối ưu truy vấn đối tượng, đồng thời mở rộng và cải tiến thuật toán tối ưu hoá các biểu thức đại số đối tượng dựa vào tập luật. Phương pháp tối ưu hoá truy vấn đối tượng dựa vào các luật biến đổi biểu thức đại số được áp dụng cho các mô hình dữ liệu hướng đối tượng có hỗ trợ tập luật. Phương pháp này xử lý cho lớp các truy vấn trên các kiểu đối tượng phức như kiểu bag, đa tập, danh sách, bộ, nhưng khi thực hiện trên các lớp đối tượng, các biểu thức đại số đối tượng lồng thì chi phí ước lượng và các phương án thực thi truy vấn chưa hiệu quả. Cho nên, nếu chúng ta sử dụng siêu đồ thị kết nối đối tượng để giải quyết cho lớp các truy vấn đối tượng lồng với các thuật toán ước lượng trên các siêu cạnh đối tượng sẽ có chi phí xử lý truy vấn hiệu quả hơn so với phương pháp tối ưu các truy vấn đối tượng lồng bằng các phép biến đổi đại số trên các biểu thức đại số đối tượng lồng nhau. TÀI LIỆU THAM KHẢO 1. Bierman G.M. and Trigoni A. Towards A Formal Type System For ODMG OQL, Technical Report 497, University of Cambridge, Computer Laboratory, 2000. 2. Cattel R.G.G., Barry D.K. The Object Database Standard: ODMG 3.0, Morgan Kaufmann Publishers, 2000. 117

3. Đoàn Văn Ban, Lê Mạnh Thạnh và Hoàng Bảo Hùng. Sự tương đương trong biểu diễn giữa ngôn ngữ truy vấn OQL và đại số đối tượng, Tạp chí Tin học và Điều khiển học, 20(3), (2004), 257 269. 4. Lê Mạnh Thạnh, Hoàng Bảo Hùng, Ngôn ngữ truy vấn hướng đối tượng và tối ưu hoá truy vấn trên CSDL hướng đối tượng bằng phương pháp biến đổi đại số, Kỷ yếu Hội nghị khoa học kỷ niệm 25 năm thành lập Viện Công nghệ Thông tin, Hà Nội, (2001), 175 185. 5. Lê Mạnh Thạnh, Hoàng Bảo Hùng, Mô hình ước lượng chi phí xử lý truy vấn đối tượng trong cơ sở dữ liệu hướng đối tượng, Kỷ yếu Hội thảo Quốc gia, lần thứ VIII, Một số vấn đề chọn lọc về CNTT và truyền thông, chủ đề Mã nguồn mở, 25/8-27/8/2005, Hải Phòng, Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội, (2006), 568-579 6. Trigoni A. Semantic Optimization of OQL Queries, Technical Report, Number 547, University of Cambridge, Computer Laboratory, UCAM-CL-TR-547, ISSN 1476-2986, 2002. 7. Vanderberg, Scott Lee, Algebras for Object - Oriented Query Languages, Ph.D. Dissertation, University of Winconsin-Madison, 1993. 8. Yu, Clement T., Meng, Weiyi. Principles of Database Query Processing for Advanced Applications, Morgan Kaufmann Publishers, Inc. San Francisco, California, 1998. AN OPTIMIZATION METHOD FOR OBJECT QUERIES USING THE OQL OBJECT ALGEBRA EXPRESSION TRANSFORMATION 118 Le Manh Thanh Hue University Hoang Bao Hung Thua Thien Hue Department of Information and Communications SUMMARY The query optimization is an attracting issue in the research on database theory. The complete results of the query optimization in relational databases model are solutions for classes of management problems in general and for the database theory in particular. On that basis, our approach is to expand methods of the query optimization in object-oriented databases, and that is presented in this article. The difference from the relational database model is that the object query optimization is based on the rules set which transforms the query expression using object algebra transformations, and this is carried out by the equivalent transformation between OQL-written queries and object algebra, and it s proven that the OQL query and the object algebra expression is equivalent. This article proposes general principles to optimize object queries, and form this basis we also propose an algorithm for object query optimization based on the rules set.