Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng

27 1.3K 4
Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng

Đ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

Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ liệu hướng đối tượng

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN KHOA HỌC VÀ CƠNG NGHỆ VIỆT NAM VIỆN CƠNG NGHỆ THƠNG TIN HỒNG BẢO HÙNG TRUY VẤN VÀ TỐI ƯU HOÁ TRUY VẤN TRONG CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Chuyên ngành: Bảo đảm tốn học cho máy tính hệ thống tính tốn Mã số: 62 46 35 01 TĨM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC HÀ NỘI – 2007 Cơng trình hồn thành tại: Viện Cơng nghệ thơng tin Viện Khoa học Công nghệ Việt Nam Người hướng dẫn khoa học: PGS.TS Đoàn Văn Ban PGS.TS Lê Mạnh Thạnh Phản biện 1: GS.TS Đặng Huy Ruận – Trường ĐH Khoa học Tự nhiên, Đại học Quốc gia Hà Nội Phản biện 2: PGS.TS Nguyễn Quốc Toản – Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Phản biện 3: PGS.TS Đặng Văn Chuyết – Trường Đại học Bách khoa Hà Nội Luận án bảo vệ trước Hội đồng chấm luận án cấp Nhà nước họp tại: Hội trường Viện Công nghệ thông tin, Viện Khoa học Công nghệ Việt Nam Vào hồi 15 00 ngày 12 tháng 10 năm 2007 Có thể tìm hiểu luận án tại: Thư viện Quốc gia Thư viện Viện Cơng nghệ thơng tin CÁC CƠNG TRÌNH ĐÃ CÔNG BỐ LIÊN QUAN ĐẾN LUẬN ÁN Lê Mạnh Thạnh, Hồng Bảo Hùng (2001), “Ngơn ngữ truy vấn hướng đối tượng tối ưu hoá truy vấn CSDL hướng đối tượ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, tr 175–185 Lê Mạnh Thạnh, Hoàng Bảo Hùng (2002), “Một phương pháp chuyển đổi liệu từ sở liệu quan hệ sang sở liệu hướng đối tượng”, Tạp chí khoa học, (11), Đại học Huế, tr 35–44 Đoàn Văn Ban, Lê Mạnh Thạnh Hoàng Bảo Hùng (2004), “Sự tương đương biểu diễn ngôn ngữ truy vấn OQL đại số đối tượng”, Tạp chí Tin học Điều khiển học, 20(3), tr 257–269 Lê Mạnh Thạnh, Đoàn Văn Ban Hoàng Bảo Hùng (2004), “Sử dụng kỹ thuật lưu trữ quan hệ lồng thiết kế sở liệu vật lý cho hệ thống sở liệu hướng đối tượng”, Kỷ yếu Hội thảo khoa học Quốc gia, lần thứ nhất, Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Nhà xuất Khoa học Kỹ thuật, Hà nội, tr 305–314 Lê Mạnh Thạnh, Đoàn Văn Ban, Hoàng Bảo Hùng (2005), “Phương pháp ước lượng truy vấn lồng sở liệu hướng đối tượng siêu đồ thị kết nối”, Chun san Tạp chí Bưu Viễn thơng Cơng nghệ thơng tin, “Các cơng trình nghiên cứu - Triển khai Viễn thông Công nghệ thông tin”, ISSN 0866-7039, 14, tr 43–49 Lê Mạnh Thạnh, Hoàng Bảo Hùng (2006), “Mơ hình ước lượng chi phí xử lý truy vấn đối tượng sở 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 CNTT truyền thơng”, chủ đề “Mã nguồn mở”, 25/8-27/8/2005, Hải Phịng, Nhà xuất Khoa học Kỹ thuật, Hà nội, tr 568-579 -1- MỞ ĐẦU Tính cấp thiết đề tài Lịch sử phát triển mơ hình sở liệu (CSDL) hệ thống thông tin trải qua bốn hệ hệ thứ năm mơ hình CSDL phát triển mạnh năm gần Sự đa dạng ứng dụng thực tế ngôn ngữ lập trình địi hỏi mơ hình liệu với đặc trưng phong phú khả tính tốn mạnh để đặc tả đối tượng phức giới thực, điều mở đường cho phát triển mơ hình CSDL hệ thứ năm, mơ hình CSDL hướng đối tượng So với mơ hình CSDL truyền thống, việc phát triển ngơn ngữ CSDL hệ thống hướng đối tượng xem hướng nghiên cứu quan trọng Ngôn ngữ CSDL bao gồm ngôn ngữ định nghĩa đối tượng, ngôn ngữ thao tác liệu, truy vấn đối tượng ngơn ngữ điều khiển liệu Trong đó, ngơn ngữ truy vấn đối tượng mở rộng theo hướng kế thừa ngôn ngữ truy vấn hệ trước bổ sung nhiều tính hướng đối tượng phiên Do đó, phương pháp tối ưu hố truy vấn đề xuất mơ hình liệu hệ trước khơng áp dụng mơ hình liệu hướng đối tượng Phương pháp tối ưu hố truy vấn đối tượng có điểm khác biệt so với phương pháp truyền thống, điều nhận thấy qua khái niệm, tính chất đặc trưng mơ hình liệu hướng đối tượng định danh đối tượng, lớp, phân cấp lớp, kế thừa nguyên lý đóng gói Vì vậy, kết nghiên cứu luận án tập trung làm rõ mặt ý nghĩa vấn đề nảy sinh trình tối ưu hố truy vấn đối tượng, từ đề xuất phương pháp tối ưu số lớp truy vấn CSDL hướng đối tượng Nội dung nghiên cứu luận án Luận án tiếp tục nghiên cứu mơ hình liệu hướng đối tượng vấn đề tối ưu hoá truy vấn CSDL hướng đối tượng Đối với mơ hình liệu hướng đối tượng, luận án nghiên cứu đặc trưng hướng đối tượng mơ hình ODMG, ngơn ngữ truy vấn đối tượng OQL, đại số đối tượng mơ hình chi phí xử lý truy vấn đối tượng -2- Đối với tối ưu hoá truy vấn đối tượng, nghiên cứu biên dịch truy vấn đối tượng OQL sang truy vấn quan hệ, phương pháp tối ưu hoá truy vấn đối tượng phép biến đổi tương đương biểu thức đại số đối tượng cuối phương pháp tối ưu cho lớp truy vấn lồng ký pháp siêu đồ thị kết nối đối tượng Phương pháp nghiên cứu Sử dụng mơ hình lưu trữ quan hệ nhúng phương pháp biểu diễn truy vấn đồ thị tân từ để nghiên cứu chuyển đổi lược đồ hướng đối tượng sang lược đồ quan hệ biên dịch truy vấn đối tượng OQL sang truy vấn quan hệ SQL Trong trường hợp truy vấn đối tượng không lồng, sử dụng tập luật biến đổi phép toán đại số đối tượng để nghiên cứu cải tiến phương pháp tối ưu hoá truy vấn đối tượng dựa vào tập luật Đối với lớp truy vấn đối tượng lồng, sử dụng ký pháp siêu đồ thị kết nối đối tượng để biểu diễn nghiên cứu thuật toán rút gọn siêu đồ thị Những kết luận luận án - Nghiên cứu mở rộng mơ hình chi phí xử lý truy vấn tổng quát CSDL hướng đối tượng - Đề xuất phương pháp chuyển đổi lược đồ hướng đối tượng sang lược đồ quan hệ nhúng, cải tiến hoàn chỉnh thuật toán biên dịch truy vấn đối tượng OQL truy vấn quan hệ SQL - Mở rộng thuật toán tối ưu hoá truy vấn đối tượng dựa vào tập luật quy tắc tối ưu hoá truy vấn hướng đối tượng tổng quát - Đề xuất khái niệm siêu đồ thị kết nối đối tượng, sử dụng để biểu diễn truy vấn đối tượng lồng OQL Từ đó, đưa thuật tốn ước lượng siêu cạnh thu gọn siêu đồ thị kết nối - Xây dựng khơng gian tìm kiếm truy vấn đối tượng dựa siêu đồ thị kết nối đối tượng xác định giá trị tổng số phương án thực thi truy vấn khơng gian tìm kiếm Bố cục luận án Luận án gồm phần mở đầu, ba chương nội dung phần kết luận Chương giới thiệu khái niệm mơ hình liệu hướng đối tượng Sau đó, mở rộng ngữ nghĩa mơ hình liệu với khái niệm -3- đối tượng phức hợp phiên lược đồ Cuối giao diện sở mơ hình liệu hướng đối tượng Chương trình bày ngơn ngữ truy vấn đối tượng OQL Nghiên cứu mở rộng mơ hình chi phí xử lý truy vấn tổng quát lớp sưu tập Chương trình bày kết đạt q trình nghiên cứu phương pháp tối ưu hố truy vấn đối tượng NỘI DUNG LUẬN ÁN CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN TRONG CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Chương trình bày kiến thức tảng mơ hình liệu hướng đối tượng định danh đối tượng, kiểu/lớp, lược đồ, phân cấp lớp mối quan hệ kế thừa, phương thức nguyên lý đóng gói, …v.v Sau đó, xem xét mở rộng ngữ nghĩa mơ hình liệu hướng đối tượng qua khái niệm đối tượng phức hợp phiên lược đồ Phần cuối chương giới thiệu giao diện sở gồm ngôn ngữ định nghĩa liệu, thao tác liệu điều khiển liệu CHƯƠNG 2: NGÔN NGỮ TRUY VẤN ĐỐI TƯỢNG VÀ ĐẠI SỐ ĐỐI TƯỢNG Mục đích chương tìm hiểu ngơn ngữ truy vấn đối tượng OQL, ngôn ngữ sử dụng để thiết lập truy vấn chương công cụ để nghiên cứu số vấn đề tối ưu hoá truy vấn CSDL hướng đối tượng Phân tích mở rộng mơ hình chi phí xử lý truy vấn tổng quát 2.1 Ngôn ngữ truy vấn đối tượng OQL Ngôn ngữ truy vấn đối tượng OQL (Object Query Language) ngôn ngữ truy vấn CSDL hướng đối tượng đề xuất ODMG-93 -4- 2.1.1 Kiểu lược đồ suy dẫn kiểu ngôn ngữ truy vấn OQL Hệ thống kiểu liệu nguyên thuỷ kiểu liệu suy dẫn gắn với phân cấp kiểu giới thiệu hình 2.3 Trên phân cấp, kiểu tổng quát nút nằm nút nhánh cây, kiểu không sử dụng lược đồ CSDL Tất nút hình 2.3 kiểu đặc trưng, chúng suy dẫn từ kiểu sở Hình 2.3 Sự phân cấp kiểu OQL 2.1.2 Truy vấn select … from … where Cú pháp khối lệnh trọng tâm select OQL là: select [distinct] from where [group by [having [order by 2.1.3 Đại số đối tượng ] ] ( asc|desc, …)] 2.1.3.1 Phép toán đối tượng: chiếu lấy định danh (πo), chiếu lấy giá trị (πV) chiếu lấy đối tượng (πD) 2.1.3.2 Phép toán bộ: thiết lập bộ: tuple(a1 : v1 , … , an : vn), chiếu (π(Attrs)), Trích xuất giá trị thuộc tính (πAttr) ghép (tuple_cat) 2.1.3.3 Phép tốn tập hợp: thiết lập tập hợp (set( ) {}), hợp hai tập hợp (set_union), hiệu hai tập hợp (set_diff), chọn tập hợp (σsλs.f), làm phẳng tập (set_flat) áp dụng hàm tập (set_applyλs.e) -5- 2.1.3.4 Phép toán kiểu “túi”: thiết lập, hợp, hiệu, chọn, làm phẳng, áp dụng hàm bag: bag, bag_union, bag_diff, σbλs.f, bag_flat, bag_apply bagtoset (chuyển đổi ‘túi”về tập) 2.1.3.5 Phép toán danh sách: thiết lập danh sách, lấy phần tử đầu tiên, lấy phần tử cuối cùng, ghép danh sách, chọn, làm phẳng, áp dụng hàm danh sách: list, first, last, list_cat, σlλs.f, list_flat, list_applyλs.e 2.1.3.6 Phép toán mảng: thiết lập mảng, ghép mảng, áp dụng, trích xuất phần tử chiếu mảng: array, array_cat, array_applyλs.e, πi πi,j, j > i 2.2 Một số nhận xét ngôn ngữ truy vấn đối tượng OQL Bảng 2.1 đưa số đặc trưng ngôn ngữ truy vấn đối tượng OQL, sở lựa chọn ngôn ngữ truy vấn cho phương pháp tối ưu hoá truy vấn đối tượng chương Bảng 2.1 Ngôn ngữ truy vấn đối tượng OQL Ngôn ngữ truy vấn Tiêu chuẩn Hỗ trợ kiểu người dùng định nghĩa Kiểu: Tập hợp, đa tập, bộ, mảng, thuộc tính tham chiếu Kiểu sưu tập: bag, list, đa sưu tập Hằng null ODMG/OQL Có Có Có nil Khai báo tách rời kiểu/lớp Định nghĩa kiểu/lớp với lớp thể Hỗ trợ quan hệ ISA Có Hỗ trợ quan hệ phận (part_of) Có Hỗ trợ đa kế thừa Có Hỗ trợ khái niệm phiên Có Hỗ trợ giao dịch thời hiệu dài Có Hỗ trợ tính lặp liệu (bản sao) Có Các thuộc tính đối tượng định nghĩa C, C++, JAVA, ngơn ngữ lập trình Smalltalk, Active X Phương thức thuộc tính suy Phương thức dẫn phương thức tân từ Các phương thức lưu trữ đối tượng Các phương thức CSDL lưu trữ Client Các phương thức đối tượng định nghĩa C, C++, JAVA, ngơn ngữ lập trình Smalltalk, Active X MƠ HÌNH CHUẨN Hỗ trợ ngơn ngữ định nghĩa đối tượng Có Hỗ trợ ngơn ngữ truy vấn đối tượng Có -6Ngơn ngữ truy vấn ODMG/OQL Tiêu chuẩn Hỗ trợ liên kết ODMG C++ Hỗ trợ SQL chuẩn chế độ tương tác Hỗ trợ SQL chuẩn mô hình nhúng Hỗ trợ ngơn ngữ CSDL dựa SQL TRUY VẤN Hỗ trợ truy vấn với GUI Hỗ trợ truy vấn với ngôn ngữ hệ thứ tư (4GL) Hỗ trợ truy vấn với ngôn ngữ hướng đối tượng (C++) Cho phép cập nhật lược đồ CSDL Lượng từ lơgíc Lượng từ kiểu sưu tập ĐẠI SỐ ĐỐI TƯỢNG Tập phép toán đại số đối tượng Các toán tử kiểu sưu tập Tập luật biến đổi đại số đối tượng Có Có Có Có Có Có Có Có forall, forsome Khơng phép tốn đối tượng, bộ, tập hợp, “túi”, danh sách mảng listtoset, element, flatten Có 2.3 Mơ hình ước lượng chi phí xử lý truy vấn Phần phân tích mơ hình chi phí xử lý truy vấn tổng quát lớp Mơ hình sử dụng để ước lượng chi phí xử lý truy vấn đối tượng tiến trình tối ưu hố truy vấn 2.3.1 Mơ hình chi phí khối dựng sẵn Tổng chi phí tiến trình xử lý truy vấn tính với cơng thức: Total_cost = IO_cost + CPU_cost đó, IO_cost chi phí vào/ra đĩa CPU_cost chi phí tính tốn tiến trình xử lý truy vấn Luận án tập trung nghiên cứu chi phí IO_cost bỏ qua chi phí CPU_cost 2.3.2 Các yếu tố chi phí sở 2.3.2.1 Ước lượng số trang cho lớp sưu tập Tổng số trang lưu trữ cho lớp c với kích thước đối tượng SC ⎡ c × SC ⎤ ⎥ lực lượng c tính với công thức: c = ⎢ ⎢ PS ⎥ (2.1) với PS kích thước trang nhớ dùng cho hệ thống CSDL hướng đối tượng -7- 2.3.2.2 Ước lượng số trang truy xuất để chọn ghi cách ngẫu nhiên Định lý 2.1 (Định lý Yao) Cho n ghi kiểu nhóm vào m trang (1 < m ≤ n), trang chứa n/m ghi Nếu k ghi (k ≤ n – n/m) chọn cách ngẫu nhiên từ n ghi, số trang truy xuất là: k ⎡ nd − i + 1⎤ Yao(n, m, k ) = m × ⎢1 − ∏ ⎥ , với d = − m ⎣ i =1 n − i + ⎦ (2.2) Áp dụng hàm Yao vào CSDL hướng đối tượng, ta có giá trị tham số n, m, k là: n = c ,m = c k = SEL × c (SEL số đối tượng chọn thoả điều kiện lớp thời c), lúc cơng thức (2.2) trở thành: k ⎡ c × d − i + 1⎤ Yao ( c , c , SEL × c ) = c × ⎢1 − ∏ ⎥ , với d = − (2.3) c c − i +1 ⎥ ⎢ i =1 ⎣ ⎦ Ngoài ra, c sưu tập gộp nhóm, cơng thức (2.2) khơng thể sử dụng để ước lượng trang truy xuất, sưu tập gộp nhóm c có nhiều phân mảnh, đối tượng gộp nhóm với từ sưu tập khác nhau, tồn số đối tượng lưu trữ riêng lẻ Trong trường hợp này, công thức ước lượng số trang truy xuất sử dụng định lý 2.2 Định lý 2.2 (Định lý Yao’) Cho sưu tập c có p phân mảnh, phân p mảnh có ci đối tượng Nếu k đối tượng ( k < ∑ i =1 ci ) chọn từ c cách ngẫu nhiên số trang truy xuất là: p Yao' (c, k ) = ∑ Yao( ci , ci , k i ) (2.4) i =1 với ki số đối tượng chọn phân mảnh ci Nếu số đối tượng chọn lấy giống phân mảnh ki = ci c ×k Ngược lại, số đối tượng chọn không giống phân mảnh khác phải xác định xác giá trị ki phân mảnh dựa vào mật độ đối tượng phân mảnh Công thức (2.2) trường hợp đặc biệt (2.4) sưu tập c có phân mảnh Mặt khác, công thức (2.2) áp dụng m ≤ n, tức kích thước đối tượng nhỏ kích thước trang Đối với kích - 10 - 3.2.2.1 Đặc tả tham chiếu đối tượng mục kết nối Giả sử hai quan hệ R S quan hệ với qua tân từ P, lược đồ quan hệ nhúng mô tả sau: Lớp không chứa quan hệ kế thừa: Các quan hệ R S lưu trữ cách độc lập: R (#R, thuộc tính ) S (#S, thuộc tính ) Tham chiếu nhúng: Giả sử R-bộ có quan hệ với nhiều S-bộ, ta lưu trữ địa S-bộ với R-bộ tương ứng Tức là, phép chèn vào R-bộ, tân từ P định giá quan hệ S R-bộ đó, tìm S-bộ tương ứng lưu trữ địa vật lý (&S), định danh đối tượng (#S), hai R-bộ S(S#, thuộc tính ) R(#R, #S, thuộc tính ) R(#R, &S, thuộc tính ) R(#R, #S, &S, thuộc tính ) Trong trường hợp tân từ P hàm có kiểu đối tượng, thực việc tổ chức lưu trữ định danh đối tượng đối tượng tham chiếu Tham chiếu nhúng kiểu tập: Tương tự, R-bộ có quan hệ nhiều S-bộ, ta lưu trữ tập tham chiếu (OID và/hoặc TID) R-bộ quan hệ nhúng SRef S(S#, thuộc tính ) R(#R, SRef(#S), thuộc tính ) R(#R, SRef(&S), thuộc tính ) R(#R, SRef(#S, &S), thuộc tính ) Chỉ mục kết nối: Các trỏ liên kết đối tượng liên quan lưu trữ thành quan hệ riêng biệt đối tượng – bộ, hai quan hệ JI1 JI2 quan hệ lưu trữ mục kết nối quan hệ R S: R(#R, vài thuộc tính ) S(#S, vài thuộc tính ) JI1(&R, SRef(&S)) JI2(&S, SRef(&R)) - 11 - 3.2.2.2 Chuyển đổi thành phần CSDL hướng đối tượng Quá trình ánh xạ lược đồ CSDL hướng đối tượng từ mức khái niệm lên quan hệ nhúng tiến hành qua khái niệm sở mơ hình đối tượng a Đối tượng Một đối tượng đặc tả định danh khởi tạo hệ thống Mọi liệu liên quan đến đối tượng tham chiếu đến định danh Giả sử kiểu đối tượng T quan hệ nhúng chứa định danh đối tượng đối tượng có kiểu T #T b Phương thức lớp Về mặt nguyên lý, biểu diễn phương thức quan hệ nhị nguyên Vì vậy, hàm đơn trị fs : T1 → T2 hàm đa trị fm : T1 → set(T3) biểu diễn hai quan hệ nhị nguyên tương ứng sau: fs (#T1, #T2) fm (#T1, T3Ref(#T3)) Tham chiếu lôgic tham chiếu vật lý: Hàm cho kết đối tượng (tập đối tượng) trở thành quan hệ - thuộc tính hàm đa trị trở thành quan hệ có chứa quan hệ Quan hệ có chứa tham chiếu vật lý hai hàm fs fm, cho kết sau: T1 (#T1 , fs#, fs&, fm#Set(#T3 , &T3)) c Kiểu, lớp kế thừa Xét phân cấp kiểu (cấu trúc, kế thừa phương thức) phân cấp lớp (mối quan hệ bao hàm) Kiểu: Mỗi kiểu đối tượng T ánh xạ đến kiểu bảng T’ chứa thuộc tính #T Các thuộc tính bổ sung bảng T’ hàm (phương thức) đóng gói kiểu T hàm trả T - đối tượng Lớp: Mỗi lớp c chuyển đổi thành khung nhìn sở kiểu bảng Nếu lớp định nghĩa với lượng từ “forall”, lượng từ dùng điều kiện lựa chọn lớp Nếu lớp có số đối tượng thành viên xác định “forsome” kiểu bảng sở mở rộng thuộc tính lơgic B có giá trị true đối tượng thành viên lớp c Sự kế thừa: Lớp chuyển đổi tương ứng với kiểu bảng - 12 - 3.2.2.3 Thuật toán chuyển đổi lược đồ đối tượng sang lược đồ quan hệ nhúng Giả sử lược đồ đối tượng biểu diễn thành dãy S = (s1, s2, …, sn), si lớp lược đồ Thuật toán 3.1: Chuyển đổi lược đồ đối tượng sang lược đồ quan hệ nhúng Vào: Lược đồ đối tượng S = (s1, s2, …, sn) Ra: Lược đồ quan hệ nhúng NR Phương pháp: (1) Khởi tạo NR := ∅ (2) for si ∈ S (3) if si siêu lớp gốc then (4) Khởi tạo quan hệ r chứa thuộc tính có giá trị nguyên thuỷ si (5) Bổ sung thuộc tính #si vào r (6) NR := NR ∪ r (7) else if si lớp có kế thừa từ siêu lớp sj then (8) Khởi tạo quan hệ nhúng ri := ∅ (9) for siêu lớp sj (10) Tạo quan hệ rj chứa thuộc tính lớp sj (11) Bổ sung thuộc tính #sj vào rj (12) Bổ sung rj vào ri (13) for thuộc tính si.ak ∈ si (14) if ak định danh đối tượng then (15) Bổ sung thuộc tính #si vào ri (16) if (ak thuộc tính đơn trị, có giá trị nguyên thuỷ) then (17) Bổ sung thuộc tính ak tương ứng quan hệ ri (18) else if ak thuộc tính đa trị then (19) Tạo quan hệ ri’ tương ứng với ak (20) Bổ sung thuộc tính #ak ri’ (21) Bổ sung ri’ vào ri (22) else if ak thuộc tính tham chiếu then (23) if (ak tham chiếu nhúng kiểu tập đến lớp sl) then (24) Tạo quan hệ akRef(#sl, &sl) (25) Bổ sung quan hệ akRef vào quan hệ ri (26) else Bổ sung hai thuộc tính {#sl, &sl} vào ri (27) NR := NR ∪ ri - 13 - Thuật toán 3.1 tập trung xử lý lớp chứa thuộc tính đa trị, tham chiếu (khơng tạo thành chu trình) mối quan hệ kế thừa lớp Thuật toán cho kết lược đồ quan hệ nhúng lược đồ đối tượng Gọi n số lớp lược đồ đối tượng, k số thuộc tính lớp si m = max(n, k) độ phức tạp tính tốn thuật tốn 3.1 O(m3) Đối với phương thức lớp, thực chuyển đổi chúng thành quan hệ nhị nguyên, lưu trữ độc lập có liên kết đến lớp qua tham chiếu lơgic (tham chiếu vật lý) Thuật tốn 3.2: Chuyển đổi phương thức lớp Vào: Lược đồ đối tượng S(s1, s2, …, sn) Lược đồ quan hệ nhúng NR(r1, r2, …, rj) Ra: Lược đồ quan hệ nhúng NR Phương pháp: (1) for lớp si ∈ S (2) for phương thức fk lớp si (3) (4) (5) // Hàm đơn trị fk : T1 → T2 if fk hàm đơn trị then Tạo quan hệ fk (#T1, #T2) Bổ sung thuộc tính {fk#, fk&} vào quan hệ rk (6) else Tạo quan hệ fk (#T1, T3Ref(#T3)) // Hàm đa trị fk : T1 → set(T3) (7) Bổ sung quan hệ fk#Set(#T3 , &T3) vào rk (8) Bổ sung fk vào NR 3.3 Biên dịch truy vấn đối tượng OQL thành truy vấn quan hệ SQL Trong phần này, xây dựng thuật toán biên dịch mệnh đề select mệnh đề from Sau đó, mệnh đề where truy vấn OQL biên dịch thành mệnh đề where quan hệ, sử dụng khái niệm đồ thị tân từ Lược đồ đối tượng S biểu diễn hình thức S = (s1, …, sn), si lớp S truy vấn đối tượng QE = (s1, …, sm, Res, p1, …, pk), với si ∈ S (i = 1,…, m) lớp tham gia truy vấn, Res lớp/kiểu kết truy vấn pj (j = 1, …, k) biểu thức điều kiện mệnh đề where 3.3.1 Biên dịch mệnh đề select OQL sang mệnh đề select SQL Thuật toán 3.3: Biên dịch mệnh đề select từ OQL sang SQL Vào: Mệnh đề select truy vấn đối tượng (Res) Ra: Truy vấn quan hệ SQL - 14 - Phương pháp: //Res lớp kết truy vấn; r quan hệ chuyển đổi tương ứng từ Res (1) for thuộc tính kết a ∈ Res (2) (3) (4) (5) (6) (7) (8) (9) (10) if a định danh đối tượng then a thay #r // a xem khoá quan hệ r else if a thuộc tính đơn trị then c.a thay r.a if a thuộc tính tập then - Khởi tạo quan hệ s với thuộc tính a // #s khoá s - Bổ sung khoá liên kết #s vào r - Bổ sung s vào mệnh đề from truy vấn quan hệ (nếu chưa tồn tại) - Bổ sung r.#r = s.#s vào mệnh đề where SQL 3.3.2 Biên dịch mệnh đề from truy vấn OQL sang mệnh đề from SQL Việc chuyển đổi mệnh đề from OQL, chuyển đổi lớp tham gia truy vấn đối tượng sang quan hệ mệnh đề from truy vấn quan hệ Thuật toán 3.4: Biên dịch mệnh đề from OQL sang SQL Vào: Truy vấn đối tượng QE = (s1, …, sm, R, p1, …, pl) Ra: Tập quan hệ FR = {r1, …, rk} (k ≥ m) mệnh đề from truy vấn SQL Phương pháp: (1) FR := ∅ // Chứa tập quan hệ chuyển đổi từ mệnh đề from OQL (2) V := (s1, …, sm) (3) for lớp si ∈ V (4) (5) (6) (7) (8) (9) (10) if (si siêu lớp gốc) then Bổ sung thuộc tính #si vào ri Tạo quan hệ ri có tập thuộc tính tương ứng si else for (mỗi lớp sj siêu lớp si) Tạo quan hệ tạm thời rj có thuộc tính từ lớp kế thừa sj Bổ sung thuộc tính #sj vào rj Tạo quan hệ ri từ quan hệ rj (11) FR := FR ∪ ri - 15 - Các thuật toán 3.3 3.4 dừng sau số hữu hạn bước, tập thuộc tính lớp tham gia mệnh đề select, from hữu hạn Độ phức tạp tính tốn thuật tốn có thời gian đa thức 3.3.3 Biên dịch mệnh đề where truy vấn OQL sang mệnh đề where truy vấn quan hệ SQL Bước 1: Khởi lập đồ thị tân từ hướng đối tượng (OPG) từ mệnh đề where truy vấn đối tượng (Mục 3.3.3.1 – Các luật từ R1 – R3) Bước 2: Đồ thị tân từ hướng đối tượng biên dịch thành đồ thị tân từ quan hệ (RPG) (Mục 3.3.3.2 - Thuật toán 3.5) Bước 3: Mệnh đề where truy vấn quan hệ tạo lập từ đồ thị tân từ quan hệ bước thứ hai (Mục 3.3.3.3 - Thuật toán 3.6) 3.4 Tối ưu hoá truy vấn đối tượng phép biến đổi biểu thức đại số đối tượng [1], [3] 3.4.1 Sự biểu diễn tương đương truy vấn OQL đại số đối tượng Định nghĩa 3.5 Nếu E biểu thức đại số đối tượng Q truy vấn đối tượng OQL xác định tập đối tượng 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 Định lý 3.1 Mọi biểu thức đại số đối tượng biểu diễn truy vấn đối tượng OQL Định lý 3.2 Mọi truy vấn đối tượng OQL biểu diễn biểu thức đại số đối tượng Bổ đề 3.1 Mọi biểu diễn biểu thức đại số đối tượng tương đương Bổ đề 3.2 Các với thành phần cuối khơng có số biểu diễn biểu thức đại số đối tượng Bổ đề 3.3 Với câu truy vấn OQL tồn biểu thức đại số đối tượng tương đương Bổ đề 3.4 () định nghĩa biểu diễn biểu thức đại số đối tượng tương đương Bổ đề 3.5 Mọi biểu diễn biểu thức đại số đối tượng tương đương Bổ đề 3.6 Các có thành phần cuối khơng chứa số mảng chuyển đổi thành biểu thức đại số đối tượng tương đương - 16 - Bổ đề 3.7 Mọi biểu diễn biểu thức đại số đối tượng tương đương Bổ đề 3.8 Mọi biểu diễn biểu thức đại số đối tượng tương đương Bổ đề 3.9 Mọi ln tồn biểu diễn tương đương với biểu thức đại số đối tượng Bổ đề 3.10 Mọi biểu diễn tân từ ngôn ngữ vị từ Bổ đề 3.11 Truy vấn đối tượng OQL mà khơng chứa từ khố "distinct" kết nhập biểu diễn biểu thức đại số tương đương Bổ đề 3.12 Truy vấn đối tượng OQL có hàm kết nhập khơng chứa từ khố "distinct" biểu diễn biểu thức đại số tương đương Bổ đề 3.13 Truy vấn đối tượng OQL biểu diễn biểu thức đại số đối tượng tương đương Như vậy, việc viết lại truy vấn đối tượng cho thành biểu thức đại số sử dụng tập phép toán đại số đối tượng tương đương 3.4.2 Các luật biến đổi đại số đối tượng Ký hiệu S, S1, S2, S3 tập đối tượng; e, f, g, h biểu thức đại số, phép toán op ∈ {union, diff} L1 Tính giao hốn phép chọn: σλt.g(σλs.f(S)) = σλs.f(σλt.g(S)) L2 Tổ hợp phép chọn: σλs.(f∧g∧…∧h(S) = σλs.f(σλt.g(…(σλu.h (S))…)) L3 Dãy phép chiếu: π (a1 an ) (π (b1 bm) (S)) = π (a1 an ) (S) , với {a1, , an} ⊂ {b1, , bm} L4 Giao hoán phép chọn phép chiếu σ λs.e (π (a a ) (S )) = π (a a ) (σ λs.e (S )) n n L5 Giao hoán phép chiếu với phép hợp, hiệu tập/đa tập π (a1 an ) (S1 op S ) = π (a1 an ) (S1 ) op π (a1 an ) (S ) L6 Phân phối phép chọn với phép hợp phép hiệu tập/đa tập σλs.f(S1 op S2) = σλs.f(S1) op S2, f liên quan với S1 - 17 - Tổng quát: σλs.(f∧g∧h(S1 op S2) = σλu.h(σλs.f(S1) op σλt.g(S2)), f liên quan S1, g liên quan S2 h liên quan S1 S2 L7 Giao hoán phép apply phép chọn: điều kiện chọn chứa thuộc tính phép tốn apply trả thì: applyλs.e(σλt.f(S)) = σλt.f(applyλs.e(S)) L8 Giao hốn phép làm phẳng (flat) phép apply tập/đa tập: giả sử S thể lớp X tập thuộc tính phức lớp flat (apply λs.( applyλt.e (π ( X ) (πV ( S )))) ( S )) = apply λt.e ( flat ( apply λs.π ( X ) (πV ( S )) ( S ))) Biểu thức vế trái, có biểu thức e tác động trước tập tập (thu πX) sau làm phẳng thành tập; biểu thức vế phải có phép tốn làm phẳng tác động trước (kết thu tập), sau thực phép tốn apply L9 Tính kết hợp phép hợp (S1 union S2) union S3 = S1 union (S2 union S3) L10 Các luật kế thừa phép chọn phép apply: S2 lớp S1, thể S2 tập thể S1: σλs.f(S1) union σλs.f(S2) = σλs.f(S1) applyλs.e(S1) union applyλs.e(S2) = applyλs.e(S1) 3.4.3 Các quy tắc tối ưu hoá truy vấn đối tượng tổng quát Tiếp theo, với tập luật biến đổi đại số đối tượng mục 3.4.2, quy tắc cho phép chọn lựa luật thích hợp áp dụng biểu thức đại số đầu vào nhằm tạo bước ước lượng biểu thức đại số đối tượng có chi phí xử lý thấp tương đương với biểu thức cho đề xuất sau: (R1) Đưa phép chọn, phép chiếu đối tượng, phép bagtoset vào thực trước phép kết nối, tích Đề các, nhóm (đối tượng) lớp theo thứ tự (R2) Tổ hợp dãy phép chọn phép chiếu: Dãy phép tốn chọn chiếu nhóm gộp phép chọn phép chiếu (π(A1)(π(A2)(S)) = π(A1), A1 ⊆ A2) (R3) Làm phẳng cấu trúc phức với phép toán set_flat, bag_flat, list_flag: chuyển cấu trúc phức kiểu tập, danh sách với phần tử đơn trị (lồng nhau) Phép biến đổi loại bỏ tham chiếu lồng, lặp (tự trỏ) cấu trúc phức làm giảm độ phức tạp tính tốn trình xử lý truy vấn - 18 - (R4) Xử lý trước lớp sưu tập phép tốn ngơi: làm giảm kích thước lớp sưu tập tham gia kết nối hay lập nhóm (R5) Tính thành phần sở biểu thức đại số đối tượng: Xác định thành phần sở chung biến vùng (thuật toán bổ đề 3.11), tồn thành phần sở chung tính trước biểu thức chung này, chúng xem đầu vào cho bước truy vấn 3.4.4 Thuật toán tối ưu hoá truy vấn đối tượng dựa tập luật Thuật toán 3.7 tập trung xử lý phép toán chiếu, chọn, áp dụng biểu thức đại số (set_apply) kiểu đối tượng phép toán loại bỏ trùng lặp đa tập, lớp sưu tập Thuật toán 3.7: Tối ưu hoá biểu thức đại số đối tượng dựa tập luật Vào: Biểu thức đại số đối tượng Ra: Một dãy bước ước lượng biểu thức đại số đối tượng Phương pháp: (1) Khởi tạo 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 phép chọn: σλs.f(σλt.g(…(σλu.h (S))…)) (3) Sử dụng luật kế thừa phép chiếu (L3), phép chọn phép apply (L10) tổ hợp dãy phép chiếu, chọn thành phép chiếu phép chọn (4) Đối với phép chọn, sử dụng luật (L4, L6, L7, L10) “đẩy” phép chọn xuống lớp thành phần “qua” nút kết nối phép tạo nhóm (5) Đối vớ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 sâu tốt Nếu tập thuộc tính chiếu bao gồm tất thuộc tính biểu thức loại bỏ phép chiếu (6) Sử dụng luật (L8, L9, L10) lớp sưu tập, để loại bỏ phần tử trùng lặp lớp sưu tập; di chuyển phép làm phẳng (flat), phép loại bỏ trùng lặp đa tập (bagtoset) lên trước phép tốn nhóm kết nối (7) Tạo dãy bước biến đổi để ước lượng nhóm theo thứ tự cho khơng có nhóm ước lượng trước nhóm - 19 - Mệnh đề 3.1 Thuật toán 3.7 đắn kết thuật toán phương án truy vấn có chi phí thấp chi phí ước lượng biểu thức đầu vào thuật toán Độ phức tạp tính tốn thuật tốn 3.7 có thời gian đa thức theo kích thước (số biến thể) lớp tham gia biểu thức 3.5 Tối ưu hoá truy vấn đối tượng siêu đồ thị kết nối đối tượng [5] Khái niệm siêu đồ thị kết nối đối tượng đưa để biểu diễn truy vấn đối tượng OQL, đặc biệt xử lý truy vấn lồng Từ đó, đề xuất thuật toán ước lượng siêu cạnh thuật toán thu gọn siêu đồ thị kết nối đối tượng 3.5.1 Siêu đồ thị kết nối đối tượng Trước hết, khái niệm siêu đồ thị kết nối đối tượng định nghĩa cách hình thức sau: Định nghĩa 3.6 Siêu đồ thị kết nối đối tượng sáu H = (CH, VH, EH, LH, sH, lbH), đó: (i) CH tập hữu hạn lớp tham gia truy vấn (ii) VH tập hữu hạn nút (iii) LH tập hữu hạn nhãn (iv) EH = EC ∪ EQ - tập siêu cạnh (hữu hạn), EC, EQ tập siêu cạnh biểu diễn lớp đối tượng thành phần truy vấn (v) sH: VH → EH ánh xạ khởi tạo siêu cạnh từ tập nút (vi) lbH: EH → LH hàm gán nhãn cho siêu cạnh, cho ∀ e ∈ EH lbH(e) ∈ LH Từ định nghĩa 3.6 (trong phần sau, siêu đồ thị kết nối đối tượng gọi tắt siêu đồ thị), sử dụng ký pháp siêu đồ thị để biểu diễn cho truy vấn OQL đưa thuật toán khởi tạo siêu đồ thị sau 3.5.1.1 Thuật toán khởi tạo siêu đồ thị Thuật toán 3.8: Khởi tạo siêu đồ thị truy vấn đối tượng (không chứa truy vấn lồng) Vào: Lược đồ đối tượng S = (s1, …, sn) Truy vấn đối tượng QE = (s1, …, sm, R, p1, …, pk) Ra: Siêu đồ thị H - 20 - Phương pháp: (1) SC := ∅ //tập chứa siêu cạnh đối tượng siêu đồ thị H (2) V := (s1, …, sm) (3) for si ∈ V (4) if (si siêu lớp gốc) then //không kế thừa từ siêu lớp khác (5) Khởi tạo siêu cạnh đối tượng e := sH({si}) nhãn lbH(e) (6) else if (si lớp kế thừa đơn kế thừa bội) then (7) Xử lý trường hợp xung đột tên với thuộc tính kế thừa (8) Khởi tạo lớp si’ chứa thuộc tính lớp thuộc tính kế thừa (9) Khởi tạo siêu cạnh đối tượng e := sH({si’}) gán nhãn lbH(e) (10) SC := SC ∪ e (11) Khởi tạo siêu cạnh đỉnh h := sH({R}) lbH(h) := “head” (12) SC := SC ∪ h (13) SD := ∅ //tập chứa siêu cạnh điều kiện siêu đồ thị H (14) for pi ∈ (p1, …, pk) (15) if (pi có dạng (3.3) (3.4)) then (16) Khởi tạo siêu cạnh điều kiện f := sH({pi}) (17) (18) SD := SD ∪ f else Gán nhãn cho nút lbH(e) := “= a” (19) H := SC ∪ SD Từ định nghĩa 3.6 dễ nhận thấy thuật toán 3.8 đắn độ phức tạp tính tốn thuật tốn O(n2), với n số lớp tham gia truy vấn Với bước xác lập siêu đồ thị đơn, siêu đồ thị kết tạo từ liên kết siêu đồ thị đơn với siêu cạnh kết nhập Thuật toán 3.9: Khởi tạo siêu đồ thị truy vấn lồng OQL Vào: Lược đồ đối tượng S = (s1, …, sn) Truy vấn QE = (s1, …, sm, R, p1, …, pk), tập TT ⊆ {is, in, union, diff, forall, exists} tập toán tử tham gia mệnh đề where truy vấn QE Ra: Siêu đồ thị H Phương pháp: (1) H := ∅ - 21 - (2) for (mỗi truy vấn QEi truy vấn QE) (3) Khởi tạo siêu đồ thị Hi với QEi (Thuật toán 3.8) (4) H := H ∪ Hi (5) for (mỗi toán tử ti ∈ TT) (6) Khởi tạo siêu cạnh kết nhập g có nhãn ti chứa siêu cạnh đỉnh siêu đồ thị vế phải ti thuộc tính vế trái ti (7) H := H ∪ g 3.5.2 Phương pháp ước lượng siêu đồ thị Biểu diễn hình thức cho siêu đồ thị dãy kiện: H = (E1, E2 , , En ), kiện E i siêu cạnh đối tượng, siêu cạnh điều kiện siêu cạnh kết nhập Lớp dẫn xuất thu sau tác động kiện Ej ký hiệu Lớp_dẫn_xuất(E1, , Ej) Thủ tục Ướclượngsiêucạnh nhận vào lớp dẫn xuất thu sau tác động kiện Ej-1 kiện Ej, kết thủ tục lớp dẫn xuất với kiện Ej H Procedure Ướclượngsiêucạnh(Lớp_dẫn_xuất(E1, , Ej-1), Ej) Vào: Lớp_dẫn_xuất(E1, , Ej-1) kiện Ej Ra: Lớp_dẫn_xuất(E1, , Ej) Phương pháp: (1) Khởi tạo, Ướclượngsiêucạnh(E1) cho kết quả: Lớp_dẫn_xuất(E1) := c1, đó, c1 lớp tương ứng với siêu cạnh đối tượng E1 (2) if (Ej điều kiện siêu cạnh điều kiện) then Lớp_dẫn_xuất(E1, , Ej) := σF(Lớp_dẫn_xuất(E1, , Ej-1)) với F biểu thức điều kiện tương ứng với Ej (3) if (Ej siêu cạnh đối tượng lớp Cj có giao với siêu đồ thị) then Lớp_dẫn_xuất(E1, , Ej) := Lớp_dẫn_xuất(E1, , Ej-1)) Cj (4) if (Ej siêu cạnh đối tượng không giao với siêu đồ thị) then Lớp_dẫn_xuất(E1, , Ej) := Lớp_dẫn_xuất(E1, , Ej-1)) × Cj Khi tất siêu cạnh siêu đồ thị H ước lượng, lớp dẫn xuất kết chiếu lên tập thuộc tính siêu cạnh đỉnh cho câu trả lời truy vấn - 22 - Thuật toán 3.10: Ước lượng siêu cạnh siêu đồ thị Vào: Siêu đồ thị H = (E1, E2, , En), R siêu cạnh đỉnh Ra: Lớp kết truy vấn Phương pháp: (1) Biểu diễn siêu đồ thị H = (E1, E2, , En), với dãy kiện Ei (2) for j := to n (3) Call Ướclượngsiêucạnh(Lớp_dẫn_xuất(E1, , Ej-1), Ej) (4) Bổ sung Lớp_dẫn_xuất(E1, , Ej) vào H (5) H := πR(Lớp_dẫn_xuất(E1, , En)) Mệnh đề 3.2 Thuật toán 3.10 dừng sau hữu hạn bước cho câu trả lời Mở rộng thuật toán 3.10 việc xử lý siêu cạnh kết nhập, ta có giải thuật 3.11 Thuật toán 3.11: Thu gọn siêu đồ thị Vào: Siêu đồ thị H = (E1, E2, …Ei, EAj, Ei+1, …, Ek, …), R siêu cạnh đỉnh Ra: Lớp kết truy vấn Phương pháp: (1) Biểu diễn siêu đồ thị H = (E1, E2, …Ei, EAj, Ei+1, …, Ek, …) (2) i := (3) repeat (4) if (EAj siêu cạnh kết nhập) then (5) for l := i + to k – (6) Call Ướclượngsiêucạnh(Lớp_dẫn_xuất(Ej), Ej+1) (7) Bổ sung Lớp_dẫn_xuất(El, , Ek) vào H trước EAj (8) else Call Ướclượngsiêucạnh(Lớp_dẫn_xuất(E1, , Ei-1), Ei) (9) Bổ sung Lớp_dẫn_xuất(E1, , Ei) vào H (10) inc(i) (11) until (ước lượng tất siêu cạnh H) H := πR(Lớp_dẫn_xuất(E1, , Ek, …)) Độ phức tạp tính tốn thuật tốn 3.11 có thời gian đa thức 3.5.3 Khơng gian tìm kiếm truy vấn Sử dụng tập danh sách với phần tử chứa thành phần siêu đồ thị, sau duyệt tập danh sách tương ứng để xác định phương án thực thi truy vấn (12) - 23 - Thuật tốn 3.12 Khơng gian tìm kiếm truy vấn Vào: Siêu đồ thị H Ra: Khơng gian tìm kiếm với tổng số phương án thực thi truy vấn Phương pháp: (1) Sắp xếp lớp, siêu cạnh đối tượng, điều kiện siêu cạnh kết nhập vào tập danh sách {L1} // Bước 1: Ước lượng siêu cạnh điều kiện siêu cạnh kết nhập (2) for danh sách L1 (3) for siêu cạnh E (4) if E siêu cạnh kết nhập then (5) Bổ sung EAj vào L1 sau siêu cạnh cuối Ek //Thuật toán 3.11 (6) else if E siêu cạnh điều kiện then (7) Ước lượng siêu cạnh điều kiện //Thuật toán 3.10 (8) Kết thu danh sách {L1’} // Bước 2: Uớc lượng siêu cạnh đối tượng (9) for danh sách L1’ (10) for siêu cạnh đối tượng (11) Thực ước lượng với siêu cạnh điều kiện tương ứng (12) Kết lưu danh sách {L2} // Bước 3: Ước lượng kết nối (13) for danh sách L2 (14) for siêu cạnh (15) Ước lượng kết nối lớp (16) Kết danh sách {L3}; Tập danh sách {L3} khơng gian tìm kiếm phương án thực truy vấn Ký hiệu KGTK tổng số phương án thực thi truy vấn đối tượng khơng gian tìm kiếm Định lý 3.3 Khơng gian tìm kiếm thuật tốn 3.12 có tổng số phương án thực thi truy vấn là: (p + q! + 2q – 1) ≤ KGTK ≤ (q! + p.2q – 1), đó, q số siêu cạnh siêu đồ thị, p chi phí phép toán đại số - 24 - KẾT LUẬN Mục đích luận án nghiên cứu ngơn ngữ truy vấn đối tượng tối ưu hoá truy vấn đối tượng CSDL hướng đối tượng Các kết luận án đạt là: - Nghiên cứu mơ hình chi phí xử lý truy vấn tổng quát CSDL hướng đối tượng, mở rộng định lý ước lượng số trang truy xuất thực việc chọn ngẫu nhiên số đối tượng trường hợp kiểu đối tượng kiểu sưu tập có ảnh hưởng kích thước trang nhớ - Đề xuất phương pháp chuyển đổi lược đồ hướng đối tượng sang lược đồ quan hệ nhúng, cải tiến hoàn chỉnh thuật toán biên dịch truy vấn đối tượng OQL truy vấn quan hệ SQL - Mở rộng thuật toán tối ưu hoá truy vấn đối tượng dựa vào tập luật quy tắc tối ưu hoá truy vấn đối tượng tổng quát Trong đó, luận án chứng minh tính tương đương chuyển đổi truy vấn OQL đại số đối tượng, điều đảm bảo cho biến đổi biểu thức đại số đối tượng bảo toàn tương đương - Đưa khái niệm siêu đồ thị kết nối đối tượng, sử dụng ký pháp siêu đồ thị, đề xuất phương pháp biểu diễn truy vấn OQL siêu đồ thị kết nối đối tượng Từ đó, xây dựng thuật tốn khởi tạo siêu đồ thị kết nối đối tượng trường hợp truy vấn lồng xây dựng thuật toán ước lượng siêu cạnh siêu đồ thị kết nối đối tượng, thu gọn siêu đồ thị kết nối - Xây dựng khơng gian tìm kiếm truy vấn đối tượng dựa siêu đồ thị kết nối đối tượng xác định giá trị tổng số phương án thực thi truy vấn khơng gian tìm kiếm Những vấn đề đặt từ kết nghiên cứu luận án: - Sử dụng mơ hình ước lượng chi phí truy vấn (mục 2.4) khơng gian tìm kiếm truy vấn để xác định phương án thực thi truy vấn tối ưu - Cài đặt chuyển đổi lược đồ tự động lược đồ hướng đối tượng lược đồ quan hệ nhúng Tích hợp mơđun biên dịch tối ưu hố truy vấn đối tượng hệ thống CSDL đối tượng – quan hệ - Cài đặt phương pháp tối ưu hoá truy vấn đối tượng đề xuất hệ QTCSDL hướng đối tượng hệ ObjectStore - Sử dụng CSDL suy diễn chương trình datalog để biểu diễn truy vấn đối tượng tối ưu hoá chương trình datalog ... toán tối ưu hoá truy vấn đối tượng dựa vào tập luật quy tắc tối ưu hoá truy vấn hướng đối tượng tổng quát - Đề xuất khái niệm siêu đồ thị kết nối đối tượng, sử dụng để biểu diễn truy vấn đối tượng. .. thuật tốn biên dịch truy vấn đối tượng OQL truy vấn quan hệ SQL - Mở rộng thuật toán tối ưu hoá truy vấn đối tượng dựa vào tập luật quy tắc tối ưu hoá truy vấn đối tượng tổng quát Trong đó, luận án... phương pháp tối ưu số lớp truy vấn CSDL hướng đối tượng Nội dung nghiên cứu luận án Luận án tiếp tục nghiên cứu mô hình liệu hướng đối tượng vấn đề tối ưu hoá truy vấn CSDL hướng đối tượng Đối với

Ngày đăng: 03/04/2014, 12:24

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan