Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
728,78 KB
Nội dung
Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Nội dung Biểu thức đại số quan hệ Cây toán tử truy vấn Các phép biến đổi tương đương Tiêu chuẩn Đồ thị toán tử biểu thức chung Biểu thức chuẩn tắc Đại số quan hệ định tính Tiêu chuẩn Đơn giản hóa quan hệ phân mảnh ngang Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Nội dung Đơn giản hóa phép kết quan hệ phân mảnh ngang Tiêu chuẩn Sử dụng phép suy diễn cho phép đơn giản hóa Đơn giản hóa phép kết quan hệ phân mảnh dọc Chương trình nửa kết Phép gom nhóm Tiêu chuẩn Tính chất hàm kết hợp Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Nội dung Đơn giản hóa truy vấn có tham số Sử dụng vùng nhớ tạm để thực truy vấn có tham số Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Biểu thức đại số quan hệ Biến đổi truy vấn SQL thành biểu thức đại số quan hệ Một biểu thức đại số quan hệ (expression of relational algebra): chuỗi phép tốn (sequence of operations) Hai biểu thức có ngữ nghĩa mơ tả hai chuỗi phép toán khác Π name, deptnum σ deptnum = 15 (emp) σ deptnum = 15 Π name, deptnum (emp) Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Cây toán tử truy vấn Một truy vấn biểu diễn tốn tử (operator tree) Ví dụ Truy vấn Q1 – Hãy cho biết mã nhà cung cấp có đơn hàng cung cấp phía Bắc Q1: Π snum σ area = ‘NORTH’ (supply >< deptnum = deptnum dept) Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Cây toán tử truy vấn Π snum σ area = ‘NORTH’ >< deptnum = deptnum supply dept Hình 5.1 Cây tốn tử truy vấn Q1 Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Các phép biến đổi tương đương Hai quan hệ R1 R2 tương đương chúng biểu diễn ánh xạ từ tên thuộc tính vào giá trị, thứ tự thuộc tính khác Hai biểu thức đại số quan hệ E1 E2 tương đương, ký hiệu E1 ↔ E2 E1 ≡ E2 thay quan hệ cho tên giống hai biểu thức, chúng có kết tương đương Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Các phép biến đổi tương đương Các tính chất Tính giao hốn (commutativity) phép tốn ngơi: U1 U2 R ↔ U2 U1 R Tính giao hốn tốn hạng phép tốn hai ngơi: RBS ↔ SBR Tính kết hợp (associativity) phép tốn hai ngơi: R B (S B T) ↔ (R B S) B T Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Các phép biến đổi tương đương Các tính chất Tính lũy đẳng (idempotence) phép tốn ngơi: U R ↔ U1 U2 R U, U1, U2 thuộc loại phép tốn Tính phân phối (distributivity) phép tốn ngơi phép tốn hai ngơi: U (R B S) → U(R) B U(S) Tính rút thừa số (factorization) phép tốn ngôi: U(R) B U(S) → U(R B S) Một số phép biến đổi tương đương Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 10 Phép gom nhóm Phép gom nhóm ΨG,AF R quan hệ có: Lược đồ quan hệ tạo thuộc tính G hàm kết hợp AF Nhiều mà nhóm R Các thuộc tính G lấy giá trị nhóm Các thuộc tính AF lấy giá trị hàm kết hợp định trị nhóm Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 32 Phép gom nhóm Ví dụ Q6: select AVG(quan) from supply where pnum = ‘P1’; Ψ AVG(quan) σ pnum = ‘P1’ supply Q7: select snum, pnum, SUM(quan) from supply group by snum, pnum; Ψ snum, pnum, SUM(quan) supply Q8: select snum, pnum, SUM(quan) from supply group by snum, pnum having SUM(quan) > 300; σ SUM(quan) > 300 Ψ snum, pnum, SUM(quan) supply Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 33 Tính chất phép gom nhóm Tính phân phối phép gom nhóm phép hợp: ΨG,AF (R1 ∪ R2) → (ΨG,AF R1) ∪ (ΨG,AF R2) Điều kiện cần đủ: nhóm Gi chứa khơng giao với tốn hạng Rj ∀i, j : (Gi ⊆ Rj) (Gi ∩ Rj = ∅) Mỗi nhóm phải chứa hồn tồn mảnh Thực phép gom nhóm tốn hạng phép hợp sau hợp kết Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 34 Tiêu chuẩn Mục đích: tập hợp kết (nhỏ) phép gom nhóm thay tập hợp quan hệ toàn cục (lớn) Tiêu chuẩn - Để phân tán việc gom nhóm định trị hàm kết hợp xuất truy vấn toàn cục, phép hợp (biểu diễn việc tập hợp mảnh) phải đẩy lên phía phép gom nhóm tương ứng Chương Biến đổi truy vấn tồn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 35 Tiêu chuẩn ∪ σ SUM(quan) > 300 Ψsnum,pnum,SUM(quan) σ SUM(quan) > 300 ∪ supply1 supply2 Ψsnum,pnum,SUM(quan) supply1 (a) Dạng chuẩn tắc truy vấn Q8 σSUM(quan) > 300 Ψsnum,pnum,SUM(quan) supply2 (b) Bản phân tán truy vấn Q8 Hình 5.10 Một truy vấn với việc gom nhóm hàm kết hợp Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 36 Tính chất hàm kết hợp Hàm tìm giá trị nhỏ MIN(S) = MIN(MIN(S1),MIN(S2), …,MIN(Sn)) Hàm tìm giá trị lớn MAX(S) = MAX(MAX(S1),MAX(S2), …,MAX(Sn)) Hàm đếm COUNT(S)=SUM(COUNT(S1),COUNT(S2),…,COUNT(Sn)) Hàm tính giá trị tổng cộng SUM(S) = SUM(SUM(S1), SUM(S2), …, SUM(Sn)) Hàm tính giá trị trung bình SUM(SUM(S1),SUM(S2),…,SUM(Sn)) AVG(S) = -SUM(COUNT(S1),COUNT(S2),…,COUNT(Sn)) Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 37 Tính chất hàm kết hợp ΨAVG(quan) σ pnum = ‘P1’ ∪ supply1 supply2 Hình 5.11 (a) Định trị phân tán hàm kết hợp Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 38 Tính chất hàm kết hợp E:AVG(quan) = SUM(S1, S2) SUM(C1, C2) S1,C1:ΨSUM(quan),COUNT S2,C2:ΨSUM(quan),COUNT σ pnum = ‘P1’ σ pnum = ‘P1’ supply1 supply2 Hình 5.11 (b) Định trị phân tán hàm kết hợp Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 39 Truy vấn có tham số Truy vấn có tham số (parametric query) truy vấn mà công thức điều kiện chọn truy vấn bao gồm tham số mà giá trị chúng chưa biết biên dịch truy vấn Truy vấn có tham số cho phép thực truy vấn nhiều lần với nhiều giá trị khác tham số; lần thực trả kết khác Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 40 Đơn giản hóa truy vấn có tham số Ví dụ Xét truy vấn Q9 - Chọn quan hệ tồn cục dept có mã phòng ban cho trước Phép chọn deptnum có tham số: Q9: σ deptnum = $X OR deptnum = $Y dept Ở thời gian biên dịch: mảnh quan hệ toàn cục dept sử dụng Ở thời gian chạy: giá trị thực gán cho tham số $X $Y xác định mảnh có liên quan đến truy vấn Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 41 Đơn giản hóa truy vấn có tham số σ deptnum=$X OR deptnum=$Y ∪ [dept1: [dept2: [dept3: deptnum ≤ 10] 10 < deptnum ≤ 20] deptnum > 20] Hình 5.12 (a) Dạng chuẩn tắc truy vấn Q9 Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 42 Đơn giản hóa truy vấn có tham số Đơn giản hóa truy vấn có tham số: áp dụng đại số quan hệ định tính để xác định vị từ định tính biểu thức mâu thuẫn với Biểu diễn phép đơn giản hóa thời gian chạy: Thay phép hợp phép tốn n−ngơi, gọi CUT Phép toán CUT thực phép hợp số tốn hạng Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 43 Đơn giản hóa truy vấn có tham số CUT $X ≤ 10 $X > 20 OR $Y ≤ 10 OR $Y > 20 ($X > 10 AND $X ≤ 20) OR ($Y > 10 AND $Y ≤ 20) σdeptnum=$X OR deptnum=$Y σdeptnum=$X OR deptnum=$Y [dept1: deptnum ≤ 10] [dept2: 10 < deptnum ≤ 20] σdeptnum=$X OR deptnum=$Y [dept3: deptnum > 20] Hình 5.12 (b) Cây truy vấn với phép CUT Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 44 Sử dụng vùng nhớ tạm thực nhiều lần truy vấn có tham số Giảm chi phí thực hiện: sử dụng quan hệ tạm thời nơi gốc truy vấn Ví dụ Xét truy vấn Q10 - Hãy cho biết tên nhân viên làm việc phòng ban 12 mà có mã sếp $X (tham số truy vấn): Q10: Π name σ mgrnum = $X AND deptnum = 12 emp Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 45 Sử dụng vùng nhớ tạm thực nhiều lần truy vấn có tham số Π name Π name σ mgrnum = $X σ mgrnum = $X Π name, mgrnum T σ deptnum = 12 emp2: 10 < deptnum ≤ 20 T ≡ Π name, mgrnum σ deptnum = 12 emp2: 10 < deptnum ≤ 20 Hình 5.13 Sử dụng quan hệ tạm thời cho truy vấn có tham số Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 46 ... 5. 8 (a) Dạng chuẩn tắc truy vấn Q5 Π name, sal [emp4: true] Hình 5. 8 (b) Truy vấn Q5 đơn giản hóa Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT 28 Chương. .. tắc truy vấn Q8 σSUM(quan) > 300 Ψsnum,pnum,SUM(quan) supply2 (b) Bản phân tán truy vấn Q8 Hình 5. 10 Một truy vấn với việc gom nhóm hàm kết hợp Chương Biến đổi truy vấn toàn cục thành truy vấn. .. tử truy vấn Π snum σ area = ‘NORTH’ >< deptnum = deptnum supply dept Hình 5. 1 Cây toán tử truy vấn Q1 Chương Biến đổi truy vấn toàn cục thành truy vấn mảnh 2006 Nguyễn Trung Trực - Khoa CNTT Các