Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
471,93 KB
Nội dung
ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN Phạm Thị Huệ TỐI ƯU HÓA TRUY VẤN ĐỐI VỚI CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Thái Nguyên - 2010 http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN Phạm Thị Huệ TỐI ƯU HÓA TRUY VẤN ĐỐI VỚI CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG Chuyên ngành: Khoa học máy tính Mã số: 604801 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Đoàn Văn Ban Thái Nguyên - 2010 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI NÓI ĐẦU Hiện công nghệ thông tin trở thành lĩnh vực thiếu cho sống người Từ đời công nghệ thông tin không ngừng phát triển, bước thể vai ngành nghề: Y tế, quân sự, giáo dục, văn hoá … Cơ sở liệu lĩnh vực quan trọng Công nghệ thông tin Việc tìm kiếm xây dựng phần mềm ứng dụng phục vụ nhu cầu xã hội nhà chuyên môn hướng tới mục đích đáp ứng được toán phức tạp CSDL cho WebCSDL multimedia, CSDL phân tán… đồng thời tốc độ xử lý phải nhanh xác Xuất phát từ nhu cầu đó, nhà nghiên cứu không ngừng tìm tòi, cải tiến đưa mô hình liệu với khả ứng dụng cho đối tượng phức, khả mở rộng kế thừa Mô hình CSDL hướng đối tượng, với cách tiếp cận giải pháp tốt cho CSDL ứng dụng phức tạp Trong năm gần đây, việc phát triển ngôn ngữ CSDL hệ thống CSDL hướng đối tượng xem hướng nghiên cứu quan trọng Các ngôn ngữ CSDL mở rộng theo hướng tích hợp với ngôn ngữ lập trình hướng đối tượng, điều tạo điều kiện cho hệ thống tăng khả tính toán phức tạp xây dựng giao diện lập trình hướng đối tượng Một hướng nghiên cứu quan trọng đề cập hệ thống CSDL hướng đối tượng tối ưu hoá truy vấn hướng đối tượng Với truy vấn tồn nhiều phương án mà hệ thống CSDL cho phép xử lý đưa kết theo yêu cầu Việc tối ưu hoá truy vấn cho lựa chọn phương án có tổng thời gian thực truy vấn hiệu Hiện có nhiều kết nghiên cứu phát triển ngôn ngữ hướng đối Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn tượng biên dịch truy vấn tương đương từ truy vấn hướng đối tượng sang quy vấn quan hệ Xuất phát từ nhu cầu cấp thiết việc nghiên, mở rộng ngôn ngữ hướng đối tượng, biên dịch truy vấn tối ưu hoá truy vấn quan hệ kết nghiên cứu nhiều tác giả Đoàn Văn Ban, Hoàng Bảo Hùng, Lê Mạnh Thạnh… chọn đề tài luận văn: “Tối ưu hoá truy vấn CSDL hướng đối tượng” Nội dung luận văn bao gồm phần mở đầu, kết luận bốn chươ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 đồ mối quan hệ kế thừa phương thức Chương Tìm hiểu Ngôn ngữ truy vấn OQL đại số đối tượng tương ứng chọn làm sở cho nghiên cứu, mở rộng thuật toán tối ưu hoá truy vấn đối tượng công cụ minh hoạ cho thuật toán tối ưu hoá truy vấn đề xuất chương Chương giới thiệu trình bày khái niệm siêu đồ thị kết nối đối tượng Sau sử dụng ký pháp siêu đồ thị để biểu diễn truy vấn OQL Xây dựng giải thuật khởi tạo siêu đồ thị trường hợp truy vấn đối tượng đơn lồng Đưa giải thuật ước lượng siêu cạnh cho trường hợp tách biệt hay liên thông siêu đồ thị hợp thành siêu đồ thị mà biểu diễn cho truy vấn đối tượng lồng Chương cài đăt mô thuật toán chuyển đổi lược đồ đối tượng sang lược đồ quan hệ nhúng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chƣơng 1: CÁC KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG 1.1 Đối tƣợng, lớp định danh đối tƣợng 1.1.1 Đối tƣợng định danh đối tƣợng Khái niệm mô hình hướng đối tượng (HĐT) đối tượng Đối tượng [1], [2] khái niệm, trừu tượng hoá, hay vật có nghĩa toán khảo sát Đó mục mà ta nghiên cứu, thảo luận chúng Đối tượng thực thể hệ thống, CSDL xác định thông qua định danh chúng Thông thường đối tượng mô tả danh từ riêng tham chiếu tới mô tả toán hay thảo luận với người sử dụng Có đối tượng thực thể có giới thực người, vật cụ thể, khái niệm công thức, hay khái niệm trừu tượng, v.v… Có đối tượng bổ sung vào hệ thống với lý phục vụ cho việc cài đặt thực tế Mỗi đối tượng biểu thị ba (oid, class_name, value) Trong oid giá trị thuộc tính định danh OID đối tượng class_name tên lớp chứa đối tượng value giá trị đối tượng 1.1.2 Lớp đối tƣợng Đối tượng thể hiện, đại biểu lớp Lớp mô tả nhóm đối tượng có tính chất (thuộc tính) giống nhau, có chung hành vi ứng xử (thao tác gần nhau) có mối liên quan với đối tượng khác có chung ngữ nghĩa hệ thống Lớp thường xuất dạng danh từ chung tài liệu mô tả toán hay thảo luận với người sử dụng Cũng đối tượng, lớp Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn nhóm thực thể có giới thực, có lớp khái niệm trừu tượng có lớp đưa thiết kế phục vụ cho vài đặt hệ thống vv… Một cách hình thức, ta có số ký hiệu qui ước sau: Alloid: Tập tất định danh đối tượng C: Tập tên lớp A: Tập tên thuộc tính Interger, Real, Boolean, String: Tập kiểu nguyên tố (kiểu sở) có miền trị tương ứng D1, D2, D3, D4 D: Tập giá trị nguyên tố D= D1 D2 D3 D4 0: Tập đối tượng 1.1.3 Giá trị kiểu Các giá trị tập đối tượng (0) định nghĩa sau: Một phần tử thuộc D thuộc Alloid giá trị gọi giá trị nguyên tố Nếu v1, v2, …, giá trị a1, a2, …, an tên thuộc tính, [a1: v1, a2 : v2, …, an : vn] giá trị gọi giá trị Nếu v1, v2,…, giá trị phân biệt {v1, v2, …, vn} giá trị gọi giá trị tập Khái niệm kiểu tập lớp (C) định nghĩa sau: Interger, Real, String, Boolean kiểu gọi kiểu nguyên tố Các lớp C kiểu Nếu T1, T2,…, Tn kiểu a1, a2, , an tên thuộc tính phân biệt C [a1: T1, a2: T2, , an: Tn ] kiểu gọi kiểu Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Nếu T biểu thức kiểu, {T} Set(T) kiểu gọi kiểu tập Formatted: cap2, Left, Line spacing: single, No bullets or numbering 1.1.2 1.1.4 Thuộc tính thao tác phƣơng thức Mỗi thuộc tính thuộc tính đơn trị thuộc tính đa trị Trái với thuộc tính đơn trị, thể thuộc tính đa trị tương ứng với tập giá trị Ví dụ.1.1: Về thuộc tính đơn đa trị Class HoSo Type tuple (mahs: int, hoten: char, thanhpho: char, ngaysinh: tuple(ngay, thang, nam)) Class NhanVien inherits HoSo Type tuple (manv: int, luong: float, thuong: float, tenphong: Phong) Class Phong Type tuple(maphong: int, tenphong: char, diadiem: char) NhanVien lớp kế thừa từ lớp HoSo, có thuộc tính tenphong thuộc tính tham chiếu đối tượng đến lớp Phong, ngaysinh thuộc tính đa trị, thuộc tính lại đơn trị Set (tập hợp): Các phần tử thứ tự, không lặp, không cố định số phần tử List (danh sách): Các phần tử có thứ tự, có lặp, không cố định số phần tử (i) Array (mảng): Các phần tử có thứ tự, có lặp, cố định số phần tử Formatted: Bulleted + Level: + Aligned at: 0.25" + Tab after: 0.5" + Indent at: 0.5" tối đa Một thuộc tính có lớp thuộc tính phức hợp, thuộc tính xây dựng tập thuộc tính khác Việc khai báo thuộc tính phức hợp thực toán tử xây dựng tuple (bộ) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Formatted: Indent: First line: 0.5" Thao tác (operation) hàm hay thủ tục áp dụng (gọi hàm) cho đối tượng lớp Khi nói tới thao tác ngầm định nói tới đối tượng đích để thực thao tác Ví dụ, thao tác (hàm) hienthi() lớp MonHoc gọi để hiển thị sinh viên học môn học cụ thể Lập trình hƣớng đối tƣợng chẳng hạn Một phương thức cách thức cài đặt thao tác lớp Một số thao tác đa xạ, nạp chồng, nghĩa áp dụng cho nhiều lớp khác với nội dung thực khác nhau, tên gọi Ví dụ lớp ThietBi có hàm tinhgia() Hàm nạp chồng (đa xạ) có nhiều phương thức (công thức) tính giá bán khác tuỳ thuộc loại thiết bị Tất phương thức thực nhiệm vụ tinhgia(), cài đặt với nội dung (các đoạn chương trình) khác Hệ thống hướng đối tượng tự động chọn phương thức tương ứng với ngữ cảnh đối tượng để thực Việc khai báo toán tử hay phương thức sử dụng từ khoá operations đối tượng thuộc lớp đối tượng nhằm phản ánh hành vi thực đối tượng thuộc lớp Mỗi phương thức nhằm đặc tả tên phương thức, tham số kèm kiểu liệu chúng, kiểu phương thức phần thân phần chứa mã lệnh phương thức Dưới mẫu đặc tả cho lớp thường xây dựng sau: Class Properties {Các thuộc tính} Operations {Các phương thức} End < class name> Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Các đối tượng đóng gói Có nghĩa cấu trúc bên Formatted: Indent: First line: 0.5" đối tượng che giấu, người dùng biết phương thức thực đối tượng Các thao tác giá trị đối tượng thực thông qua phương thức định nghĩa đối tượng Đây tính đóng gói thông tin mô hình liệu hướng đối tượng Việc đóng gói thông tin độc lập với liệu vật lý Các phương thức gọi thông điệp Một thông điệp lời gọi đến phương thức đó, tham số đích phân biệt có cách xử lý riêng cú pháp 1.2 1.2 Các mối quan hệ lớp Formatted: cap1, Left, Line spacing: single, No bullets or numbering Formatted: cap2, Left, Line spacing: single 1.2.1 Sự phân cấp lớp Các lớp mô hình hướng đối tượng tổ chức theo phân cấp lớp (Class hierarchy) Ta nói lớp C2 tập thuộc tính phương thức tập tập thuộc tính phương thức C2 đồng thời tập đối tượng thuộc C2 tập tập đối tượng thuộc C1 Điều có nghĩa lớp kế thừa tất đặc tính cho phép lớp cha, lớp bổ sung đặc tính khác, bổ sung hàm hay viết để số hàm kế thừa Nguyên tắc tạo thuận lợi việc tái sử dụng thuộc tính phương thức lớp cha bên lớp con, cho phép tạo hệ thống hiệu tin cậy Formatted: cap2, Left, Line spacing: single, No bullets or numbering 1.2.2 1.2.2 Sự kế thừa Trong mô hình hệ thống hướng đối tượng, số hệ thống cho phép lớp có tối đa lớp cha, hệ thống khác cho phép lớp có nhiều lớp cha Một lớp kế thừa thuộc tính phương thức từ lớp cho gọi kế thừa đơn, ngược lại Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn lớp kế thừa thuộc tính phương thức từ nhiều lớp cha gọi kế thừa bội Việc khai báo mối quan hệ kế thừa lớp lớp cha thực cách sử dụng từ khoá inherits kèm tên lớp cha định nghĩa lớp Ví dụ 1.2 Để định nghĩa lớp GiaoVien lớp lớp Nguoi, theo cách này, ta cần khai báo thuộc tính phương thức bổ sung cho lớp GiaoVien Class GiaoVien Inherits: Nguoi Properties Luong: Real ; Tdo_Ngoaingu: Char ; Chunhiem: String ; Giang: String ; Operations ………… End GiaoVien ; Thông thường, hệ thống quy định lớp lớp cho xem lớp lớp Object định nghĩa hệ thống Quan hệ kế thừa tồn số vấn đề sau: Vấn đề thứ tồn xung đột tên lớp lớp cha nó, lớp cha lớp Nếu tên thuộc tính hay phương thức xung đột lớp lớp cha tên dùng lớp ưu tiên trước, tức thuộc tính phương thức lớp cha không kế thừa Đối với trường hợp xung đột Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Formatted: Indent: First line: 0.5" data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read data error !!! can't not read ... tạp xây dựng giao diện lập trình hướng đối tượng Một hướng nghiên cứu quan trọng đề cập hệ thống CSDL hướng đối tượng tối ưu hoá truy vấn hướng đối tượng Với truy vấn tồn nhiều phương án mà hệ thống... CÁC KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG 1.1 Đối tƣợng, lớp định danh đối tƣợng 1.1.1 Đối tƣợng định danh đối tƣợng Khái niệm mô hình hướng đối tượng (HĐT) đối tượng Đối tượng [1],... http://www.lrc-tnu.edu.vn tượng biên dịch truy vấn tương đương từ truy vấn hướng đối tượng sang quy vấn quan hệ Xuất phát từ nhu cầu cấp thiết việc nghiên, mở rộng ngôn ngữ hướng đối tượng, biên dịch truy vấn tối ưu