
Bài giảng Cơ sở dữ liệu: Bài 8 - ĐH CNTT
lượt xem 10
download

Bài giảng Cơ sở dữ liệu - Bài 8: Tối ưu hóa câu hỏi trình bày về mục đích của tối ưu hóa câu hỏi; các nguyên tắc tổng quát để tối ưu hóa câu hỏi; biểu thức tương đương; tính chất của phép kết và phép tích; nguyên tắc tổng quát; các phép biến đổi tương đương; một số kỹ thuật tối ưu hóa câu hỏi bằng ĐSQH.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu: Bài 8 - ĐH CNTT
- Bài 8: Tối ưu hóa câu hỏi Khoa HTTT - Đại học CNTT 1
- Nội dung 1. Giới thiệu 2. Các nguyên tắc tổng quát để tối ưu hóa câu hỏi 2.1 Biểu thức tương đương 2.1.1 Định nghĩa 2.1.2 Tính chất của phép kết và phép tích 2.2 Nguyên tắc tổng quát 2.3 Các phép biến đổi tương đương 3. Một số kỹ thuật tối ưu hóa câu hỏi bằng ĐSQH 3.1 Kỹ thuật (dãy phép chọn, phép chiếu, hoán vị …) 3.2 Thuật giải tối ưu hoá câu hỏi trong Khoa HTTT - Đại học CNTT 2
- 1. Giới thiệu (1) Mục đích: Giảm thời gian xử lý câu hỏi, giảm khối lượng dữ liệu trung gian. Kết hợp giữa các phép tích, phép kết với phép chọn với phép chiếu. Ví dụ: ((Q1 Q2 ) : A a0 )[C ] ((Q1 : A a 0 ) Q2 )[C ] Khoa HTTT - Đại học CNTT 3
- 1. Giới thiệu (2) Ký hiệu: Q Q Q X AB D R Q=R[S] R R S Q=R:D A B Q=R S Khoa HTTT - Đại học CNTT 4
- 1. Giới thiệu (3) Ví dụ C C A A=a0 A=a0 Q2 A Q1 Q1 Q2 (( Q1 Q 2 ) : A a 0 )[ C ] ((Q1 : A a 0 ) Q2 )[C ] Khoa HTTT - Đại học CNTT 5
- 2.1 Tính tương đương (1) 2.1.1 Định nghĩa: hai biểu thức A, B là tương đương nếu có cùng một tình trạng CSDL thì đều cho một kết quả. 2.1.2 Tính chất của phép kết và phép tích Phép kết Giao hoán Q1 Q 2 Q 2 Q1 Kết hợp Q1 (Q 2 Q 3 ) (Q1 Q 2 ) Q 3 Phép tích dk dk Giao hoán: Q 1 Q 2 Q 2 Q 1 dk 1 dk 2 dk 1 dk 2 Kết hợp: Q 1 ( Q 2 Q 3 ) ( Q 1 Q 2 ) Q 3 Khoa HTTT - Đại học CNTT 6
- 2.1 Tính tương đương (2) 2.1.3 Các phép biến đổi tương đương B 1. Q1 ( A, B) Q2 ( B, C ) (Q1 Q2 : Q1[ B] Q2 [ B]) BD 2. Q1 ( A, B) Q2 (C , D) (Q1 Q2 : BD) 3. Q1 Q2 ((Q1 ) (Q2 )) 4. Q( X 1 ,..., X n ) (Q[ X 1 ] Q[ X 2 ] ... Q[ X n ]) Q( X 1 ,..., X n ) 5. Q1 ( A, B) Q2 ( A, B) Q1[ B] ((Q1 [ B] Q2 [ A] Q1 ( A, B))[B] Khoa HTTT - Đại học CNTT 7
- 2.2 Nguyên tắc tổng quát 1. Thực hiện phép chiếu, phép chọn càng sớm càng tốt 2. Gom các phép chọn và chiếu cùng quan hệ để thực hiện cùng lúc 3. Biến phép tích thành phép kết tự nhiên hay theta kết 4. Tìm các biểu thức con chung trong một biểu thức 5. Tiền xử lý các quan hệ: lập chỉ mục 6. Đánh giá trước khi thực hiên tính toán Khoa HTTT - Đại học CNTT 8
- 3.1 Các kỹ thuật tối ưu (1) 1. Dãy các phép chọn 2. Dãy các phép chiếu 3. Hoán vị giữa phép chiếu và phép chọn 4. Hoán vị giữa phép chọn và phép tích 5. Hoán vị giữa phép hợp và phép chọn 6. Hoán vị giữa phép chọn và phép trừ 7. Hoán vị giữa phép chiếu và phép hội 8. Hoán vị giữa phép chiếu và phép tích Khoa HTTT - Đại học CNTT 9
- 3.1 Các kỹ thuật tối ưu (2) 1. Dãy các phép chọn ((( Q : dk 1) : dk 2)... : dkn ) Q : dk 1 dk 2 ...dkn 2. Dãy phép chiếu (Q[Y ])[ Z ] Q[ Z ] , Z Y Ví dụ: Cho Q ( A, B , C , D ) (Q[ A, C , D ])[ AD ] Q[ AD ] Khoa HTTT - Đại học CNTT 10
- 3.1 Các kỹ thuật tối ưu (3) 3. Hoán vị giữa phép chiếu và phép chọn Nếu X Y (Q : dk ( X ))[Y ] (Q[Y ]) : dk ( X ) Nếu X Y (Q : dk ( X ))[Y ] (Q[ X Y ]) : dk ( X ) Khoa HTTT - Đại học CNTT 11
- 3.1 Các kỹ thuật tối ưu (4) 4. Hoán vị giữa phép chọn và phép tích: Điều kiện dk xác lập trên các thuộc tính của X ( Q 1 ( X )) : dk ( X ) Q 2 (Y ) ( Q 1 ( X ) Q 2 ( Y )) : dk Nếu dk dk1 dk 2 , dk1 xác lập trên các thuộc tính của X, dk2 xác lập trên các thuộc tính của Y. (( Q1 ( X ) Q 2 (Y )) : dk 1( X ) dk 2 (Y ) (( Q1 ( X ) : dk 1) ( Q 2 (Y ) : dk 2 ) Nếu dk1 xác lập trên các thuộc tính của X và dk2 xác lập trên các thuộc tính của XY (( Q 1 ( X ) Q 2 (Y )) : dk 1( X ) dk 2 ( X Y ) (( Q 1 ( X ) : dk 1) ( Q 2 (Y )) : dk 2 ( X Y )) Khoa HTTT - Đại học CNTT 12
- 3.1 Các kỹ thuật tối ưu (5) 5. Hoán vị giữa phép hội và phép chọn (Q1 Q2 ) : dk (Q1 : dk ) (Q2 : dk ) 6. Hoán vị giữa phép chọn và phép trừ (Q1 Q2 ) : dk (Q1 : dk ) (Q2 : dk ) 7. Hoán vị giữa phép chiếu và phép hội (Q1 Q2 )[ Z ] (Q1[ Z ]) (Q2 [ Z ]) 8. Hoán vị giữa phép chiếu và phép tích (Q1 ( X ) Q2 (Y ))[Z ] (Q1[Y Z ]) (Q2[Y Z ]) , Z X Y Khoa HTTT - Đại học CNTT 13
- 3.2 Thuật toán Bước 1: Áp dụng các phép biển đổi tương đương Bước 2: Áp dụng (1) Bước 3: Đối với các phép chọn áp dụng (3), (4), (5), (6) nhằm đưa phép chọn càng sâu càng tốt Bước 4: Đối với các phép chiếu áp dụng (2), (3), (7), (8) nhằm đưa phép chiếu càng sâu càng tốt Bước 5: Tập trung các phép chọn để áp dụng (1) Kết hợp phép tích và phép chọn để chuyển thành phép kết Khoa HTTT - Đại học CNTT 14

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p |
701 |
80
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p |
226 |
31
-
Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 7 Tạo và quản lý người dùng - CĐ CNTT Hữu nghị Việt Hàn
19 p |
206 |
23
-
Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 1 - CĐ CNTT Hữu nghị Việt Hàn
27 p |
295 |
23
-
Bài giảng Cơ sở dữ liệu: Chương 3 - Ths. Lê Ngọc Lãm
18 p |
167 |
22
-
Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 2 - CĐ CNTT Hữu nghị Việt Hàn
46 p |
187 |
20
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p |
269 |
18
-
Bài giảng Cơ sở dữ liệu Web và XML: Chương 2 - GV. Hồ Văn Phi
43 p |
119 |
15
-
Bài giảng Cơ sở dữ liệu: Chương 5 - Ths. Lê Ngọc Lãm
58 p |
126 |
14
-
Bài giảng Cơ sở dữ liệu - Bài 3: Ngôn ngữ SQL
37 p |
167 |
12
-
Bài giảng Cơ sở dữ liệu - Bài 4: Phụ thuộc hàm
54 p |
207 |
12
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p |
195 |
12
-
Bài giảng Cơ sở dữ liệu: Chương 1 - ThS. Hoàng Mạnh Hà
26 p |
238 |
10
-
Bài giảng Cơ sở dữ liệu: Chương II - Bảng dữ liệu
108 p |
144 |
8
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Ths. Lê Ngọc Lãm
19 p |
129 |
7
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p |
145 |
4
-
Bài giảng Cơ sở dữ liệu - Bài 1: Tổng quan
40 p |
155 |
4
-
Bài giảng Cơ sở dữ liệu (Database) - Chương 1: Các khái niệm cơ bản về hệ cơ sở dữ liệu
34 p |
114 |
3


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
