1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Tối ưu hóa truy vấn đối với cơ sở dữ liệu hướng đối tượng

27 304 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 471,93 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một trong những hướng nghiên cứu quan trọng được đề cập trong hệ thống CSDL hướng đối tượng là tối ưu hoá truy vấn hướng đối tượng.. Chương 1 trình bày kiến thức nền tảng của mô hình dữ

Trang 1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 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

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên - 2010

Trang 2

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 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

Trang 3

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

1

LỜI NÓI ĐẦU

Hiện nay công nghệ thông tin đã trở thành lĩnh vực không thể thiếu được cho cuộc sống của con người Từ khi ra đời công nghệ thông tin đã không ngừng phát triển, nó từng bước thể hiện vai trong các ngành nghề: Y tế, quân

sự, giáo dục, văn hoá … Cơ sở dữ liệu là một lĩnh vực quan trọng của Công nghệ thông tin

Việc tìm kiếm và xây dựng các phần mềm ứng dụng phục vụ nhu cầu của

xã hội các nhà chuyên môn luôn hướng tới mục đích đáp ứng được các bài toán phức tạp như CSDL cho WebCSDL multimedia, CSDL phân tán… đồng thời tốc độ xử lý phải nhanh và chính xác Xuất phát từ nhu cầu đó, các nhà nghiên cứu không ngừng tìm tòi, cải tiến và đưa ra mô hình dữ liệu với khả năng ứng dụng cho các đối tượng phức, khả năng mở rộng kế thừa Mô hình CSDL hướng đối tượng, với cách tiếp cận mới là giải pháp tốt cho các CSDL ứng dụng phức tạp đó

Trong những năm gần đây, việc phát triển các ngôn ngữ CSDL trên các

hệ thống CSDL hướng đối tượng được xem là một hướng nghiên cứu quan trọng Các ngôn ngữ CSDL được 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 này tạo điều kiện cho các hệ thống tăng khả năng tính toán phức tạp và xây dựng giao diện lập trình hướng đối tượng Một trong những hướng nghiên cứu quan trọng được đề cập trong hệ thống CSDL hướng đối tượng là tối ưu hoá truy vấn hướng đối tượng Với một truy vấn sẽ tồn tại nhiều phương án mà hệ thống CSDL cho phép xử lý và đưa ra kết quả theo yêu cầu Việc tối ưu hoá truy vấn sẽ cho chúng ta lựa chọn phương án nào có tổng thời gian thực hiện truy vấn hiệu quả nhất Hiện nay

đã có rất nhiều các kết quả nghiên cứu về phát triển ngôn ngữ hướng đối

Trang 4

tượng và 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 của việc nghiên, mở rộng ngôn ngữ hướng đối tượng, biên dịch truy vấn và tối ưu hoá truy vấn quan hệ cùng các kết quả nghiên cứu của nhiều tác giả Đoàn Văn Ban, Hoàng Bảo Hùng, Lê Mạnh Thạnh… tôi đã chọn đề tài luận văn: “Tối ưu hoá truy vấn đối với CSDL hướng đối tượng” Nội dung luận văn bao gồm phần mở đầu, kết luận và bốn chương

Chương 1 trình bày kiến thức nền tảng của mô hình dữ liệu hướng đối tượng như định danh đối tượng, kiểu, lớp, lược đồ mối quan hệ kế thừa phương thức

Chương 2 Tìm hiểu Ngôn ngữ truy vấn OQL và đại số đối tượng tương ứng

được chọn làm cơ sở cho những nghiên cứu, mở rộng các thuật toán tối ưu hoá truy vấn đối tượng và là công cụ minh hoạ cho các thuật toán tối ưu hoá truy vấn được đề xuất trong chương 3

Chương 3 giới thiệu và 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ị trong các trường hợp truy vấn đối tượng đơn và lồng Đưa ra giải thuật ước lượng siêu cạnh cho các trường hợp tách biệt hay liên thông của các siêu đồ thị con hợp thành siêu đồ thị mà biểu diễn cho một truy vấn đối tượng lồng

Chương 4 cài đăt mô phỏng thuật toán chuyển đổi lược đồ đối tượng sang lược đồ quan hệ nhúng

Trang 5

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

3

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 và định danh đối tượng

1.1.1 Đối tượng và định danh đối tượng

Khái niệm cơ bản nhất của mô hình hướng đối tượng (HĐT) là đối tượng Đối tượng [1], [2] là một khái niệm, một sự trừu tượng hoá, hay một

sự vật có nghĩa trong bài toán đang khảo sát Đó chính là các mục mà ta đang nghiên cứu, đang thảo luận về chúng Đối tượng là thực thể của hệ thống, của CSDL và được xác định thông qua định danh của chúng Thông thường các đối tượng được mô tả bởi các danh từ riêng hoặc được tham chiếu tới trong các mô tả của bài toán hay trong các thảo luận với người sử dụng Có những đối tượng là những thực thể có trong thế giới thực như người, sự vật cụ thể, hoặc là những khái niệm như một công thức, hay khái niệm trừu tượng, v.v…

Có những đối tượng được bổ sung vào hệ thống với lý do phục vụ cho việc cài đặt và có thể không có trong thực tế

Mỗi đối tượng có thể được biểu thị bởi bộ ba (oid, class_name, value) Trong đó oid là giá trị thuộc tính định danh OID của đối tượng class_name là tên lớp chứa đối tượng này và value là giá trị của đối tượng đó

1.1.2 Lớp đối tượng

Đối tượng là một thể hiện, một đại biểu của một lớp Lớp là một mô tả

về một nhóm các đối tượng có những tính chất (thuộc tính) giống nhau, có chung các hành vi ứng xử (thao tác gần như nhau) có cùng mối liên quan với các đối tượng khác và có chung ngữ nghĩa trong hệ thống Lớp thường xuất hiện dưới dạng những danh từ chung trong các tài liệu mô tả bài toán hay trong các thảo luận với người sử dụng Cũng như các đối tượng, lớp có thể là

Trang 6

những nhóm thực thể có trong thế giới thực, cũng có những lớp là khái niệm trừu tượng và có những lớp được đưa trong thiết kế phục vụ cho vài đặt hệ thống vv…

Một cách hình thức, ta có một số ký hiệu được qui ước như sau:

Alloid: Tập tất cả các định danh đối tượng

Các giá trị trên tập các đối tượng (0) được định nghĩa như sau:

 Một phần tử thuộc D hoặc thuộc Alloid là một giá trị được gọi là giá trị nguyên tố

 Nếu v1, v2, …, vn là các giá trị và a1, a2, …, an là các tên thuộc tính, thì [a1: v1, a2 : v2, …, an : vn] là một giá trị được gọi là giá trị bộ

 Nếu v1, v2,…, vn là các giá trị phân biệt thì {v1, v2, …, vn} là một giá trị được gọi là giá trị tập

Khái niệm về kiểu trên tập các lớp (C) cũng được định nghĩa như sau:

 Interger, Real, String, Boolean là các kiểu gọi là kiểu nguyên tố

 Các lớp trong C cũng là các kiểu

 Nếu T1, T2,…, Tn là các kiểu và a1, a2, , an là các tên thuộc tính phân biệt của C thì [a1: T1, a2: T2, , an: Tn ] cũng là một kiểu còn gọi là kiểu

bộ

Trang 7

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

5

gọi là kiểu tập

1.1.2. 1.1.4 Thuộc tính thao tác và phương thức

Mỗi thuộc tính có thể là thuộc tính đơn trị hoặc thuộc tính đa trị Trái

với thuộc tính đơn trị, một thể hiện của thuộc tính đa trị là tương ứng với một

tập các giá trị

Ví dụ.1.1: Về thuộc tính đơn và đ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à lớp được kế thừa từ lớp HoSo, có thuộc tính tenphong là

thuộc tính tham chiếu đối tượng đến lớp Phong, ngaysinh là thuộc tính đa trị,

các thuộc tính còn lại là đơn trị

Một thuộc tính có trong một lớp còn có thể là thuộc tính phức hợp, là

thuộc tính được xây dựng là tập các thuộc tính khác Việc khai báo một thuộc

tính phức hợp được thực hiện bằng toán tử xây dựng tuple (bộ)

Formatted: cap2, Left, Line spacing: single,

No bullets or numbering

Formatted: Bulleted + Level: 1 + Aligned at:

0.25" + Tab after: 0.5" + Indent at: 0.5"

Formatted: Indent: First line: 0.5"

Trang 8

Thao tác (operation) là một hàm hay thủ tục có thể áp dụng (gọi hàm) cho hoặc bởi các đối tượng trong một lớp Khi nói tới một thao tác là ngầm định nói tới một đối tượng đích để thực hiện thao tác đó Ví dụ, thao tác (hàm)

hienthi() của lớp MonHoc khi gọi để hiển thị về các sinh viên học một môn học cụ thể như Lập trình hướng đối tượng chẳng hạn

Một phương thức là một cách thức cài đặt của một thao tác trong một lớp

Một số thao tác có thể là đa xạ, được nạp chồng, nghĩa là nó có thể áp dụng cho nhiều lớp khác nhau với những nội dung thực hiện có thể khác

nhau, nhưng cùng tên gọi Ví dụ lớp ThietBi có hàm tinhgia() Hàm này có

thể nạp chồng (đa xạ) bởi vì có nhiều phương thức (công thức) tính giá bán khác nhau tuỳ thuộc từng loại thiết bị Tất cả các phương thức này đều thực hiện một nhiệm vụ tinhgia(), nhưng được cài đặt với nội dung (các đoạn chương trình) khác nhau Hệ thống hướng đối tượng tự động chọn phương thức tương ứng với ngữ cảnh của đối tượng để thực hiện

Việc khai báo các toán tử hay các phương thức sử dụng từ khoá operations của mỗi đối tượng thuộc một lớp đối tượng nhằm phản ánh các hành vi được thực hiện trên mỗi đối tượng thuộc lớp đó Mỗi phương thức nhằm đặc tả tên của phương thức, các tham số kèm kiểu dữ liệu của chúng, kiểu của phương thức và phần thân là phần chứa mã lệnh của phương thức Dưới đây là mẫu đặc tả cho một lớp thường được xây dựng như sau: Class <class name>

Trang 9

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

7

Các đối tượng đều được đóng gói Có nghĩa là cấu trúc bên trong của

đối tượng được che giấu, người dùng chỉ có thể biết được các phương thức

thực hiện của đối tượng đó Các thao tác trên các giá trị của một đối tượng chỉ

được thực hiện thông qua các phương thức được định nghĩa trên đối tượng đó

Đây chính là tính đóng gói thông tin trong mô hình dữ liệu hướng đối tượng

Việc đóng gói thông tin độc lập với dữ liệu vật lý

Các phương thức được gọi bởi các thông điệp Một thông điệp về cơ

bản chỉ là một lời gọi đến một phương thức nào đó, trong đó tham số đích

được phân biệt và có cách xử lý riêng về cú pháp

1.2. 1.2 Các mối quan hệ giữa các lớp

1.2.1 Sự phân cấp lớp

Các lớp trong mô hình hướng đối tượng có thể được tổ chức theo một

phân cấp lớp (Class hierarchy) Ta nói lớp C2 nếu tập các thuộc tính và

thời tập các đối tượng thuộc C2 là tập con của tập các đối tượng thuộc C1

Điều đó có nghĩa rằng một lớp con sẽ kế thừa tất cả các đặc tính cho phép của

lớp cha, ngoài ra các lớp con còn có thể bổ sung các đặc tính khác, bổ sung

các hàm hay viết để một số hàm được kế thừa Nguyên tắc này tạo thuận lợi

trong việc tái sử dụng các thuộc tính và các phương thức của lớp cha bên

trong các lớp con, cho phép tạo ra một hệ thống hiệu quả và tin cậy hơn

1.2.2. 1.2.2 Sự kế thừa

Trong các mô hình hệ thống hướng đối tượng, một số hệ thống chỉ cho

phép một lớp con có tối đa một lớp cha, trong khi các hệ thống khác cho phép

một lớp con có thể có nhiều lớp cha Một lớp con kế thừa các thuộc tính và

các phương thức từ chỉ một lớp cho được gọi là kế thừa đơn, ngược lại một

Formatted: Indent: First line: 0.5"

Formatted: cap1, Left, Line spacing: single,

No bullets or numbering

Formatted: cap2, Left, Line spacing: single

Formatted: cap2, Left, Line spacing: single,

No bullets or numbering

Trang 10

lớp con kế thừa các thuộc tính và phương thức từ nhiều hơn một lớp cha được

gọi là kế thừa bội

Việc khai báo một mối quan hệ kế thừa giữa một lớp con và một lớp

cha được thực hiện bằng cách sử dụng từ khoá inherits kèm tên lớp cha khi

định nghĩa lớp con đó

Ví dụ 1.2

Để định nghĩa lớp GiaoVien là lớp con của lớp Nguoi, theo cách này, ta

chỉ cần khai báo các thuộc tính và các phương thức được bổ sung cho lớp

Thông thường, các hệ thống quy định nếu một lớp không có lớp cho thì

sẽ được xem như là lớp con của lớp Object được định nghĩa bởi hệ thống

Quan hệ kế thừa tồn tại một số vấn đề sau:

cha của nó, và giữa các lớp cha của một lớp Nếu tên của một thuộc

tính hay một phương thức xung đột giữa một lớp con và lớp cha của nó

thì tên dùng trong lớp con được ưu tiên trước, tức thuộc tính và phương

thức đó của lớp cha không được kế thừa Đối với trường hợp xung đột

Formatted: Indent: First line: 0.5"

Trang 11

data error !!! can't not

read

Trang 12

data error !!! can't not

read

Trang 13

data error !!! can't not

read

Trang 14

data error !!! can't not

read

Trang 15

data error !!! can't not

read

Trang 17

data error !!! can't not

read

Trang 18

data error !!! can't not

read

Trang 19

data error !!! can't not

read

Trang 20

data error !!! can't not

read

Trang 21

data error !!! can't not

read

Trang 22

data error !!! can't not

read

data error !!! can't not

Trang 23

data error !!! can't not

read

data error !!! can't not

read

Trang 24

data error !!! can't not

read

data error !!! can't not

Trang 26

read

Trang 27

data error !!! can't not

read

Ngày đăng: 15/04/2017, 10:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w