SlideShare una empresa de Scribd logo
1 de 74
CHƯƠNG 4:  XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN NỘI DUNG 4.1 Giới thiệu về xử lý truy vấn   4.2 Xử lý truy vấn trong môi trường tập trung 4.3 Xử lý truy vấn trong môi trường phân tán  4.4 Tối ưu hoá truy vấn trong CSDL phân tán MỤC ĐÍCH ,[object Object],[object Object]
4.1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN  ,[object Object],[object Object],[object Object],[object Object],[object Object]
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TèI ¦U ho¸ truy vÊn   Trong m«i tr­êng tËp trung Câu  truy vấn KiÓm tra ng÷ ph¸p KiÓm tra sù hîp lÖ DÞch truy vÊn Truy vÊn ®óng ng÷ ph¸p Truy vÊn SQL hîp lÖ Truy vÊn ®¹i sè quan hÖ Tèi ­u ho¸ ®¹i sè quan hÖ Truy vÊn ®¹i sè quan hÖ ®· tèi ­u Chän chiÕn l­îc tèi ­u T¹o sinh m· KÕ ho¹ch thùc hiÖn M· cña truy vÊn Sơ đồ chung
Tèi ưu ho¸ truy vÊn     Trong m«i tr­êng  phân tán   Lược đồ tổng thể Truy vấn mảnh được tối ưu với các phép toán truyền thông Tối ưu hoá cục bộ Các truy vấn cục bộ đã tối ưu Sơ đồ phân lớp chung cho xử lý truy vấn phân tán Các trạm địa phương Câu truy vấn phân tán Phân rã truy vấn Truy vấn đại số trên các quan hệ phân tán Định vị dữ liệu Truy vấn mảnh Tối ưu hoá toàn cục Trạm điều khiển Lược đồ phân mảnh Các thống kê trên các mảnh Lược đồ  địa phương
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG ,[object Object],[object Object],[object Object],[object Object]
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG OVQP tối ưu hoá việc truy xuất đến một quan hệ bằng cách dựa trên vị từ phương pháp truy xuất hữu hiệu nhất đến quan hệ đó Trước tiên OVQP sẽ thực hiện các phép toán đơn ngôi và giảm thiểu kích thước của các kết quả trung gian bằng các  tách  (detachment) và  thay thế  (substitution)  Kí hiệu  q i-1  q i  để chỉ câu truy vấn  q  được phân rã thành hai câu truy vấn con  q i-1 và  q i , trong đó  q i-1  được thực hiện trước và kết quả sẽ được  q i  sử dụng.
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Phép tách : OVQP sử dụng để tách câu truy vấn q thành các truy vấn  q’  q”  dựa trên một quan hệ chung là kết quả của  q’ .  Nếu câu truy vấn q được biểu diễn bằng SQL có dạng: q :  SELECT  R 2 .A 2 , R 3 .A 3 ,. . ., R n .A n FROM  R 1 , R 2 ,. . . , R n WHERE  P 1 (R 1 .A’ 1 )   AND  P 2 (R 1 .A 1 , R 2 .A 2 , . . . , R n .A n ) Trong đó: A 1  và A’ 1  là các thuộc tính của quan hệ R 1 ,  P 1  là vị từ có chứa các thuộc tính của các quan hệ R 1 , R 2 , . . ., R n . Một câu truy vấn như thế có thể phân rã thành hai câu truy vấn con, q’ theo sau là q” qua  phép tách  dựa trên quan hệ chung R 1  như sau: q’ :  SELECT  R 1 A 1   INTO  R’ 1   FROM R 1   WHERE  P 1 (R 1 .A 1 ) Trong đó  R’ 1  là một quan hệ tạm thời  chứa các thông tin cần thiết để thực hiện tiếp tục câu truy vấn:  q” : SELECT  R 2 A 2 ,. . ., R n A n   FROM  R’ 1 , R 2 ,. . . , R n   WHERE  P 1 (R 1 .A 1 , R 2 .A 2 ,. . ., R n .A n )
Ví dụ minh họa: xét CSDL của một công ty máy tính  NHANVIEN (E)  HOSO (G) DUAN (J) TLUONG (S) Phân tích HT Lập trình viên Phân tích HT Phân tích HT Lập trình viên Kỹ sư điện Phân tích HT Thiết kế DL Nam Trung Đông Bắc Tây Hùng Dũng Chiến A1 A2 A3 A4 A5 A6 A7 A8 CHUCVU TENNV MANV 12 34 6 12 10 6 20 36 48 15 Quản lý  Phân tích  Phân tích  Kỹ thuật  Lập trình  Quản lý  Quản lý  Kỹ thuật  Quản lý  Lập trình  D1 D1 D2 D3 D4 D2 D2 D4 D3 D3 A1 A2 A2 A3 A3 A4 A5 A6 A7 A8 THOIGIAN NHIEMVU MADA MANV 20000 12000 28000 25000 CSDL CÀI ĐẶT BẢO TRÌ PHÁT TRIỂN D1 D2 D3 D4 NGANSACH TENDA MADA 1000 2500 3000 4000 Kỹ sư điện Phân tích HT Lập trình viên Thiết kế DL LUONG CHUCVU
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Để minh hoạ kỹ thuật tách chúng ta sử dụng CSDL trên cho câu truy vấn sau :“ Cho biết tên của các nhân viên đang làm việc trong dự án có tên CSDL ”  Câu truy vấn này (q 1 ) được diễn tả bằng SQL: q 1 :  SELECT   NHANVIEN.TENNV  FROM   NHANVIEN, HOSO, DUAN  WHERE   NHANVIEN.MANV = HOSO.MANV AND   HOSO.MADA = DUAN.MADA AND   TENDA = “CSDL” Câu truy vấn q 1  được tách thành q 11  q’, trong đó TGIAN1 là quan hệ trung gian. q 11 :  SELECT   DUAN.MADA  INTO   TGIAN1 FROM   DUAN  WHERE TENDA = “CSDL” q’:  SELECT   NHANVIEN.TENNV  FROM NHANVIEN, HOSO, TGIAN1  WHERE   NHANVIEN.MANV = HOSO.MANV AND   HOSO.MADA =TGIAN1.MADA
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Các bước tách tiếp theo cho q’ có thể tạo ra: q 12 : SELECT   HOSO.MANV  INTO  TGIAN2 FROM   HOSO, TGIAN1  WHERE HOSO.MADA =TGIAN1.MADA q 13 : SELECT NHANVIEN.TENNV  FROM   NHANVIEN, TGIAN2  WHERE NHANVIEN.MANV = TGIAN2.MANV Truy vấn  q 1   đã được rút gọn thành chuỗi truy vấn  q 11  q 12  q 13 . Truy vấn  q 11   là loại đơn quan hệ và có thể cho thực hiện bởi OVQP. Tuy nhiên các truy vấn  q 12  và  q 13   không phải loại đơn quan hệ và cũng không thể rút gọn hơn nữa bằng phép tách. Các câu truy vấn đa quan hệ không thể tách tiếp được nữa (chẳng hạn q 12  và q 13 ) được gọi là  bất khả giản  (irreducible).
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Các truy vấn bất khả giản được biến đổi thành câu truy vấn đơn quan hệ nhờ  phép thế bộ  (tuple substitution).  Cho câu truy vấn n-quan hệ q, các bộ của một biến được thay bằng các giá trị của chúng, tạo ra được một tập các truy vấn (n-1) biến.  Phép thế bộ được tiến hành như sau: Trước tiên chọn một quan hệ trong truy vấn q để thay thế. Gọi R 1  là quan hệ đó. Thế thì với mỗi bộ t 1i  trong R 1 , các thuộc tính được tham chiếu trong q được thay bằng các giá trị thật sự trong t 1i , tạo ra một câu truy vấn q’ có (n-1) quan hệ. Vì vậy số câu truy vấn q’ được sinh ra bởi phép thế bộ là card(R 1 ).  Phép thế bộ có thể tóm tắt như sau: q(R 1 , R 2 , . . . , R n ) được thay bởi {q’(t 1i , R 2 , R 3 , . . . , R n ), t 1i   R 1 } Vì thế đối với mỗi bộ thu được, câu truy vấn con được xử lý đệ quy bằng phép thế nếu nó chưa bất khả giản.
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Ví dụ minh họa: Xét tiếp câu truy vấn q 13   q 13 :  SELECT NHANVIEN.TENNV  FROM NHANVIEN, TGIAN2  WHERE NHANVIEN.MANV = TGIAN2.MANV Quan hệ được định nghĩa bởi biến TGIAN2 chạy trên thuộc tính duy nhất MANV. Giả sử rằng nó chỉ chứa hai bộ: <E1> và <E2>. Phép thế cho TGIAN2 tạo ra hai câu truy vấn con đơn quan hệ: q 131 :  SELECT   NHANVIEN.TENNV  FROM   NHANVIEN WHERE NHANVIEN.MANV = “E1” q 132 :  SELECT   NHANVIEN.TENNV  FROM NHANVIEN  WHERE NHANVIEN.MANV = “E2” Sau đó chúng có thể được OVQP quản lý và sử dụng.
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Thuật toán  INGRES- QOA Input :  MRQ: câu truy vấn đa quan hệ (có n quan hệ) Output :  Câu truy vấn tối ưu Begin Output     If   n=1  then Output    run(MRQ)  {thực hiện câu truy vấn một quan hệ} Else  {Tách MRQ thành m tr.vấn một quan hệ và một tr.vấn đa quan hệ} ORQ 1 , ..., ORQ m , MRQ’   MRQ For  i  1  to  m  Output’    run(ORQ i )    {thực hiện ORQ i  } Output    output    output’ {trộn tất cả các kết quả lại} Endfor R    CHOOSE_ VARIABLE(MRQ’) {R được chọn cho phép thế bộ}  For  mỗi bộ t    R    MRQ”    thay giá trị cho t trong MRQ’ Output’    INGRES-QOA(MRQ”)  {gọi đệ qui} Output    output    output’ {trộn tất cả các kết quả lại} Endfor  Endif End . {INGRES-­­­­QOA}
4.3 Xử lý truy vấn trong môi trường phân tán  Lược đồ tổng thể Truy vấn mảnh được tối ưu với các phép toán truyền thông Tối ưu hoá cục bộ Các truy vấn cục bộ đã tối ưu Sơ đồ phân lớp chung cho xử lý truy vấn phân tán Các trạm địa phương Câu truy vấn phân tán Phân rã truy vấn Truy vấn đại số trên các quan hệ phân tán Định vị dữ liệu Truy vấn mảnh Tối ưu hoá toàn cục Trạm điều khiển Lược đồ phân mảnh Các thống kê trên các mảnh Lược đồ  địa phương
4.3 Tối ưu hóa trong CSDL phân tán  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán 4.3.1.1 Chuẩn hoá Mục đích:  chuyển đổi truy vấn thành một dạng chuẩn để thuận  lợi cho các xử lý tiếp theo.  Với SQL, có hai dạng chuẩn cho các tân từ trong mệnh đề WHERE là: Dạng chuẩn hội   là hội (  ) của những phép toán tuyển (  ):  (p 11   p 12   ...    p 1n )    ...    (p m1   p m2   ...    p mn )  Dạng chuẩn tuyển  là tuyển (  ) của những phép toán hội (  ):  (p 11     p 12    ...    p 1n )     ...    (p m1     p m2     ...   p mn ), trong đó p ij  là các biểu thức nguyên tố.
4.3 Xử lý truy vấn trong môi trường phân tán Các quy tắc biến đổi tương đương trên các phép toán logic: 1. p 1     p 2     p 2     p 1   2.  p 1     p 2     p 2     p 1   3.    (   p)    p  4. (p 1     p 2 )       p 1        p 2    5. p 1     (p 2     p 3 )    (p 1     p 2 )    (p 1     p 3 ).  6. p 1     (p 2     p 3 )    (p 1     p 2 )     p 3  7. p 1     (p 2     p 3 )    (p 1    p 2 )     p 3   8. p 1     (p 2     p 3 )    (p 1     p 2 )    (p 1    p 3 )  9. (p 1     p 2 )       p 1        p 2
4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ : Từ các quan hệ NHANVIEN (MANV, TENNV, CHUCVU) và HOSO  (MANV, MADA, NHIEMVU, THOIGIAN). Xét truy vấn: “ Tìm tên các nhân viên làm dự án J1 có thời gian 12 hoặc 24 tháng ” . Truy vấn trên được biểu diễn trong SQL: SELECT   NHANVIEN. TENNV FROM NHANVIEN, HOSO WHERE NHANVIEN.MANV= HOSO.MANV AND HOSO.MADA=”J1” AND THOIGIAN=12  OR   THOIGIAN=24 Điều kiện trong dạng chuẩn hội là: NHANVIEN.MANV=HOSO.MANV    HOSO.MADA=”J1”     (THOIGIAN=12    THOIGIAN=24)  Điều kiện trong dạng chuẩn tuyển là : (NHANVIEN.MANV=HOSO.MANV     HOSO.MADA=”J1”   THOIGIAN=12)     (NHANVIEN.MANV=HOSO.MANV    HOSO.MADA=”J1”   THOIGIAN=24)
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán Truy vấn sai ngữ nghĩa :  nếu các thành phần của nó không tham gia vào việc tạo ra kết quả.  Để xác định truy vấn có sai về ngữ nghĩa hay không, ta dựa trên việc biểu diễn truy vấn như một đồ thị gọi là  đồ thị truy vấn . Đồ thị này được xác định bởi các truy vấn liên quan đến phép chọn, chiếu và nối. Nếu đồ thị truy vấn mà  không liên thông thì truy vấn là sai ngữ nghĩa
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ : Từ các quan hệ E=NHANVIEN (MANV, TENNV, CHUCVU) và G = HOSO (MANV, MADA, NHIEMVU, THOIGIAN) và J=DUAN (MADA, TENDA, NGANSACH).  Hãy xác định “ Tên và nhiệm vụ các lập trình viên làm dự án CSDL có thời gian lớn hơn 3 năm. ”  Truy vấn SQL tương ứng là: SELECT E.TENNV, G.NHIEMVU FROM E, G, J  WHERE   E.MANV=G.MANV AND G.MADA.= J.MADA AND TENDA=”CSDL” AND THOIGIAN   36 AND CHUCVU=”LTRINH”
4.3 Xử lý truy vấn trong môi trường phân tán Đồ thị truy vấn và đồ thị kết nối tương ứng G.MANV=G.MANV G.MANV=J.MANV E J (b) Đồ thị kết nối tương ứng G THOIGIAN    36 E.MANV=G.MANV G.MADA=J.MADA CHUCVU= “Lập trình” TENDA=”CSDL” E J G.NHIEMVU E.TENNV (a) Đồ thị truy vấn G Kết quả
4.3 Xử lý truy vấn trong môi trường phân tán Câu truy vấn SQL tương ứng:   SELECT E.TENNV,  NHIEMVU FROM E, G, J WHERE E.MANV=G.MANV AND TENDA=”CSDL” AND THOIGIAN    36 AND CHUCVU=”Lập trình” Truy vấn này là sai ngữ nghĩa vì đồ thị truy vấn của nó không liên thông. THOIGIAN    36 E.MANV=G.MANV thiếu AND G.MADA=J.MADA CHUCVU= “Lập trình” TENDA=”CSDL” G E J Kết quả G.NHIEMVU E.TENNV Đồ thị truy vấn
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán SELECT   G.CHUCVU FROM   E WHERE  (NOT(G.CHUCVU=”Lập trình”)   AND  (G.CHUCVU=”Lập trình”  OR  G.CHUCVU=”Kỹ sư điện”)   AND  NOT(G.CHUCVU=”Kỹ sư điện”)   OR  E.TENNV=”Dung” Sử dụng các luật lũy đẳng nêu trên, truy vấn được biến đổi thành: SELECT G.CHUCVU FROM E WHERE E.TENNV=”Dung” Thực vậy, đặt p1:<CHUCVU=”Lập trình”>, p2:<CHUCVU=”Kỹ sư điện”>,  p3: <E.TENNV=”Dung”>.  Khi đó, các tân từ  sau mệnh đề WHERE được mô tả lại: p: (   p1    (p1    p2)       p2)    p3    (   p1    p1       p2)    (   p1    p2       p2)    p3  (áp dụng luật 7)    (false       p2)    (   p1    false)    p3  (áp dụng luật 5)    false    false    p3 (áp dụng luật 4)  p3
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ:  Truy vấn  “ Tìm tên các nhân viên không phải là “Dũng”, làm việc cho dự án CSDL với thời gian một hoặc hai năm ”.  Biểu diễn truy vấn này trong SQL là: SELECT TENNV FROM J, G, E WHERE G.MANV=E.MANV AND G.MADA= J.MADA AND E.TENNV <> “Dũng” AND J.TENDA= “CSDL” AND (THOIGIAN=12  OR  THOIGIAN=24)
4.3 Xử lý truy vấn trong môi trường phân tán
4.3 Xử lý truy vấn trong môi trường phân tán 06 luật biến đổi phép toán đại số quan hệ: Mục đích : dùng để biến đổi cây đại số quan hệ thành các cây tương đương (trong đó có thể có cây tối ưu).  Giả sử R, S, T là các quan hệ, R được định nghĩa trên toàn bộ thuộc tính A={A 1 , ..., A n }, S được định nghĩa trên toàn bộ thuộc tính B={B 1 , ..., B n }.  1.Tính giao hoán của các phép toán hai ngôi :   Phép tích Decartes và phép nối hai quan hệ có tính giao hoán. i.  R    S    S    R     ii.  R  S    S  R 2.  Tính kết hợp của các phép toán hai ngôi:   Phép tích Decartes và phép nối hai quan hệ có tính kết hợp. i.  (R  S)    T    R    (S  T)     ii.  (R  S)  T    R  (S  T)
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ: Cấu trúc lại cây truy vấn ở ví dụ trên, cho ra cây kết quả tốt hơn cây ban đầu, tuy nhiên vẫn còn xa cây tối ưu.
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán 4.2.2.1 Rút gọn theo phân mảnh ngang nguyên thuỷ Xét quan hệ E(MANV,TENNV,CHUCVU). Tách quan hệ này thành ba mảnh ngang E 1 , E 2  và E 3  như sau: E 1 =  MANV     ”E3” (E) E 2 =  ”E3”< MANV     ”E6” (E)  E 3 =  MANV > ”E6” (E) Chương trình định vị cho một quan hệ E được phân mảnh ngang là hợp của các mảnh E 1 , E 2 , E 3 .  Nghĩa là,  E = E 1     E 2     E 3 . Vì vậy, dạng ban đầu của bất kỳ truy vấn nào được xác định trên E là có được bằng cách thay thế nó bởi E 1     E 2     E 3 .  Việc rút gọn các truy vấn trên các quan hệ đã được phân mảnh ngang bao gồm việc  xác định câu truy vấn , sau khi đã cấu trúc lại cây con. Điều này sẽ sinh ra một số quan hệ rỗng, và sẽ  loại bỏ  chúng. Phân mảnh ngang có thể đựơc khai thác để làm đơn giản cả phép chọn và phép nối.
4.3 Xử lý truy vấn trong môi trường phân tán a.  Rút gọn với phép chọn : cho một quan hệ R được phân mảnh ngang thành R 1 , R 2 ,..., R n   với R j  =  pj (R). Luật 1 :   pj (R j )=   nếu   x  R :   (p i (x)    p j (x)).  Trong đó,  p i , p j  là tân từ chọn, x là bộ dữ liệu, p(x) là tân từ p chiếm giữ x. Ví dụ: Xét truy vấn SELECT * FROM E WHERE MANV=”E5” Áp dụng cách tiếp cận tự nhiên đến vùng E từ E 1 , E 2  và E 3  cho truy vấn ban đầu, hình 4.7a. Bằng cách sử dụng tính chất giao hoán phép chọn với phép hợp, chúng ta thấy tân từ chọn đối lập với tân từ E 1  và E 3 , sinh ra các quan hệ rỗng. Chúng ta thu được truy vấn rút gọn ở hình 4.7 b.
4.3 Xử lý truy vấn trong môi trường phân tán E 1 =  MANV    ”E3” (E) E 2 =  ”E3”< MANV    ”E6” (E)  E 3 =  MANV > ”E6” (E)  MANV=”E5”  MANV=”E5”  E 1 E 2 E 3 E 2 (a) Truy vấn ban đầu (b) Truy vấn rút gọn Hình 4.7: Rút gọn cho phân mảnh ngang với phép hợp
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán MANV MANV   E 1 E 3 E 2 G 1 G 2 (a) Truy vấn ban đầu  MANV MANV E 1 E 2 E 3 G 1 G 2 G 2 (b) Truy vấn rút gọn Hình 4.8: Sự rút gọn phân mảnh ngang với phép nối
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán Luật 3 :   D,K (R i ) là vô ích nếu D  A’=   . Trong đó, quan hệ R xác định trên A={A 1 , ...,A n }; R =   A’ (R), A’  A , K là khoá của quan hệ, K  A,  D là tập các thuộc tính chiếu, D    A. Ví dụ : Với quan hệ E được phân mảnh dọc như sau:  E 1  =     MANV,TENNV (E) và E 2  =   MANV,CHUCVU (E) Xét truy vấn SQL: SELECT TENNV FROM E   Nhận xét : phép chiếu trên E 2  là vô ích vì TENNV không có trong E 2 , nên phép chiếu chỉ cần gán vào E 1      TENNV    TENNV MANV E 1 E 2 E 1 (a) Truy vấn ban đầu (b) Truy vấn rút gọn Hình 4.9: Rút gọn đối với việc phân mảnh dọc
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ : Cho  mối quan hệ một nhiều từ E đến G, quan hệ G (MANV, MADA, NHIEMVU, THOIGIAN) có thể được phân mảnh gián tiếp theo những luật sau: G 1  = G  MANV  E 1    và G 2  = G  MANV  E 2 .  Trong đó E được phân mảnh ngang như sau: E 1 =   CHUCVU=”Lập trình” (E) và  E 2 =   CHUCVU  ”Lập trình” (E) Chương trình định vị cho một quan hệ đã được phân mảnh gián tiếp là hợp của các mảnh  G=G 1  G 2 .  Để rút gọn các truy vấn trên phân mảnh gián tiếp này, phép nối sẽ đưa ra quan hệ rỗng nếu các tân từ phân mảnh mâu thuẫn nhau.  Ví dụ tân từ G 1  và E 2  mâu thuẫn nhau, nên G 1   E 2  =  .
4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ: Xét truy vấn  SELECT * FROM E, G WHERE G.MANV=E.MANV AND CHUCVU=”KS cơ khí” (b) Truy vấn sau khi đẩy phép chọn xuống MANV  G 1 G 2 E 2 MANV     CHUCVU =” KS cơ khí ” G 1 G 2 E 1 E 2 (a) Truy vấn ban đầu    CHUCVU =” KS cơ khí ”
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],Hình 4.10: Rút gọn của phân mảnh gián tiếp MANV     CHUCVU =” KS cơ khí ” G 1 G 2 E 2 (c) Truy vấn sau khi đẩy phép hợp lên MANV    CHUCVU =” KS cơ khí ” E 2 G 2 MANV    CHUCVU =” KS cơ khí ” E 2 (d) Truy vấn đã rút gọn
4.3 Xử lý truy vấn trong môi trường phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.3 Xử lý truy vấn trong môi trường phân tán Các truy vấn trên các mảnh hỗn hợp có thể được rút gọn bằng cách kết hợp các luật sử dụng trong phân mảnh ngang nguyên thủy, phân mảnh dọc, phân mảnh ngang gián tiếp, tương ứng như sau: 1.Loại bỏ các quan hệ rỗng sinh bởi sự mâu thuẫn giữa các phép chọn trên các phân mảnh ngang. 2.Loại bỏ các quan hệ vô ích sinh bởi các phép chiếu trên các phân mảnh dọc. 3.Phân phối các phép nối với các phép hợp để tách và loại bỏ các phép nối vô ích. Ví dụ : Truy vấn trong SQL dưới đây minh hoạ việc ứng dụng các luật (1), (2) đến sự phân mảnh dọc_ngang của quan hệ E cho trên thành E 1 , E 2  và E 3 .
4.3 Xử lý truy vấn trong môi trường phân tán SELECT TENNV FROM E WHERE MANV=”E 5 ” (a) Truy vấn ban đầu    TENNV    TENNV  MANV=”E5”  MANV=”E5”  E 1 E 2 E 3 E 2 (b) Truy vấn đã rút gọn Hình 4.11: Rút gọn của phân mảnh hỗn hợp
4.4 Tối ưu hóa truy vấn trong CSDL phân tán  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.4 Tối ưu hóa truy vấn trong CSDL phân tán  ,[object Object],[object Object],[object Object],[object Object],[object Object]
4.4 Tối ưu hoá truy vấn trong CSDL phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],4.4 Tối ưu hoá truy vấn trong CSDL phân tán
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],4.4 Tối ưu hoá truy vấn trong CSDL phân tán
VÝ dô: Minh ho¹ sù kh¸c nhau gi÷a  tæng chi phÝ   vµ  thêi gian tr¶ lêi , trong ®ã m¸y tÝnh tr¶ lêi truy vÊn t¹i tr¹m 3 víi d÷ liÖu tõ tr¹m 1 vµ 2, ë ®©y chØ cã chi phÝ truyÒn th«ng ®­îc xÐt Gi¶ sö, C MSG  vµ C TR  ®­îc biÓu thÞ theo ®¬n vÞ thêi gian. Tæng chi phÝ truyÒn x ®¬n vÞ tõ tr¹m 1 ®Õn tr¹m 3 vµ y ®¬n vÞ tõ tr¹m 2 ®Õn tr¹m 3 lµ: Total_cost =  C MSG  + C TR *x + C MSG + C TR *y =   2C MSG + C TR * (x+y) V× viÖc truyÒn d÷ liÖu cã thÓ ®­îc thùc hiÖn song song nªn thêi gian tr¶ lêi cña truy vÊn lµ  Response_time = max{C MSG  + C TR * x, C MSG  + C TR * y} 4.4 Tối ưu hoá truy vấn trong CSDL phân tán Tr¹m 2 Tr¹m 1 Tr¹m 3 x y H×nh 4.12: VÝ dô cña sù biÕn ®æi 1 truy vÊn
[object Object],[object Object],[object Object],[object Object],[object Object],4.4 Tối ưu hoá truy vấn trong CSDL phân tán
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],4.4 Tối ưu hoá truy vấn trong CSDL phân tán
4.4 Tối ưu hoá truy vấn trong CSDL phân tán Ngoài ra, dữ liệu thống kê cũng bao gồm  hệ số chọn của phép nối  ( SF J ) đối với một số cặp đại số quan hệ, hệ số  SF J  của quan hệ R và S là một số thực giữa 0 và 1, được xác định bởi: ,[object Object],[object Object],[object Object],[object Object],[object Object],SF J  = card(R  S) card(R)*card(S)
4.4 Tối ưu hoá truy vấn trong CSDL phân tán ,[object Object],[object Object],[object Object],[object Object],[object Object]
1. Phép chọn card(   (R)) = SF S (F) * card(R) Trong đó SF S (F) phụ thuộc vào công thức chọn và có thể tính như sau, với p(A i ), p(A j ) là các tân từ tương ứng với các thuộc tính A i , A j . SF S (p(A i )    p(A j )) = SF S (p(A i )) * SF S (p(A j )) SF S (p(A i )   p(A j )) = SF S (p(A i ))+SF S (p(A j ))-SF S (p(A i ))* SF S (p(A j )) SF S (A   {value}) = SF S (A=value) * card({value}) 4.4 Tối ưu hoá truy vấn trong CSDL phân tán Card(  A (R)) 1 SF S  (A=value) =  SF S  (A>value) = max(A) - value max(A)-min(A) SF S  (A>value) = Value - min(A) max(A)-min(A)
[object Object],[object Object],[object Object],[object Object],[object Object],4.4 Tối ưu hoá truy vấn trong CSDL phân tán
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],4.4 Tối ưu hoá truy vấn trong CSDL phân tán
4. Phép nửa nối Hệ số chọn của phép nửa nối (SF SJ ) xấp xỉ là: 4.4 Tối ưu hoá truy vấn trong CSDL phân tán Công thức này chỉ phụ thuộc vào thuộc tính A của S, nên thường được gọi là hệ số chọn thuộc tính A của S, ký hiệu SF SJ (S.A)  và là hệ số chọn của S.A trên bất cứ thuộc tính nối khác. Vì thế, lực lượng của phép nối được tính như sau: card(R  AS) = SF SJ (S.A) * card(R) SF SJ  (R  S) = Card(  A (S)) Card(dom[A])
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],4.4 Tối ưu hóa trong CSDL phân tán
Ví dụ Xét hai quan hệ trong cơ sở dữ liệu của công ty máy tính:  E=NHANVIEN (MANV, TENNV, CHUCVU) và  G=HOSO (MANV, MADA, NHIEMVU, THOIGIAN).  Với câu truy vấn “ Cho biết tên các nhân viên hiện đang quản lý một dự án ”. Ta có câu truy vấn SQL tương ứng là: SELECT TENNV FROM E, G WHERE E.MANV=G.MANV AND   NHIEMVU=”Quản lý”  Hai truy vấn đại số tương đương với truy vấn trên là:  TENNV (  NHIEMVU=”Quản lý”    E.MANV=G.MANV  (E    G))  (1) và   TENNV (E  MANV (  NHIEMVU=”Quản lý”  G)) (2) Rõ ràng truy vấn (2)  tránh được khỏi phải tích số của E và G, nên dùng ít phép tính tài nguyên hơn truy vấn (1) 4.4 Tối ưu hóa trong CSDL phân tán
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Câu hỏi cuối chương
HẾT CHƯƠNG 4 CHƯƠNG 4:  XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN

Más contenido relacionado

La actualidad más candente

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
Dang Tuan
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tán
duysu
 

La actualidad más candente (20)

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
 
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNHBÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
 
Co so du lieu phan tan
Co so du lieu phan tanCo so du lieu phan tan
Co so du lieu phan tan
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tán
 
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin TứcBáo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
 
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
Khóa luận tốt nghiệp Phân tích thiết kế hệ thống thông tin quản lý ký túc xá ...
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Đề tài: Quản lý bệnh nhân khám bệnh tại bệnh viện Tâm Phúc, 9đ
Đề tài: Quản lý bệnh nhân khám bệnh tại bệnh viện Tâm Phúc, 9đĐề tài: Quản lý bệnh nhân khám bệnh tại bệnh viện Tâm Phúc, 9đ
Đề tài: Quản lý bệnh nhân khám bệnh tại bệnh viện Tâm Phúc, 9đ
 
Đề tài Quản lý tiền điện
Đề tài Quản lý tiền điệnĐề tài Quản lý tiền điện
Đề tài Quản lý tiền điện
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 
thiet ke-co-so-du-lieu-phan-tan
thiet ke-co-so-du-lieu-phan-tanthiet ke-co-so-du-lieu-phan-tan
thiet ke-co-so-du-lieu-phan-tan
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệu
 

Destacado

Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tánCơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán
Quy Nguyen
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tán
duysu
 
Hướng dẫn sử dụng lecture maker
Hướng dẫn sử dụng lecture makerHướng dẫn sử dụng lecture maker
Hướng dẫn sử dụng lecture maker
loihenuoc
 
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
Pix Nhox
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáN
it
 
Cơ sở dữ liệu
Cơ sở dữ liệuCơ sở dữ liệu
Cơ sở dữ liệu
Thành Luân
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTIT
Tran Tien
 
Bai giang bài 13: Bảo mật thông tin
Bai giang bài 13: Bảo mật thông tinBai giang bài 13: Bảo mật thông tin
Bai giang bài 13: Bảo mật thông tin
thaohien1376
 
Bài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuBài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệu
Châu Trần
 

Destacado (14)

Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tánCơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tán
 
Slide bài hướng dẫn sử dụng Adobe Presenter
Slide bài hướng dẫn sử dụng Adobe PresenterSlide bài hướng dẫn sử dụng Adobe Presenter
Slide bài hướng dẫn sử dụng Adobe Presenter
 
Hướng dẫn sử dụng lecture maker
Hướng dẫn sử dụng lecture makerHướng dẫn sử dụng lecture maker
Hướng dẫn sử dụng lecture maker
 
Lê Thị Thu Thủy_một số khái niệm cơ bản - tin 12
Lê Thị Thu Thủy_một số khái niệm cơ bản - tin 12Lê Thị Thu Thủy_một số khái niệm cơ bản - tin 12
Lê Thị Thu Thủy_một số khái niệm cơ bản - tin 12
 
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
SQL Cursor - kiểu dữ liệu Cursor (Kiểu dữ liệu con trỏ)
 
Tối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sqlTối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sql
 
Slide bài giảng: Thiết kế giáo án, bài giảng điện tử, new updated
Slide bài giảng: Thiết kế giáo án, bài giảng điện tử, new updatedSlide bài giảng: Thiết kế giáo án, bài giảng điện tử, new updated
Slide bài giảng: Thiết kế giáo án, bài giảng điện tử, new updated
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáN
 
Cơ sở dữ liệu
Cơ sở dữ liệuCơ sở dữ liệu
Cơ sở dữ liệu
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTIT
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL Database
 
Bai giang bài 13: Bảo mật thông tin
Bai giang bài 13: Bảo mật thông tinBai giang bài 13: Bảo mật thông tin
Bai giang bài 13: Bảo mật thông tin
 
Bài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuBài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệu
 

Similar a Chuong 4 - CSDL phân tán

6.1 query optimization overview
6.1 query optimization overview6.1 query optimization overview
6.1 query optimization overview
Trần Thanh
 
Tái cấu hình lưới điện phân phối sử dụng các giải thuật tìm kiếm tối ưu.pdf
Tái cấu hình lưới điện phân phối sử dụng các giải thuật tìm kiếm tối ưu.pdfTái cấu hình lưới điện phân phối sử dụng các giải thuật tìm kiếm tối ưu.pdf
Tái cấu hình lưới điện phân phối sử dụng các giải thuật tìm kiếm tối ưu.pdf
Man_Ebook
 

Similar a Chuong 4 - CSDL phân tán (20)

Luận án: Đánh giá chất lượng mạng truyền thông chuyển tiếp
Luận án: Đánh giá chất lượng mạng truyền thông chuyển tiếpLuận án: Đánh giá chất lượng mạng truyền thông chuyển tiếp
Luận án: Đánh giá chất lượng mạng truyền thông chuyển tiếp
 
Chuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tinChuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tin
 
VANET - Vehicle Heading based Routing Protocol for VANET.
VANET - Vehicle Heading based Routing Protocol for VANET.VANET - Vehicle Heading based Routing Protocol for VANET.
VANET - Vehicle Heading based Routing Protocol for VANET.
 
NhomX.docx
NhomX.docxNhomX.docx
NhomX.docx
 
BTL_L07_NHÓM-6_Đề-Tài-11-ppt.pptx
BTL_L07_NHÓM-6_Đề-Tài-11-ppt.pptxBTL_L07_NHÓM-6_Đề-Tài-11-ppt.pptx
BTL_L07_NHÓM-6_Đề-Tài-11-ppt.pptx
 
Thiết kế tối ưu bộ điều khiển dùng PID tương tự và bộ điều khiển mờ cho đối t...
Thiết kế tối ưu bộ điều khiển dùng PID tương tự và bộ điều khiển mờ cho đối t...Thiết kế tối ưu bộ điều khiển dùng PID tương tự và bộ điều khiển mờ cho đối t...
Thiết kế tối ưu bộ điều khiển dùng PID tương tự và bộ điều khiển mờ cho đối t...
 
6.1 query optimization overview
6.1 query optimization overview6.1 query optimization overview
6.1 query optimization overview
 
[3_CV] A research on Model Predictive Control for Frequency Converter Field-o...
[3_CV] A research on Model Predictive Control for Frequency Converter Field-o...[3_CV] A research on Model Predictive Control for Frequency Converter Field-o...
[3_CV] A research on Model Predictive Control for Frequency Converter Field-o...
 
TÁI CẤU HÌNH LƯỚI ĐIỆN PHÂN PHỐI SỬ DỤNG CÁC GIẢI THUẬT TÌM KIẾM TỐI ƯU_10292...
TÁI CẤU HÌNH LƯỚI ĐIỆN PHÂN PHỐI SỬ DỤNG CÁC GIẢI THUẬT TÌM KIẾM TỐI ƯU_10292...TÁI CẤU HÌNH LƯỚI ĐIỆN PHÂN PHỐI SỬ DỤNG CÁC GIẢI THUẬT TÌM KIẾM TỐI ƯU_10292...
TÁI CẤU HÌNH LƯỚI ĐIỆN PHÂN PHỐI SỬ DỤNG CÁC GIẢI THUẬT TÌM KIẾM TỐI ƯU_10292...
 
Luận án: Dao động ngẫu nhiên phi tuyến bằng tiêu chuẩn sai số - Gửi miễn phí ...
Luận án: Dao động ngẫu nhiên phi tuyến bằng tiêu chuẩn sai số - Gửi miễn phí ...Luận án: Dao động ngẫu nhiên phi tuyến bằng tiêu chuẩn sai số - Gửi miễn phí ...
Luận án: Dao động ngẫu nhiên phi tuyến bằng tiêu chuẩn sai số - Gửi miễn phí ...
 
Ctdl 01 t_quan
Ctdl 01 t_quanCtdl 01 t_quan
Ctdl 01 t_quan
 
Kinh te-luong-doc-hieu-ket-qua-hoi-quy
Kinh te-luong-doc-hieu-ket-qua-hoi-quyKinh te-luong-doc-hieu-ket-qua-hoi-quy
Kinh te-luong-doc-hieu-ket-qua-hoi-quy
 
Luận văn: Điều khiển tối ưu Momen cho động cơ từ trở, HAY
Luận văn: Điều khiển tối ưu Momen cho động cơ từ trở, HAYLuận văn: Điều khiển tối ưu Momen cho động cơ từ trở, HAY
Luận văn: Điều khiển tối ưu Momen cho động cơ từ trở, HAY
 
Nghiên cứu ứng dụng hệ điều khiển dự báo để điều khiển mức nước bao hơi của n...
Nghiên cứu ứng dụng hệ điều khiển dự báo để điều khiển mức nước bao hơi của n...Nghiên cứu ứng dụng hệ điều khiển dự báo để điều khiển mức nước bao hơi của n...
Nghiên cứu ứng dụng hệ điều khiển dự báo để điều khiển mức nước bao hơi của n...
 
CHUONG-02-new.pdf
CHUONG-02-new.pdfCHUONG-02-new.pdf
CHUONG-02-new.pdf
 
Thiet Ke Co So Du Lieu2
Thiet Ke Co So Du Lieu2Thiet Ke Co So Du Lieu2
Thiet Ke Co So Du Lieu2
 
Bai 3 thietke_csdlpt
Bai 3 thietke_csdlptBai 3 thietke_csdlpt
Bai 3 thietke_csdlpt
 
Giải pháp xếp hạng và tính toán song song trên nền tảng apache spark
Giải pháp xếp hạng và tính toán song song trên nền tảng apache sparkGiải pháp xếp hạng và tính toán song song trên nền tảng apache spark
Giải pháp xếp hạng và tính toán song song trên nền tảng apache spark
 
Luận văn: Giải pháp để vận hành tối ưu của lưới điện quận Cẩm Lệ
Luận văn: Giải pháp để vận hành tối ưu của lưới điện quận Cẩm LệLuận văn: Giải pháp để vận hành tối ưu của lưới điện quận Cẩm Lệ
Luận văn: Giải pháp để vận hành tối ưu của lưới điện quận Cẩm Lệ
 
Tái cấu hình lưới điện phân phối sử dụng các giải thuật tìm kiếm tối ưu.pdf
Tái cấu hình lưới điện phân phối sử dụng các giải thuật tìm kiếm tối ưu.pdfTái cấu hình lưới điện phân phối sử dụng các giải thuật tìm kiếm tối ưu.pdf
Tái cấu hình lưới điện phân phối sử dụng các giải thuật tìm kiếm tối ưu.pdf
 

Último

SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
ChuThNgnFEFPLHN
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
DungxPeach
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
hoangtuansinh1
 

Último (20)

1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfxemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.ppt
 
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxbài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
 

Chuong 4 - CSDL phân tán

  • 1.
  • 2.
  • 3.
  • 4.
  • 5. TèI ¦U ho¸ truy vÊn Trong m«i tr­êng tËp trung Câu truy vấn KiÓm tra ng÷ ph¸p KiÓm tra sù hîp lÖ DÞch truy vÊn Truy vÊn ®óng ng÷ ph¸p Truy vÊn SQL hîp lÖ Truy vÊn ®¹i sè quan hÖ Tèi ­u ho¸ ®¹i sè quan hÖ Truy vÊn ®¹i sè quan hÖ ®· tèi ­u Chän chiÕn l­îc tèi ­u T¹o sinh m· KÕ ho¹ch thùc hiÖn M· cña truy vÊn Sơ đồ chung
  • 6. Tèi ưu ho¸ truy vÊn Trong m«i tr­êng phân tán Lược đồ tổng thể Truy vấn mảnh được tối ưu với các phép toán truyền thông Tối ưu hoá cục bộ Các truy vấn cục bộ đã tối ưu Sơ đồ phân lớp chung cho xử lý truy vấn phân tán Các trạm địa phương Câu truy vấn phân tán Phân rã truy vấn Truy vấn đại số trên các quan hệ phân tán Định vị dữ liệu Truy vấn mảnh Tối ưu hoá toàn cục Trạm điều khiển Lược đồ phân mảnh Các thống kê trên các mảnh Lược đồ địa phương
  • 7.
  • 8.
  • 9. 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG OVQP tối ưu hoá việc truy xuất đến một quan hệ bằng cách dựa trên vị từ phương pháp truy xuất hữu hiệu nhất đến quan hệ đó Trước tiên OVQP sẽ thực hiện các phép toán đơn ngôi và giảm thiểu kích thước của các kết quả trung gian bằng các tách (detachment) và thay thế (substitution) Kí hiệu q i-1  q i để chỉ câu truy vấn q được phân rã thành hai câu truy vấn con q i-1 và q i , trong đó q i-1 được thực hiện trước và kết quả sẽ được q i sử dụng.
  • 10. 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Phép tách : OVQP sử dụng để tách câu truy vấn q thành các truy vấn q’  q” dựa trên một quan hệ chung là kết quả của q’ . Nếu câu truy vấn q được biểu diễn bằng SQL có dạng: q : SELECT R 2 .A 2 , R 3 .A 3 ,. . ., R n .A n FROM R 1 , R 2 ,. . . , R n WHERE P 1 (R 1 .A’ 1 ) AND P 2 (R 1 .A 1 , R 2 .A 2 , . . . , R n .A n ) Trong đó: A 1 và A’ 1 là các thuộc tính của quan hệ R 1 , P 1 là vị từ có chứa các thuộc tính của các quan hệ R 1 , R 2 , . . ., R n . Một câu truy vấn như thế có thể phân rã thành hai câu truy vấn con, q’ theo sau là q” qua phép tách dựa trên quan hệ chung R 1 như sau: q’ : SELECT R 1 A 1 INTO R’ 1 FROM R 1 WHERE P 1 (R 1 .A 1 ) Trong đó R’ 1 là một quan hệ tạm thời chứa các thông tin cần thiết để thực hiện tiếp tục câu truy vấn: q” : SELECT R 2 A 2 ,. . ., R n A n FROM R’ 1 , R 2 ,. . . , R n WHERE P 1 (R 1 .A 1 , R 2 .A 2 ,. . ., R n .A n )
  • 11. Ví dụ minh họa: xét CSDL của một công ty máy tính NHANVIEN (E) HOSO (G) DUAN (J) TLUONG (S) Phân tích HT Lập trình viên Phân tích HT Phân tích HT Lập trình viên Kỹ sư điện Phân tích HT Thiết kế DL Nam Trung Đông Bắc Tây Hùng Dũng Chiến A1 A2 A3 A4 A5 A6 A7 A8 CHUCVU TENNV MANV 12 34 6 12 10 6 20 36 48 15 Quản lý Phân tích Phân tích Kỹ thuật Lập trình Quản lý Quản lý Kỹ thuật Quản lý Lập trình D1 D1 D2 D3 D4 D2 D2 D4 D3 D3 A1 A2 A2 A3 A3 A4 A5 A6 A7 A8 THOIGIAN NHIEMVU MADA MANV 20000 12000 28000 25000 CSDL CÀI ĐẶT BẢO TRÌ PHÁT TRIỂN D1 D2 D3 D4 NGANSACH TENDA MADA 1000 2500 3000 4000 Kỹ sư điện Phân tích HT Lập trình viên Thiết kế DL LUONG CHUCVU
  • 12. 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Để minh hoạ kỹ thuật tách chúng ta sử dụng CSDL trên cho câu truy vấn sau :“ Cho biết tên của các nhân viên đang làm việc trong dự án có tên CSDL ” Câu truy vấn này (q 1 ) được diễn tả bằng SQL: q 1 : SELECT NHANVIEN.TENNV FROM NHANVIEN, HOSO, DUAN WHERE NHANVIEN.MANV = HOSO.MANV AND HOSO.MADA = DUAN.MADA AND TENDA = “CSDL” Câu truy vấn q 1 được tách thành q 11  q’, trong đó TGIAN1 là quan hệ trung gian. q 11 : SELECT DUAN.MADA INTO TGIAN1 FROM DUAN WHERE TENDA = “CSDL” q’: SELECT NHANVIEN.TENNV FROM NHANVIEN, HOSO, TGIAN1 WHERE NHANVIEN.MANV = HOSO.MANV AND HOSO.MADA =TGIAN1.MADA
  • 13. 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Các bước tách tiếp theo cho q’ có thể tạo ra: q 12 : SELECT HOSO.MANV INTO TGIAN2 FROM HOSO, TGIAN1 WHERE HOSO.MADA =TGIAN1.MADA q 13 : SELECT NHANVIEN.TENNV FROM NHANVIEN, TGIAN2 WHERE NHANVIEN.MANV = TGIAN2.MANV Truy vấn q 1 đã được rút gọn thành chuỗi truy vấn q 11  q 12  q 13 . Truy vấn q 11 là loại đơn quan hệ và có thể cho thực hiện bởi OVQP. Tuy nhiên các truy vấn q 12 và q 13 không phải loại đơn quan hệ và cũng không thể rút gọn hơn nữa bằng phép tách. Các câu truy vấn đa quan hệ không thể tách tiếp được nữa (chẳng hạn q 12 và q 13 ) được gọi là bất khả giản (irreducible).
  • 14. 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Các truy vấn bất khả giản được biến đổi thành câu truy vấn đơn quan hệ nhờ phép thế bộ (tuple substitution). Cho câu truy vấn n-quan hệ q, các bộ của một biến được thay bằng các giá trị của chúng, tạo ra được một tập các truy vấn (n-1) biến. Phép thế bộ được tiến hành như sau: Trước tiên chọn một quan hệ trong truy vấn q để thay thế. Gọi R 1 là quan hệ đó. Thế thì với mỗi bộ t 1i trong R 1 , các thuộc tính được tham chiếu trong q được thay bằng các giá trị thật sự trong t 1i , tạo ra một câu truy vấn q’ có (n-1) quan hệ. Vì vậy số câu truy vấn q’ được sinh ra bởi phép thế bộ là card(R 1 ). Phép thế bộ có thể tóm tắt như sau: q(R 1 , R 2 , . . . , R n ) được thay bởi {q’(t 1i , R 2 , R 3 , . . . , R n ), t 1i  R 1 } Vì thế đối với mỗi bộ thu được, câu truy vấn con được xử lý đệ quy bằng phép thế nếu nó chưa bất khả giản.
  • 15. 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Ví dụ minh họa: Xét tiếp câu truy vấn q 13 q 13 : SELECT NHANVIEN.TENNV FROM NHANVIEN, TGIAN2 WHERE NHANVIEN.MANV = TGIAN2.MANV Quan hệ được định nghĩa bởi biến TGIAN2 chạy trên thuộc tính duy nhất MANV. Giả sử rằng nó chỉ chứa hai bộ: <E1> và <E2>. Phép thế cho TGIAN2 tạo ra hai câu truy vấn con đơn quan hệ: q 131 : SELECT NHANVIEN.TENNV FROM NHANVIEN WHERE NHANVIEN.MANV = “E1” q 132 : SELECT NHANVIEN.TENNV FROM NHANVIEN WHERE NHANVIEN.MANV = “E2” Sau đó chúng có thể được OVQP quản lý và sử dụng.
  • 16.
  • 17. 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Thuật toán INGRES- QOA Input : MRQ: câu truy vấn đa quan hệ (có n quan hệ) Output : Câu truy vấn tối ưu Begin Output  If n=1 then Output  run(MRQ) {thực hiện câu truy vấn một quan hệ} Else {Tách MRQ thành m tr.vấn một quan hệ và một tr.vấn đa quan hệ} ORQ 1 , ..., ORQ m , MRQ’  MRQ For i  1 to m Output’  run(ORQ i ) {thực hiện ORQ i } Output  output  output’ {trộn tất cả các kết quả lại} Endfor R  CHOOSE_ VARIABLE(MRQ’) {R được chọn cho phép thế bộ} For mỗi bộ t  R MRQ”  thay giá trị cho t trong MRQ’ Output’  INGRES-QOA(MRQ”) {gọi đệ qui} Output  output  output’ {trộn tất cả các kết quả lại} Endfor Endif End . {INGRES-­­­­QOA}
  • 18. 4.3 Xử lý truy vấn trong môi trường phân tán Lược đồ tổng thể Truy vấn mảnh được tối ưu với các phép toán truyền thông Tối ưu hoá cục bộ Các truy vấn cục bộ đã tối ưu Sơ đồ phân lớp chung cho xử lý truy vấn phân tán Các trạm địa phương Câu truy vấn phân tán Phân rã truy vấn Truy vấn đại số trên các quan hệ phân tán Định vị dữ liệu Truy vấn mảnh Tối ưu hoá toàn cục Trạm điều khiển Lược đồ phân mảnh Các thống kê trên các mảnh Lược đồ địa phương
  • 19.
  • 20. 4.3 Xử lý truy vấn trong môi trường phân tán 4.3.1.1 Chuẩn hoá Mục đích: chuyển đổi truy vấn thành một dạng chuẩn để thuận lợi cho các xử lý tiếp theo. Với SQL, có hai dạng chuẩn cho các tân từ trong mệnh đề WHERE là: Dạng chuẩn hội là hội (  ) của những phép toán tuyển (  ): (p 11  p 12  ...  p 1n )  ...  (p m1  p m2  ...  p mn ) Dạng chuẩn tuyển là tuyển (  ) của những phép toán hội (  ): (p 11  p 12  ...  p 1n )  ...  (p m1  p m2  ...  p mn ), trong đó p ij là các biểu thức nguyên tố.
  • 21. 4.3 Xử lý truy vấn trong môi trường phân tán Các quy tắc biến đổi tương đương trên các phép toán logic: 1. p 1  p 2  p 2  p 1 2. p 1  p 2  p 2  p 1 3.  (  p)  p 4. (p 1  p 2 )   p 1   p 2 5. p 1  (p 2  p 3 )  (p 1  p 2 )  (p 1  p 3 ). 6. p 1  (p 2  p 3 )  (p 1  p 2 )  p 3 7. p 1  (p 2  p 3 )  (p 1  p 2 )  p 3 8. p 1  (p 2  p 3 )  (p 1  p 2 )  (p 1  p 3 ) 9. (p 1  p 2 )   p 1   p 2
  • 22. 4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ : Từ các quan hệ NHANVIEN (MANV, TENNV, CHUCVU) và HOSO (MANV, MADA, NHIEMVU, THOIGIAN). Xét truy vấn: “ Tìm tên các nhân viên làm dự án J1 có thời gian 12 hoặc 24 tháng ” . Truy vấn trên được biểu diễn trong SQL: SELECT NHANVIEN. TENNV FROM NHANVIEN, HOSO WHERE NHANVIEN.MANV= HOSO.MANV AND HOSO.MADA=”J1” AND THOIGIAN=12 OR THOIGIAN=24 Điều kiện trong dạng chuẩn hội là: NHANVIEN.MANV=HOSO.MANV  HOSO.MADA=”J1”  (THOIGIAN=12  THOIGIAN=24) Điều kiện trong dạng chuẩn tuyển là : (NHANVIEN.MANV=HOSO.MANV  HOSO.MADA=”J1”  THOIGIAN=12)  (NHANVIEN.MANV=HOSO.MANV  HOSO.MADA=”J1”  THOIGIAN=24)
  • 23.
  • 24. 4.3 Xử lý truy vấn trong môi trường phân tán Truy vấn sai ngữ nghĩa : nếu các thành phần của nó không tham gia vào việc tạo ra kết quả. Để xác định truy vấn có sai về ngữ nghĩa hay không, ta dựa trên việc biểu diễn truy vấn như một đồ thị gọi là đồ thị truy vấn . Đồ thị này được xác định bởi các truy vấn liên quan đến phép chọn, chiếu và nối. Nếu đồ thị truy vấn mà không liên thông thì truy vấn là sai ngữ nghĩa
  • 25.
  • 26. 4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ : Từ các quan hệ E=NHANVIEN (MANV, TENNV, CHUCVU) và G = HOSO (MANV, MADA, NHIEMVU, THOIGIAN) và J=DUAN (MADA, TENDA, NGANSACH). Hãy xác định “ Tên và nhiệm vụ các lập trình viên làm dự án CSDL có thời gian lớn hơn 3 năm. ” Truy vấn SQL tương ứng là: SELECT E.TENNV, G.NHIEMVU FROM E, G, J WHERE E.MANV=G.MANV AND G.MADA.= J.MADA AND TENDA=”CSDL” AND THOIGIAN  36 AND CHUCVU=”LTRINH”
  • 27. 4.3 Xử lý truy vấn trong môi trường phân tán Đồ thị truy vấn và đồ thị kết nối tương ứng G.MANV=G.MANV G.MANV=J.MANV E J (b) Đồ thị kết nối tương ứng G THOIGIAN  36 E.MANV=G.MANV G.MADA=J.MADA CHUCVU= “Lập trình” TENDA=”CSDL” E J G.NHIEMVU E.TENNV (a) Đồ thị truy vấn G Kết quả
  • 28. 4.3 Xử lý truy vấn trong môi trường phân tán Câu truy vấn SQL tương ứng: SELECT E.TENNV, NHIEMVU FROM E, G, J WHERE E.MANV=G.MANV AND TENDA=”CSDL” AND THOIGIAN  36 AND CHUCVU=”Lập trình” Truy vấn này là sai ngữ nghĩa vì đồ thị truy vấn của nó không liên thông. THOIGIAN  36 E.MANV=G.MANV thiếu AND G.MADA=J.MADA CHUCVU= “Lập trình” TENDA=”CSDL” G E J Kết quả G.NHIEMVU E.TENNV Đồ thị truy vấn
  • 29.
  • 30. 4.3 Xử lý truy vấn trong môi trường phân tán SELECT G.CHUCVU FROM E WHERE (NOT(G.CHUCVU=”Lập trình”) AND (G.CHUCVU=”Lập trình” OR G.CHUCVU=”Kỹ sư điện”) AND NOT(G.CHUCVU=”Kỹ sư điện”) OR E.TENNV=”Dung” Sử dụng các luật lũy đẳng nêu trên, truy vấn được biến đổi thành: SELECT G.CHUCVU FROM E WHERE E.TENNV=”Dung” Thực vậy, đặt p1:<CHUCVU=”Lập trình”>, p2:<CHUCVU=”Kỹ sư điện”>, p3: <E.TENNV=”Dung”>. Khi đó, các tân từ sau mệnh đề WHERE được mô tả lại: p: (  p1  (p1  p2)   p2)  p3  (  p1  p1   p2)  (  p1  p2   p2)  p3 (áp dụng luật 7)  (false   p2)  (  p1  false)  p3 (áp dụng luật 5)  false  false  p3 (áp dụng luật 4)  p3
  • 31.
  • 32.
  • 33. 4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ: Truy vấn “ Tìm tên các nhân viên không phải là “Dũng”, làm việc cho dự án CSDL với thời gian một hoặc hai năm ”. Biểu diễn truy vấn này trong SQL là: SELECT TENNV FROM J, G, E WHERE G.MANV=E.MANV AND G.MADA= J.MADA AND E.TENNV <> “Dũng” AND J.TENDA= “CSDL” AND (THOIGIAN=12 OR THOIGIAN=24)
  • 34. 4.3 Xử lý truy vấn trong môi trường phân tán
  • 35. 4.3 Xử lý truy vấn trong môi trường phân tán 06 luật biến đổi phép toán đại số quan hệ: Mục đích : dùng để biến đổi cây đại số quan hệ thành các cây tương đương (trong đó có thể có cây tối ưu). Giả sử R, S, T là các quan hệ, R được định nghĩa trên toàn bộ thuộc tính A={A 1 , ..., A n }, S được định nghĩa trên toàn bộ thuộc tính B={B 1 , ..., B n }. 1.Tính giao hoán của các phép toán hai ngôi : Phép tích Decartes và phép nối hai quan hệ có tính giao hoán. i. R  S  S  R ii. R S  S R 2. Tính kết hợp của các phép toán hai ngôi: Phép tích Decartes và phép nối hai quan hệ có tính kết hợp. i. (R  S)  T  R  (S  T) ii. (R S) T  R (S T)
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. 4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ: Cấu trúc lại cây truy vấn ở ví dụ trên, cho ra cây kết quả tốt hơn cây ban đầu, tuy nhiên vẫn còn xa cây tối ưu.
  • 41.
  • 42. 4.3 Xử lý truy vấn trong môi trường phân tán 4.2.2.1 Rút gọn theo phân mảnh ngang nguyên thuỷ Xét quan hệ E(MANV,TENNV,CHUCVU). Tách quan hệ này thành ba mảnh ngang E 1 , E 2 và E 3 như sau: E 1 =  MANV  ”E3” (E) E 2 =  ”E3”< MANV  ”E6” (E) E 3 =  MANV > ”E6” (E) Chương trình định vị cho một quan hệ E được phân mảnh ngang là hợp của các mảnh E 1 , E 2 , E 3 . Nghĩa là, E = E 1  E 2  E 3 . Vì vậy, dạng ban đầu của bất kỳ truy vấn nào được xác định trên E là có được bằng cách thay thế nó bởi E 1  E 2  E 3 . Việc rút gọn các truy vấn trên các quan hệ đã được phân mảnh ngang bao gồm việc xác định câu truy vấn , sau khi đã cấu trúc lại cây con. Điều này sẽ sinh ra một số quan hệ rỗng, và sẽ loại bỏ chúng. Phân mảnh ngang có thể đựơc khai thác để làm đơn giản cả phép chọn và phép nối.
  • 43. 4.3 Xử lý truy vấn trong môi trường phân tán a. Rút gọn với phép chọn : cho một quan hệ R được phân mảnh ngang thành R 1 , R 2 ,..., R n với R j =  pj (R). Luật 1 :  pj (R j )=  nếu  x  R :  (p i (x)  p j (x)). Trong đó, p i , p j là tân từ chọn, x là bộ dữ liệu, p(x) là tân từ p chiếm giữ x. Ví dụ: Xét truy vấn SELECT * FROM E WHERE MANV=”E5” Áp dụng cách tiếp cận tự nhiên đến vùng E từ E 1 , E 2 và E 3 cho truy vấn ban đầu, hình 4.7a. Bằng cách sử dụng tính chất giao hoán phép chọn với phép hợp, chúng ta thấy tân từ chọn đối lập với tân từ E 1 và E 3 , sinh ra các quan hệ rỗng. Chúng ta thu được truy vấn rút gọn ở hình 4.7 b.
  • 44. 4.3 Xử lý truy vấn trong môi trường phân tán E 1 =  MANV  ”E3” (E) E 2 =  ”E3”< MANV  ”E6” (E) E 3 =  MANV > ”E6” (E)  MANV=”E5”  MANV=”E5”  E 1 E 2 E 3 E 2 (a) Truy vấn ban đầu (b) Truy vấn rút gọn Hình 4.7: Rút gọn cho phân mảnh ngang với phép hợp
  • 45.
  • 46.
  • 47. 4.3 Xử lý truy vấn trong môi trường phân tán MANV MANV   E 1 E 3 E 2 G 1 G 2 (a) Truy vấn ban đầu  MANV MANV E 1 E 2 E 3 G 1 G 2 G 2 (b) Truy vấn rút gọn Hình 4.8: Sự rút gọn phân mảnh ngang với phép nối
  • 48.
  • 49. 4.3 Xử lý truy vấn trong môi trường phân tán Luật 3 :  D,K (R i ) là vô ích nếu D  A’=  . Trong đó, quan hệ R xác định trên A={A 1 , ...,A n }; R =  A’ (R), A’  A , K là khoá của quan hệ, K  A, D là tập các thuộc tính chiếu, D  A. Ví dụ : Với quan hệ E được phân mảnh dọc như sau: E 1 =  MANV,TENNV (E) và E 2 =  MANV,CHUCVU (E) Xét truy vấn SQL: SELECT TENNV FROM E Nhận xét : phép chiếu trên E 2 là vô ích vì TENNV không có trong E 2 , nên phép chiếu chỉ cần gán vào E 1  TENNV  TENNV MANV E 1 E 2 E 1 (a) Truy vấn ban đầu (b) Truy vấn rút gọn Hình 4.9: Rút gọn đối với việc phân mảnh dọc
  • 50.
  • 51. 4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ : Cho mối quan hệ một nhiều từ E đến G, quan hệ G (MANV, MADA, NHIEMVU, THOIGIAN) có thể được phân mảnh gián tiếp theo những luật sau: G 1 = G MANV E 1 và G 2 = G MANV E 2 . Trong đó E được phân mảnh ngang như sau: E 1 =  CHUCVU=”Lập trình” (E) và E 2 =  CHUCVU  ”Lập trình” (E) Chương trình định vị cho một quan hệ đã được phân mảnh gián tiếp là hợp của các mảnh G=G 1  G 2 . Để rút gọn các truy vấn trên phân mảnh gián tiếp này, phép nối sẽ đưa ra quan hệ rỗng nếu các tân từ phân mảnh mâu thuẫn nhau. Ví dụ tân từ G 1 và E 2 mâu thuẫn nhau, nên G 1 E 2 =  .
  • 52. 4.3 Xử lý truy vấn trong môi trường phân tán Ví dụ: Xét truy vấn SELECT * FROM E, G WHERE G.MANV=E.MANV AND CHUCVU=”KS cơ khí” (b) Truy vấn sau khi đẩy phép chọn xuống MANV  G 1 G 2 E 2 MANV   CHUCVU =” KS cơ khí ” G 1 G 2 E 1 E 2 (a) Truy vấn ban đầu  CHUCVU =” KS cơ khí ”
  • 53.
  • 54.
  • 55. 4.3 Xử lý truy vấn trong môi trường phân tán Các truy vấn trên các mảnh hỗn hợp có thể được rút gọn bằng cách kết hợp các luật sử dụng trong phân mảnh ngang nguyên thủy, phân mảnh dọc, phân mảnh ngang gián tiếp, tương ứng như sau: 1.Loại bỏ các quan hệ rỗng sinh bởi sự mâu thuẫn giữa các phép chọn trên các phân mảnh ngang. 2.Loại bỏ các quan hệ vô ích sinh bởi các phép chiếu trên các phân mảnh dọc. 3.Phân phối các phép nối với các phép hợp để tách và loại bỏ các phép nối vô ích. Ví dụ : Truy vấn trong SQL dưới đây minh hoạ việc ứng dụng các luật (1), (2) đến sự phân mảnh dọc_ngang của quan hệ E cho trên thành E 1 , E 2 và E 3 .
  • 56. 4.3 Xử lý truy vấn trong môi trường phân tán SELECT TENNV FROM E WHERE MANV=”E 5 ” (a) Truy vấn ban đầu  TENNV  TENNV  MANV=”E5”  MANV=”E5”  E 1 E 2 E 3 E 2 (b) Truy vấn đã rút gọn Hình 4.11: Rút gọn của phân mảnh hỗn hợp
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62. VÝ dô: Minh ho¹ sù kh¸c nhau gi÷a tæng chi phÝ vµ thêi gian tr¶ lêi , trong ®ã m¸y tÝnh tr¶ lêi truy vÊn t¹i tr¹m 3 víi d÷ liÖu tõ tr¹m 1 vµ 2, ë ®©y chØ cã chi phÝ truyÒn th«ng ®­îc xÐt Gi¶ sö, C MSG vµ C TR ®­îc biÓu thÞ theo ®¬n vÞ thêi gian. Tæng chi phÝ truyÒn x ®¬n vÞ tõ tr¹m 1 ®Õn tr¹m 3 vµ y ®¬n vÞ tõ tr¹m 2 ®Õn tr¹m 3 lµ: Total_cost = C MSG + C TR *x + C MSG + C TR *y = 2C MSG + C TR * (x+y) V× viÖc truyÒn d÷ liÖu cã thÓ ®­îc thùc hiÖn song song nªn thêi gian tr¶ lêi cña truy vÊn lµ Response_time = max{C MSG + C TR * x, C MSG + C TR * y} 4.4 Tối ưu hoá truy vấn trong CSDL phân tán Tr¹m 2 Tr¹m 1 Tr¹m 3 x y H×nh 4.12: VÝ dô cña sù biÕn ®æi 1 truy vÊn
  • 63.
  • 64.
  • 65.
  • 66.
  • 67. 1. Phép chọn card(  (R)) = SF S (F) * card(R) Trong đó SF S (F) phụ thuộc vào công thức chọn và có thể tính như sau, với p(A i ), p(A j ) là các tân từ tương ứng với các thuộc tính A i , A j . SF S (p(A i )  p(A j )) = SF S (p(A i )) * SF S (p(A j )) SF S (p(A i )  p(A j )) = SF S (p(A i ))+SF S (p(A j ))-SF S (p(A i ))* SF S (p(A j )) SF S (A  {value}) = SF S (A=value) * card({value}) 4.4 Tối ưu hoá truy vấn trong CSDL phân tán Card(  A (R)) 1 SF S (A=value) = SF S (A>value) = max(A) - value max(A)-min(A) SF S (A>value) = Value - min(A) max(A)-min(A)
  • 68.
  • 69.
  • 70. 4. Phép nửa nối Hệ số chọn của phép nửa nối (SF SJ ) xấp xỉ là: 4.4 Tối ưu hoá truy vấn trong CSDL phân tán Công thức này chỉ phụ thuộc vào thuộc tính A của S, nên thường được gọi là hệ số chọn thuộc tính A của S, ký hiệu SF SJ (S.A) và là hệ số chọn của S.A trên bất cứ thuộc tính nối khác. Vì thế, lực lượng của phép nối được tính như sau: card(R AS) = SF SJ (S.A) * card(R) SF SJ (R S) = Card(  A (S)) Card(dom[A])
  • 71.
  • 72. Ví dụ Xét hai quan hệ trong cơ sở dữ liệu của công ty máy tính: E=NHANVIEN (MANV, TENNV, CHUCVU) và G=HOSO (MANV, MADA, NHIEMVU, THOIGIAN). Với câu truy vấn “ Cho biết tên các nhân viên hiện đang quản lý một dự án ”. Ta có câu truy vấn SQL tương ứng là: SELECT TENNV FROM E, G WHERE E.MANV=G.MANV AND NHIEMVU=”Quản lý” Hai truy vấn đại số tương đương với truy vấn trên là:  TENNV (  NHIEMVU=”Quản lý”  E.MANV=G.MANV (E  G)) (1) và  TENNV (E MANV (  NHIEMVU=”Quản lý” G)) (2) Rõ ràng truy vấn (2) tránh được khỏi phải tích số của E và G, nên dùng ít phép tính tài nguyên hơn truy vấn (1) 4.4 Tối ưu hóa trong CSDL phân tán
  • 73.
  • 74. HẾT CHƯƠNG 4 CHƯƠNG 4: XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN