Professional Documents
Culture Documents
Trường ðại học Sư phạm thành phố Hồ Chí Minh Mục tiêu
Khoa Công ngh
thông tin
CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ● Hiểu quy trình thực hiện các câu truy vấn
● Xây dựng những câu truy vấn một cách hiệu quả
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 2
[1] Ramez Elmasri, Shamkant B. Navathe, 1. Quy trình thực hiện câu truy vấn của DBMS
Fundamentals of Database Systems (ch. 15), 4th
Edition, 2003. 2. Tiền xử lý câu truy vấn
[2] Jeffrey D. Ullman, Jennifer Widom, Hector Garcia- 3. Chuyển ñổi câu truy vấn
Monlina, Database Systems: The complete Book (ch. 15,
ch. 16), 2001.
4. Tối ưu hóa câu truy vấn
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 3 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 4
1
10/9/2010
1. Quy trình thực hiện câu truy vấn 1. Quy trình thực hiện câu truy vấn (tt.)
Câu truy vấn biểu diễn bằng ngôn ngữ cấp cao Kết quả Preprocessor
Runtime Database
Preprocessor Processor
Scanning: xác ñịnh các từ khóa, tên thuộc tính, tên các quan hệ,…
Hình thức trung gian của truy vấn (tree, graph) Code
Parsing: kiểm tra cú pháp ngôn ngữ, biểu diễn Parse Tree
Query Code
Query Optimizer
Generator
Validating: kiểm tra ngữ nghĩa: quan hệ, thuộc tính, kiểu dữ liệu
Cách thực hiện
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 5 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 6
1. Quy trình thực hiện câu truy vấn (tt.) 1. Quy trình thực hiện câu truy vấn (tt.)
SQL query
Query Optimizer
lựa chọn cách thực hiện phù hợp cho việc xử lý câu truy vấn
Parse Query
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 7 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 8
2
10/9/2010
Parse Query
2. Tiền xử lý câu truy vấn
Query expression tree
Execute plan
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 9 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 10
2. Tiền xử lý câu truy vấn (tt.) 2. Tiền xử lý câu truy vấn (tt.)
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 11 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 12
3
10/9/2010
<Query>
Nội dung
<SFW>
<Attribute>
<Tuple> 2. Tiền xử lý câu truy vấn
<Relation> <Query>
<Attribute>
mada THAMGIA
manv
IN 3. Chuyển ñổi câu truy vấn
<SFW>
3.1 Chuyển ñổi từ SQL sang ðSQH
SELECT <Select List> FROM <FromList> WHERE <Condition>
3.2 Các quy tắc biến ñổi tương ñương trong ðSQH
<Attribute> <Relation> <Attribute> > <Pattern>
4. Tối ưu hóa câu truy vấn
manv NHANVIEN luong 2.000.000
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 13 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 14
3.1 Chuyển ñổi từ SQL sang ðSQH 3.1 Chuyển ñổi từ SQL sang ðSQH (tt.)
SQL query
Parse Query
WHERE-GROUP BY-HAVING dùng ñể chuyển sang ðSQH
Query expression tree
Select logical query plan ● Truy vấn lồng: tách thành khối lệnh ghép thành các
Query Logical query plan tree khối truy vấn ñơn vị (query blocks)
Optimizer
Select physical plan
Execute plan
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 15 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 16
4
10/9/2010
πhonv, tennv (σluong>C(NHANVIEN)) τMAX luong (σmaphong=5 (NHANVIEN)) 4. Tối ưu hóa câu truy vấn
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 17 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 18
3.2 Các quy tắc biến ñổi – QT 1 3.2 Các quy tắc biến ñổi – QT 2
QT1: Xử lý các toán tử AND trong ñiều kiện QT2: Thay ñổi thứ tự của các phép chọn
σ maphong = ‘KT’ AND phai = ‘NAM’ (NHANVIEN) σ maphong = ‘KT’(σ phai = ‘NAM’ (NHANVIEN))
≡ ≡
σ maphong = ‘KT’( σ phai = ‘NAM’ (NHANVIEN)) σ phai = ‘NAM’(σ maphong = ‘KT’ (NHANVIEN))
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 19 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 20
5
10/9/2010
3.2 Các quy tắc biến ñổi – QT 3 3.2 Các quy tắc biến ñổi – QT 4
QT3: Xử lý các phép chiếu QT4: Thay ñổi thứ tự các phép chọn và phép chiếu
π < DS1> (π < DS 2> (...π < DSn> (R ))...) ≡ π < DS1> (R ) π A1, A 2 ,..., An (σ c (R )) ≡ σ c (π A1, A 2 ,..., An (R ))
Nu nh c ⊂ [A1…An]
NHANVIEN (manv, honv, tennv, ngaysinh, phai, luong, maphong) NHANVIEN (manv, honv, tennv, ngaysinh, phai, luong, maphong)
π manv, honv, tennv (π manv, honv, tennv, ngaysinh (NHANVIEN)) π manv, honv, tennv, phai (σ phai = ‘NAM’ (NHANVIEN))
≡ ≡
π manv, honv, tennv (NHANVIEN) σ phai= ‘NAM’ (π manv, honv, tennv, phai (NHANVIEN))
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 21 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 22
3.2 Các quy tắc biến ñổi – QT 5 3.2 Các quy tắc biến ñổi – QT 6a
≡ NV.maphong= PB.maphong
≡
(PHONGBAN NHANVIEN)
NV.maphong= PB.maphong (σphai = ‘NAM’ (NHANVIEN)) PHONGBAN
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 23 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 24
6
10/9/2010
3.2 Các quy tắc biến ñổi – QT 6b 3.2 Các quy tắc biến ñổi – QT 7a
QT6b: Phân phối giữa phép chọn và phép kết QT7a: Phân phối giữa phép chiếu và phép kết
σ phai= ‘NAM’ AND tenphong= ‘Kế toán’ (NHANVIEN PHONGBAN) π manv,tennv,maphong,tenphong (NHANVIEN PHONGBAN)
≡ ≡ NV.maphong=PB.maphong
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 25 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 26
3.2 Các quy tắc biến ñổi – QT 7b 3.2 Các quy tắc biến ñổi – QT 8
QT7b: Phân phối giữa phép chiếu và phép kết QT8: Giao hoán của phép hội và phép giao
∏ L (R CS) ≡ (∏A , A , A ,...A
1 2 3 N , A N +1A N+ 2 ...A N +K
( R )) C (∏B ,B
1 2 , B 3 ,...B M B M+1B M+ 2 ...B M+ P
( S ))
≡ NV.maphong=PB.maphong
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 27 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 28
7
10/9/2010
3.2 Các quy tắc biến ñổi – QT 9 3.2 Các quy tắc biến ñổi – QT 10
QT9: Kết hợp giữa phép kết, tích Descartes, hội và giao QT 10: Phân phối của phép chọn ñối với các phép toán
( R θ S) θ T = R θ (S θ T) σ c (R θ S) = (σ c (R))θ (σ c (S))
Nếu θ là 1 trong các phép toán ∩, ∪, ─
Trong ñó θ là 1 trong các phép toán , X, ∩, ∪
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 29 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 30
3.2 Các quy tắc biến ñổi – QT 11 3.2 Các quy tắc biến ñổi – QT 12
QT 11: Phân phối của phép chiếu ñối với các phép toán ● QT 12: Chuyển các phép (σ, ×) thành phép kết
∏ L (R θ S) = (∏ L (R)) θ (∏ L (S)) σc (R x S) = R c S
Nếu θ là 1 trong các phép toán ∩, ∪, ─ ● Luật De Morgan
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 31 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 32
8
10/9/2010
1. Áp dụng QT 1, tách các phép chọn liên kết thành 1 dãy các phép chọn.
1. Quy trình thực hiện câu truy vấn của DBMS
2. Áp dụng QT 2,4,6 và 10, ñể ñẩy phép chọn xuống càng sâu càng tốt
2. Tiền xử lý câu truy vấn 3. Áp dụng QT 9 ñể tái tổ chức cây cú pháp sao cho phép chọn ñược thực
hiện có lợi nhất (chọn ít nhất)heuristic
3. Chuyển ñổi câu truy vấn 4. Phối hợp tích Decartes với phép chọn thích hợp theo sauphép kết
5. Áp dụng QT 3, 4, 7 và 11 ñể ñẩy phép chiếu xuống càng sâu càng tốt
4. Tối ưu hóa câu truy vấn (có thể phát sinh phép chiếu mới)
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 33 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 34
4.1 Giải thuật heuristic (tt.) 4.1 Giải thuật heuristic (tt.)
Liệt kê họ tên NHANVIEN sinh sau năm 1960 và làm dự án ‘ABC’ ∏honv, tennv( σmada = ‘ABC’ ∧ ngaysinh > ’31-12-1960’ ∧ NV.manv=TG.manv ∧ DA.mada=TG.mada
(NHANVIEN x DEAN x THAMGIA))
Ngôn ngữ SQL
NV.manv=TG.manv
x
Ngôn ngữ ðSQH
9
10/9/2010
4.1 Giải thuật heuristic (tt.) 4.1 Giải thuật heuristic (tt.)
Quy tắc 2, 4, 6, 10
∏ honv, tennv
∏ honv, tennv
Quy tắc 3
σ DA.maDA=TG.mada
σ NV.manv=TG.manv
x x
σ NV.manv=TG.manv σ mada = ‘ABC’ σ DA.maDA=TG.mada σ ngaysinh > ’31-12-1960’
x DEAN x NHANVIEN
NHANVIEN DEAN
ðưa phép chọn xuống sâu các nhánh (2) Hoán vị phép chọn (3)
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 37 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 38
4.1 Giải thuật heuristic (tt.) 4.1 Giải thuật heuristic (tt.)
NV.manv=TG.manv
NV.manv=TG.manv
DA.maDA=TG.mada
σ ngaysinh > ’31-12-1960’
DA.maDA=TG.mada
σ
∏ ∏
ngaysinh > ’31-12-1960’
σ NHANVIEN
mada
mada,manv NHANVIEN
DEAN
mada = ‘ABC’
THAMGIA
Thay thế các phép tích Descartes và phép chọn bằng phép kết (4)
DEAN
ðẩy phép chiếu xuống dưới (5)
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 39 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 40
10
10/9/2010
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 41 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 42
4.2 Ước lượng chi phí 4.2 Ước lượng chi phí (tt.)
SQL query ● So sánh chi phí giữa những cách thực hiện câu truy vấn:
chọn cách có chi phí thấp nhất
Parse Query
Chi phí lưu trữ thứ cấp
Query expression tree CSDL lớn
Select logical query plan Chi phí lưu trữ Hệ CSDL khác nhau
Execute plan
Chi phí truyền thông CSDL phân tán
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 43 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 44
11
10/9/2010
•Các tham số về kích thước file Số mẩu tin của bảng (tuples): T(R) 1. Quy trình thực hiện câu truy vấn của DBMS
NHANVIEN Kích thước 1 mẩu tin: S(R)
Tổng số block chứa tất cả các bộ: b 2. Tiền xử lý câu truy vấn
manv tenv phai hsl
Số mẩu tin của 1 block: bfr
NV01 An Nam 1.5 3. Chuyển ñổi câu truy vấn
Số giá trị khác nhau của thuộc tính A
NV02 Bình Nam 1.5
(kích thước của miền giá trị): V(R,A) 4. Tối ưu hóa câu truy vấn
NV03 Dung Nữ 3
NV04 Duyên Nữ 2.5 T(NV)=4 records 4.1 Giải thuật Heuristic
S(NV)= 20+50+10+8=88 bytes
T(NV)* S(NV)= 352 bytes
4.2 Ước lượng chi phí
manv: char (20)
tennv: nvarchar (50) G/s 1 block =1024 bytes b=1 4.2.1 Hàm chi phí cho Select
phai: nvarchar (10) V(NV,manv)=4;V(NV,tenv)=4;
hsl (hệ số lương): double V(NV,phai)=2; V(NV,hsl)=3 4.2.2 Hàm chi phí cho Join
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 45 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 46
4.2.1 Hàm chi phí cho Select 4.2.1 Hàm chi phí cho Select
Cách 1
Cách 2
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 47 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 48
12
10/9/2010
4.2.1 Hàm chi phí cho Select 4.2.1 Hàm chi phí cho Select (tt.)
[Elmasri+2003]
● Ví dụ
Cho R (A, B, C), tính chi phí S= σA=10 ∧ B<20 (R)
Hàm tính chi phí cho Select theo phương pháp tìm kiếm Pi: Si
Với T(R)=10.000; V(R,A) = 50
Chi phí truy cập block tính theo hàm Si: CSi
Ta có:
Lưu ý: hàm tính chi phí chỉ dựa trên số block chuyển từ memory ñến ñĩa
(chưa ñề cập thời gian tính toán, chi phí lưu trữ và các yếu tố khác)
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 49 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 50
4.2.1 Hàm chi phí cho Select (tt.) 4.2.1 Hàm chi phí cho Select (tt.)
● S1. Tìm kiếm tuyến tính ● S1. Tìm kiếm tuyến tính (tt.)
– Duyệt từng mẩu tin, và kiểm tra giá trị thuộc tính của – ðối với thuộc tính không khóa
mẩu tin ñó có thỏa mãn ñiều kiện chọn (không nhất CS1a = b
thiết là ñiều kiện =) hay không
– ðộ phức tạp: O(n) – ðối với ñiều kiện =, thuộc tính khóa
CS1b = (b/2)
o ñặc biệt, nếu không tìm thấy mẩu tin nào CS1b = b
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 51 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 52
13
10/9/2010
4.2.1 Hàm chi phí cho Select (tt.) 4.2.1 Hàm chi phí cho Select (tt.)
● S2. Tìm kiếm nhị phân ● S2. Tìm kiếm nhị phân (tt.)
– Nếu ñiều kiện chọn (=) trên thuộc tính có sắp xếp thứ CS2 = log2b + [(s/bfr)] – 1
tự thì việc tìm kiếm nhị phân hiệu quả hơn tìm kiếm s: số mẩu tin thỏa mãn ñiều kiện = trên thuộc tính Ak
tuyến tính
– ðộ phức tạp: O(log2n) – ðặc biệt ñối với ñiều kiện = trên thuộc tính khóa (hay
UNIQUE)
CS2 =log2b
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 53 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 54
4.2.1 Hàm chi phí cho Select (tt.) 4.2.1 Hàm chi phí cho Select (tt.)
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 55 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 56
14
10/9/2010
1. Quy trình thực hiện câu truy vấn của DBMS [Ullman,+ 2001]
2. Tiền xử lý câu truy vấn R1 (A, B, C); R2 (A, D)
4.2.2 Hàm chi phí cho Join (tt.) 4.2.2 Hàm chi phí cho Join (tt.)
● Số lượng giá trị của thuộc tính không tham gia phép kết V(R1, B) = 100 V(R2, C) = 200 V(R3, D) = 500
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 59 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 60
15
10/9/2010
4.2.2 Hàm chi phí cho Join (tt.) 4.2.2 Hàm chi phí cho Join (tt.)
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 61 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 62
4.2.2 Hàm chi phí cho Join (tt.) 4.2.2 Hàm chi phí cho Join (tt.)
● R.A=S.B
Lưu ý: hàm tính chi phí chỉ dựa trên số block chuyển từ memory ñến ñĩa – Nếu A là khóa của R thì | (R C S) | <= |S|, js<= 1/|R|
(chưa ñề cập thời gian tính toán, chi phí lưu trữ và các yếu tố khác)
– Nếu B là khóa của S thì | (R C S) | <= |R|, js<= 1/|S|
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 63 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 64
16
10/9/2010
4.2.2 Hàm chi phí cho Join (tt.) 4.2.2 Hàm chi phí cho Join (tt.)
● J1. Phép kết lồng nhau ● Ví dụ: Tính chi phí cho phép kết sau
– Giả sử R là vòng lặp ngoài
Truy vấn: NHANVIEN NV.maphong=PB.maphong PHONGBAN
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 65 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 66
● Ta có js = 1/|PHONGBAN| = 1/125
Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 67 Ts. Nguyễn An Tế - Nguyễn Tiến Dũng - Nguyễn Thúy Ngọc [HQTCSDL-Bài 4: Tổ chức khai thác] 68
17