Kết luận chƣơng 3

Một phần của tài liệu tối ưu hóa truy vấn đối với cơ sở dữ liệu hướng đối tượng (Trang 49 - 60)

Chúng ta tập trung nghiên cứu phương pháp biểu diễn câu truy vấn lồng trong CSDL hướng đối tượng (với ngôn ngữ truy vấn OQL) bằng siêu đồ thị kết nối và mở rộng giải thuật ước lượng các siêu cạnh trong việc rút gọn siêu

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

đồ thị nhằm xác định lớp kết quả các công việc mà một truy vấn được tối ưu phải thực hiện.

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

Chƣơng 4: CHƢƠNG TRÌNH MÔ PHỎNG

Chương trình được viết trên ngôn ngữ lập trình C#. Dựa trên những hỗ trợ về đối tượng của ngôn ngữ như các lớp, các thuộc tính phức, các hàm, các đối tượng, sự kế thừa. Các thao tác trong chương trình cũng như các truy vấn được xây dựng trên cơ sở các phép toán về đối tượng: Khởi tạo siêu đồ thị không lồng; khởi tạo siêu đồ thị lồng; kiểm tra siêu đồ thị là duy nhất (chỉ có duy nhất siêu cạnh đối tượng); Kiểm tra siêu đồ thị có tách biệt (các siêu cạnh tạo nên siêu đồ thị không giao nhau); Kiểm tra siêu cạnh là siêu cạnh hay không? Nếu là siêu cạnh điều kiện thì thiết lập phép toán ưu tiên chọn siêu cạnh điều kiện nào trước để loại. Ngược lại, là siêu cạnh đối tượng thì thiết lập phép toán ưu tiên chọn siêu cạnh đối tượng. Và thuật toán tinh chỉnh chương trình sẽ làm cho số các bước thực hiện giảm và tối ưu hơn.

Đầu vào của chương trình là các xâu dữ liệu có được từ khối SFW. Siêu đồ thị được xây dựng dựa trên các lớp, các thuộc tính và các biểu thức mà các thuộc tính tham gia. Từ mệnh đề Select ta thiết lập R tập đỉnh của siêu đồ thị. Mệnh đề From xác định các lớp trong lược đồ dữ liệu của siêu đồ thị. Từ mệnh đề Where chúng ta có được mối quan hệ giữa các lớp tham gia trong siêu đồ thị.

Đầu ra của chương trình là danh sách các bước thực hiện tham chiếu của câu truy vấn. Tổng chi phí cho các phép nối, tích Đề các, phép giao, phép chiếu, chọn là kết quả chúng ta cần tối ưu.

Chương trình được chia làm hai phần để xác định sự tối ưu khi sử dụng Thuật toán 3.4 rút gọn siêu đồ thị:

1. Sử dụng thuật toán 3.3 ước lượng siêu cạnh của siêu đồ thị. 2. Sử dụng thuật toán rút gọn.

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

KẾT LUẬN

CSDL hướng đối tượng là lĩnh vực còn khả mới mẻ với việc nghiên cứu ban đầu trong một thời gian ngắn, mặc dù đã có nhiều kết quả của các tác giả về việc xây dựng mô hình chuẩn của mô hình CSDL hướng đối tượng và các dạng chuẩn của lược đồ CSDL hướng đối tượng. Nhưng với tính phức tạp về cấu trúc phi tuyến của mô hình CSDL hướng đối tượng, việc đặc tả các đối tượng phức, dẫn đến việc kết quả nghiên cứu các kỹ thuật tối ưu hóa truy vấn đối tượng còn khá khiêm tốn. Vì vậy, trong phạm vi của luận văn, chúng ta chỉ nghiên cứu về mô hình tổng quát của CSDL hướng đối tượng, ngôn ngữ truy vấn đối tượng OQL và kỹ thuật tối ưu hóa truy vấn đối tượng trên CSDL hướng đối tượng. Các kết quả chính của luận văn đạt được là:

-Giới thiệu mô hình CSDL hướng đối tượng, ngôn ngữ truy vấn đối tượng OQL và đại số đối tượng.

-Nghiên cứu siêu đồ thị kết nối đối tượng, sử dụng ký pháp siêu đồ thị, mở rộng thuật toán rút gọn siêu đồ thị kết nối.

-Cài đặt thuật toán rút gọn siêu đồ thị cho trường hợp các truy vấn lồng.

Hƣớng phát triển của luận văn

- Sử dụng mô hình ước lượng chi phí của truy vấn để xác định phương án thực thi tối ưu truy vấn.

- Nghiên cứu các kỹ thuật tối ưu hóa truy vấn đối tượng bằng ước lượng chi phí của các biểu thức đường dẫn.

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

TÀI LIỆU THAM KHẢO

[1] Đoàn Văn Ban, Giáo trình cơ sở dữ liệu hướng đối tượng, Hà Nội, 2005. [2] Đoàn Văn Ban, Phân tích thiết kế và lập trình hướng đối tượng, NXB Thống kê, 1997

[3] Đoàn Văn Ban (1999), “Một số tính chất của quá trình thừa kế kiểu trong

mô hình cơ sở dữ liệu hướng đối tượng”, Tạp chí Tin học và điều khiển học,

15(3).

[4] Hoàng Bảo Hùng (2007), Truy vấn và tối ưu hoá truy vấn trong cơ sở dữ

liệu hướng đối tượng, Luận án Tiến sĩ Toán học, Viện Công nghệ Thông Tin, Viện Khoa học và Công nghệ Việt Nam, Hà Nội.

[5] Hoàng Bảo Hùng (2001), Mộtvài vấn đề tối ưu hóa truy vấn trong cơ sở

dữ liệu hướng đối tượng, Luận văn tốt nghiệp Thạc sĩ chuyên ngành Công nghệ thông tin, Đại học Bách khoa Hà Nội.

[6] Hoàng Quang (2004), Về một cách tiếp cận trong việc chuyển đổi mô hình

quan hệ sang mô hình hướng đối tượng, Luận văn Tiến sĩ, Viện công nghệ thông tin, Viện Khoa học và Công nghệ Việt Nam, Hà nội, tr.44.

[7] 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, tr. 568-5792006

[8] Lê Mạnh Thạnh, Hoàng Bảo Hùng, “Một phương pháp chuyển đổi dư liệu từ cơ sở dữ liệu quan hệ sang cơ sở dữ liệu hướng đối tượng”, Tạp chí khoa học(11), Đại học Huế, tr.35-44, 2002.

[9] Lê Mạnh Thạnh, Hoàng Bảo Hùng, “Ngôn ngữ truy vấn đố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ố hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 TinHà Nội, tr. 175-1852001.

[10] Ullman, Jeffrey D. (1999), Nguyên lý các hệ cơ sở dữ liệu và cơ sở tri thức, Tập 1, 2, Trần Đức Quang biên dịch, Nhà xuất bản Thống kê .

[11] Fong J. and Chitson P.“Query Translation from SQL to OQL for Database Reengineering”, International Journal of Information Technology3(1)pp. 83-1011997.

[12] Fong J.“Converting Relational to Object – Oriented Databases”, SIGMOD Record26(1), pp. 53-641997.

[13] Francois Bancilhon, Guy Ferran (2007), ODMG-93: “The Object

Database Standard, O2 Technology”, 2685 Marine Way – Suite 1220,

Mountain View, California 94043.

[14] Cattel R.G.G, Barry D.K. (2000), The Object Database Standard: ODMG 3.0, Morrgan Kaufmann Publishers.

[15] Han, Jia Liang (1998), “Optimizing Relational Queries in Connection Hypergraph: Nested Queries, Views, and Binding Propagations”, The VLDB Journal, 7, pp.1-11.

[16] Bierman G.M. and Trigoni A. (2000), Towards A Formal Type System For ODMG OQL. Technical Report 497, University of Cambridge,

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

MỤC LỤC

LỜI NÓI ĐẦU ... 1

Chƣơng 1: CÁC KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG ... 3

1.1. Đối tƣợng, lớp và định danh đối tƣợng ... 3

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

1.1.2. Lớp đối tượng ...3

1.1.3. Giá trị và kiểu ...4

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

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

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

1.2.2. Sự kế thừa ...7

1.3. Kết luận ... 10

Chƣơng 2: NGÔN NGỮ TRUY VẤN OQL VÀ ĐẠI SỐ ĐỐI TƢỢNG ... 11

2.1. Ngôn ngữ truy vấn OQL ... 11

2.1.1. Khái niệm... 11

2.1.2. Kiểu và lược đồ suy dẫn trong ngôn ngữ truy vấn OQL ... 12

2.1.3. Thuộc tính và lượng từ ... 13

2.1.4. Biến tham chiếu ... 15

2.1.5. Phương thức tham chiếu ... 15

2.2. Đại số đối tƣợng ... 15

2.2.1. Phép toán đối tượng ... 16

2.2.2. Phép toán bộ... 16

2.2.3. Phép toán tập hợp ... 16

2.2.4. Phép toán trên kiểu “túi” ... 17

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

2.3. Kết luận ... 18

Chƣơng 3: TỐI ƢU HOÁ TRUY VẤN TRONG CƠ SỞ DỮ LIỆU HƢỚNG ĐỐI TƢỢNG ... 19

3.1. Giới thiệu ... 19

3.1.1. Siêu đồ thị kết nối đối tượng ... 20

3.1.2. Ví dụ ... 21

3.2. Tối ƣu hoá truy vấn hƣớng đối tƣợng bằng siêu đồ thị kết nối ... 22

3.2.1. Siêu đồ thị kết nối [7], [6], [15] ... 22

3.2.2. Phương pháp ước lượng các truy vấn lồng bằng siêu đồ thị ... 32

3.3. Kết luận chƣơng 3 ... 47

Chƣơng 4: CHƢƠNG TRÌNH MÔ PHỎNG ... 49

KẾT LUẬN ... 50

TÀI LIỆU THAM KHẢO ... 51

MỤC LỤC ... i

DANH MỤC CÁC BẢNG ... iii

DANH MỤC CÁC HÌNH VẼ ... iv

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

DANH MỤC CÁC BẢNG

Bảng 3.1. Kết quả ƣớc lƣợng siêu cạnh của ví dụ 3.4 ... 36

Bảng 3.2. Kết quả ƣớc lƣợng khi áp dụng thuật toán 3.4 của ví dụ 3.4 ... 45

Bảng 3.3. Kết quả ƣớc lƣợng siêu cạnh của ví dụ 3.5 ... 45

Bảng 3.4. kết quả ƣớc lƣợng khi áp dụng thuật toán 3.4 của ví dụ 3.5 ... 46

Bảng 3.5. Kết quả ƣớc lƣợng siêu cạnh của ví dụ 3.6 ... 46

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

Hình 2.1. Sự phân cấp các kiểu trong CSDL ... 12

Hình 3.1. Siêu đồ thị H ... 20

Hình 3.2. Siêu đồ thị kết nối đối tƣợng của ví dụ 3.1... 22

Hình 3.3. Siêu đồ thị kết nối của ví dụ 3.3 ... 28

Hình 3.4. Siêu đồ thị kết nối của ví dụ 3.4 ... 29

Hình 3.5. Siêu đồ thị kết nối của ví dụ 3.5 ... 30

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

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Các ký hiệu

E Siêu cạnh

Oid OID của đối tượng

O (Object) Đối tượng

V (Value) Giá trị

D Tập đối tượng

H (HyperGraph) Siêu đồ thị

P (power) Lực lượng

Mid (Method Identify) Định danh phương thức

Odb (object database) Cơ sở dữ liệu hướng đối tượng

Attrs (Attributes) Tập thuộc tính

R Tập thuộc tính trong mệnh đề

Select

Các chữ viết tắt

CSDL (Database) Cơ sở dữ liệu

OID (Object Identifier) Định danh đối tượng

OODB (Object Oriented Database) Cơ sở dữ liệu hướng đối tượng

OQL (Object Query Language) Ngôn ngữ truy vấn

SQL (Structured Query Language) Ngôn ngữ truy vấn quan hệ

TID (Tuple Indentifier) Định danh bộ

UML (Unified Modeling Language) Ngôn ngữ mô hình hợp nhất

B (Boolean) Kiểu Boolean

F (float) Kiểu Float

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

s (String) Kiểu String

OO (Object Orented) Hướng đối tượng

SFW (Select…From…Where) Khối lệnh trọng tâm của ngôn

ngữ truy vấn đối tượng OQL

ODMG (Object Database Managemnet Group) Nhóm quản trị CSDL đối

tượng, tổ chức đề xuất mô hình ODMG (ver 3.0) và ngôn ngữ OQL

Một phần của tài liệu tối ưu hóa truy vấn đối với cơ sở dữ liệu hướng đối tượng (Trang 49 - 60)