Vídụ tối ưu hóa các câu hỏi

Một phần của tài liệu Đề cương bài giảng môn cơ sở dữ liệu (Trang 82 - 85)

1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ

8.6.Vídụ tối ưu hóa các câu hỏi

Xét các quan hệ sau TUYEN (TC#, TC, DAI) CAP (MC#, MC, GIA, N#, NSX) L_DAT(TC#, MC#, SL) Trong đó: TC# Mã tuyến cáp MC# Mã cáp TC Tên tuyến cáp MC Tên gọi cáp DAI Độ dài tuyến cáp GIA Đơn giá loại cáp

N# Mã nước sản xuất cáp NSX Tên nước sản xuất cáp SL Số lượng cáp lắp đặt

Ngữ nghĩa củadữ liệu như sau:

Trên một tuyến cáp co nhiều loại cáp khác nhau được lắp đặt. Một loại cáp có thể được lắp đặt trên nhiều tuyến.

Thông tin về tuyến cáp: không tồn tại hai mã tuyến trùng nhau. Không tồn tại mã hai loại cáp trùng nhau.

Ví dụ: hãy liệt kê tất cả các thông tin về các tuyến cáp có độ dài trên 50km và lắp đặt các loại cáp do Việt Nam sản xuất.

TC#, TC, DAI TC#, TC, DAI

DAI>=50,N#=’VNA’

CAP DAI>=50 N#=’VNA’

L_DAT TUYEN TUYEN L_DAT CAP

(a) (b)

Hình 8-4. a)Cây đại số ban đầu chưa tối ưu hóa, b)Cây đại số đã tối ưu hóa

a)Biểu thức đại số quan hệ ban đầu như sau

E =πTC (σNSX=’Việt nam AND (DAI >100)(TUYEN CAP L_DAT ). Kết nối tự nhiên các quan hệ TUYEN, CAP và L_DAT tạo thành một quan hệ trung gian với lực lượng bằng tích của bậc của 3 quan hệ và các thuộc tính là thuộctính của3 quan hệ. Tiếp theo thực hiện phép chọnvới điều kiện chỉ quan tâm đến các lôại cáp do Việt nam sản xuất được lắp đặt trên các tuyến có chiều dài trên 50 Km.

b)Biểu thức tối ưu

E’ = π TC ((σNSX=’Việtnam (CAP) (σDAI >100 (TUYEN) (σNSX=’Việt nam (L_DAT))

Đâylà biểu thức tương đương vớibiểu thứcban đầu. Quan hệ trung gian có kích thước nhỏ hơn cũng như về lực lượng. Thời gian thực hiện nhanh hơn, chi phí bộ nhớ ít hơn. Trước tiên thựchiện phép chọntrên quan hệTUYEN, tạoquan hệtrung gian bao gồmcác bộthỏa chiều dài trên 50 km. Phép chọn trên các quan hệ CAP, tạo ra quan hệ có một bộ duy nhất, nước sản xuất là Việt Nam, và trên quan hệ L_DAT, gồm các bộ thỏa N# =’VNA’. Khi thực hiện phép kết nối các quan hệ trung gian trên, sẽ có quan hệ kích thước nhỏ hơn và lực lượng bé hơn, chi phí thấp hơn.

Ví dụ: Hãy cho biết thông tin về các loại cáp do Việt nam sản xuất được lắp đặt trên các tuyến “T01” (Hà nội- Quảng ninh) và “T02” (Hà nội – Hải phòng) trong các năm 1990 đến1999 có giá trị trên 2 tỷ đồngViêt nam. Giả sửkhung nhìn cần phảitạo có tên là CAP_VN chứa các thông tin vềM# mã cáp, MC tên cáp, GIA giá cáp, T_DAI tổng độ dài và giá trị của cùng loại cáp GTR. Để tạo khung CAP_VN cần kết nối các quan hệ TUYEN, CAP và L_DAT: π S (σF (TUYEN x CAP x L_DAT). Trong đó S là danh sách khung nhìnCAP_VN: S = M#, MC, GIA, T_DAI, GTR. Điều kiện chọn F: F = (T# = “T01” ∨ T# =”T02” ) ∧ (NSX=’Viẹt Nam’ ) ∧ (1990 ≤ NG ≤ 1999 ) ∧ (SUM(DAI*SL*GIA) ≥ 2) ∧ (TUYEN.T#= L_DAT.T# ) ∧

(CAP.M# = L_DAT.M#)) M#,MC,T_DAI,GIA,GTR T#”TO1”∪T#=”TO2” NSX=’Vietnam’ 1990 NG 1999 SUM(DAI*SL*GIA) 2 TUYEN, T# = L_DAT.T# CAP.M# = L_DAT.M# x x CAP TUYEN L_DAT Tách biểu thức chọn F: F1 = {1990≤NG ≤1999} F2= {NSX=’Việt Nam’ } F3= {T# = “T01”∨ T# =”T02” } F4 = { TUYEN.T#= L_DAT.T# } F5 = {CAP.M# =L_DAT.M# } F6 = {SUM(DAI*SL*GIA)≥2}

T1 =πT#,DAI(σF3 (TUYEN )) =πT#,DAI(σT# =“T01”∨ T# =”T02”(TUYEN )) T2 =πT#,M#,SL(σF1(L_DAT)) = πT#,M#,SL(σ1990≤YEAR≤1999(L_DAT)) T3 =πM#,MC,GIA(σF2 (CAP) =πM#,MC,GIA(σNSX=’ViẹtNam’ (CAP)) T4 =σF6((T1 F4 T2) F5 T3 T5 =πM#, MC(T4) . M#, MC, T_DAI, GIA SUM(DAI*SL*GIA) 2 M#, MC, T_DAI, GIA CAP.M# = L_DAT.M#

x

M#, SL, DAI M#, MC, GIA

TUYEN.T# = L_DAT.T# NSX=’Viet nam’

x CAP

T#, DAI T#,M#

T#=’T01’ or T# =’T02’ 1990 NG 1999

TUYEN L_DAT

Hình 8-6 Cây cú pháp tối ưu hóa biểu thức quan hệ

Bài 9: THẢO LUẬN BÀI TẬP VỀ TỐI ƯU HÓA CÂU HỎI TRUY VẤN

Một phần của tài liệu Đề cương bài giảng môn cơ sở dữ liệu (Trang 82 - 85)