Phộp chiếu giao hoỏn với những phộp toỏn hai ngụ

Một phần của tài liệu CƠ SỞ DỮ LIỆU PHÂN TÁN DISTRIBUTED DATABASES (Trang 37 - 41)

VI. Quản trị cơ sở dữ liệu phõn tỏn của Oracle

6. Phộp chiếu giao hoỏn với những phộp toỏn hai ngụ

Phộp chiếu và tớch Decartes:

Nếu C=A’B’ với A’ A, B’ B, và A, B là tập cỏc thuộc tớnh trờn quan hệ R, S ta cú:

Phộp chiếu và phộp nối:

Phộp chiếu và phộp hợp:

Chỳ ý: Việc sử dụng sỏu luật trờn cú khả năng sinh ra nhiều cõy đại số quan hệ tương đương nhau. Vấn đề là xỏc định cho được cõy tối ưu.

)( ( ) ( ) (R S A' R B' S C     ) ( ) ( ) (R S A' R B' S C    

223

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

Chỳ ý:

Trong giai đoạn tối ưu, sự so sỏnh cỏc cõy cú thể thực hiện dựa trờn chi phớ dự đoỏn của chỳng. Tuy nhiờn, nếu số lượng cỏc cõy quỏ lớn thỡ cỏch tiếp cận này sẽ khụng hiệu quả. Chỳng ta cú thể dựng 6 luật trờn để cấu trỳc lại cõy, nhằm loại bỏ những cõy đại số quan hệ “tồi”.

Cỏc luật trờn cú thể sử dụng theo bốn cỏch như sau: • Phõn ró cỏc phộp toỏn một ngụi, đơn giản húa biểu thức truy

vấn .

• Nhúm cỏc phộp toỏn một ngụi trờn cựng một quan hệ để giảm số lần thực hiện.

• Giao hoỏn cỏc phộp toỏn một ngụi với cỏc phộp toỏn hai ngụi để ưu tiờn cho một số phộp toỏn (chẳng hạn phộp chọn, chiếu,...).

• Sắp thứ tự cỏc phộp toỏn hai ngụi trong thực hiện truy vấn.

224

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

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

225

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

4.3.2 Cục bộ húa dữ liệu - Định vị dữ liệu phõn tỏn

Vai trũ của tầng Cục bộ húa dữ liệu:

• dịch cõu truy vấn đại số trờn quan hệ tổng thể sang cõu truy vấn đại số trờn cỏc mảnh vật lý.

• Sử dụng thụng tin được lưu trữ trờn cỏc lược đồ phõn mảnh để cục bộ húa dữ liệu.

• Chương trỡnh đại số quan hệ xõy dựng lại quan hệ tổng thể từ cỏc phõn mảnh của nú gọi là chương trỡnh định vị. • Truy vấn cú được từ chương trỡnh định vị gọi là truy vấn ban

đầu.

Chỳ ý: Trong phần dưới đõy, với mỗi kiểu phõn mảnh

chỳng ta sẽ biểu diễn một kỹ thuật rỳt gọn để sinh ra truy

vấn được tối ưu và đơn giản hoỏ. 226

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

4.3.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 E1, E2 và E3 như sau:

E1=MANV ”E3”(E) E2=”E3”< MANV ”E6”(E) E3=MANV > ”E6”(E)

Chương trỡnh định vị cho quan hệ E: E = E1 E2 E3.

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 E1 E2 E3.

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.

227

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 R1, R2,..., Rn với

Luật 1: nếu xR : (pi(x)  pj(x)). Trong đú, pi, pj là vị từ chọn, x là bộ dữ liệu, p(x) là vị từ p chiếm giữ x. pi, pj là vị từ chọn, x là bộ dữ liệu, p(x) là vị từ p chiếm giữ x. Vớ dụ: Hóy rỳt gọn truy vấn SELECT * FROM E WHERE MANV=”E5”

Với E được tỏch thành ba mảnh ngang E1, E2 và E3 : E1=MANV ”E3”(E) E2=”E3”< MANV ”E6”(E) E3=MANV > ”E6”(E)

p(Rj) p(Rj) j ) (R R j p j 228

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

MANV=”E5”MANV=”E5”

E1 E2 E3

E2

(a) Truy vấn ban đầu (b) Truy vấn rỳt gọn

Rỳt gọn 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 vị từ chọn đối lập với vị từ E1 và E3 nờn sinh ra cỏc quan hệ rỗng.

E1=MANV  ”E3”(E) E2=”E3”< MANV  ”E6”(E) E2=”E3”< MANV  ”E6”(E) E3=MANV > ”E6”(E)

229

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

b.Rỳt gọn với phộp nối

• Cỏc phộp nối trờn quan hệ đó được phõn mảnh ngang cú thể đơn giản khi chỳng được phõn mảnh theo thuộc tớnh nối. • Việc rỳt gọn được thực hiện dựa trờn tớnh phõn phối giữa

phộp nối và phộp hợp và loại bỏ cỏc phộp nối vụ ớch. • Với tớnh chất, (R1R2) R3 = (R1 R3)  (R2 R3) , Ri là

cỏc phõn mảnh. Chỳng ta cú thể xỏc định được cỏc phộp nối vụ ớch của cỏc mảnh khi cỏc điều kiện nối mõu thuẫn nhau. Sau đú, dựng luật 2 dưới đõy để loại bỏ cỏc phộp nối vụ ớch.

230

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

Luật 2: Ri Rj = nếu xRi, yRj : (pi(x)pj(y)). Trong đú Ri, Rj được xỏc định theo cỏc vị từ pi, pj trờn cựng thuộc tớnh.

Nhận xột:

• Việc xỏc định cỏc phộp nối vụ ớch được thực hiện bằng cỏch chỉ xem xột cỏc vị từ mảnh.

• Truy vấn rỳt gọn khụng phải luụn tốt hơn hoặc đơn giản hơn truy vấn ban đầu.

• Một thuận lợi của truy vấn rỳt gọn là những phộp nối cú thể thực hiện song song.

231

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

Vớ dụ: Giả sử quan hệ E được phõn mảnh thành cỏc mảnh E1=MANV  ”E3”(E) E2=”E3”< MANV  ”E6”(E) E3=MANV > ”E6”(E) Quan hệ G được phõn làm hai mảnh:

G1=MANV”E3”(G) và G2=MANV>”E3”(G).

Nhận xột:

• E1 và G1 được định nghĩa bởi cựng vị từ.

• Vị từ định nghĩa G2 là hợp của cỏc định nghĩa của những vị từ E2 và E3. Xột truy vấn SELECT * FROM E, G WHERE E.MANV=G.MANV MANV MANV   E1 E2 E3 G1 G2

(a) Truy vấn ban đầu

MANV MANV

E1 G1 E2 G2 E3 G2

(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

232

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

E1=MANV  ”E3”(E) E2=”E3”< MANV  ”E6”(E) E3=MANV > ”E6”(E) G1=MANV”E3”(G) G2=MANV>”E3”(G).

E G = (E1E2E3) (G1G2)

= (E1 G1)(E1 G2)(E2 G1)(E2 G2)(E3 G1)(E3 G2) = (E1 G1)  (E2 G2) (E3 G2)

233

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

4.3.2.2 Rỳt gọn phõn mảnh dọc

• Chức năng của việc phõn mảnh dọc là tỏch quan hệ dựa vào thuộc tớnh của cỏc phộp chiếu.

• Vỡ phộp toỏn xõy dựng lại đối với phõn mảnh dọc là nối, nờn chương trỡnh định vị một quan hệ đó được phõn mảnh dọc là nối của cỏc mảnh trong vựng thuộc tớnh chung.

Vớ dụ: Quan hệ E được phõn mảnh dọc thành E1, E2, với thuộc tớnh khoỏ MANV được lặp lại như sau: E1 =  MANV,TENNV(E) và E2 = MANV,CHUCVU(E) Chương trỡnh định vị là: E = E1 MANV E2

• Cỏc truy vấn trờn phõn mảnh dọc cú thể rỳt gọn bằng cỏch xỏc định cỏc quan hệ trung gian vụ ớch và loại bỏ cỏc cõy con chứa chỳng.

• Cỏc phộp chiếu trờn một phõn mảnh dọc khụng cú thuộc tớnh chung với cỏc thuộc tớnh chiếu (ngoại trừ khúa của

quan hệ) là vụ ớch, mặc dự cỏc quan hệ là khỏc rỗng. 234

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

Luật 3: D,K(Ri) là vụ ớch nếu DA’= . Trong đú, quan hệ R xỏc định trờn A={A1, ...,An}; 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: E1 = MANV,TENNV(E) và E2 = MANV,CHUCVU(E) Xột truy vấn SQL: SELECT TENNV FROM E TENNV TENNV MANV E1 E2 E1

(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 Nhận xột: phộp chiếu trờn E2 là vụ ớch vỡ TENNV khụng cú trong E2, nờn phộp chiếu chỉ cần gỏn vào E1

235

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

4.3.2.3 Rỳt gọn theo phõn mảnh giỏn tiếp

• Sự phõn mảnh ngang dẫn xuất là một cỏch tỏch hai quan hệ để việc xử lý nối của cỏc phộp chọn và phộp nối

• Nếu quan hệ R phụ thuộc vào sự phõn mảnh ngang dẫn xuất nhờ quan hệ S, thỡ cỏc mảnh của R và S, mà cú cựng giỏ trị thuộc tớnh nối, sẽ được định vị tại cựng trạm. Ngoài ra, S cú thể được phõn mảnh tựy thuộc vào vị từ chọn.

• Khi cỏc bộ của R được đặt tuỳ theo những bộ của S, thỡ sự phõn mảnh ngang dẫn xuất chỉ nờn sử dụng mối quan hệ một nhiều từ SR (i.e. với một bộ của S cú thể phự hợp với n bộ của R, nhưng với một bộ của R chỉ phự hợp với một bộ của S). • Truy vấn trờn cỏc phõn mảnh ngang dẫn xuất cũng cú thể rỳt

gọn được, nếu cỏc vị từ phõn mảnh mõu thuẫn nhau thỡ phộp nối sẽ đưa ra quan hệ rỗng.

• Chương trỡnh định vị một quan hệ đó được phõn mảnh ngang

dẫn xuất là hợp của cỏc mảnh. 236

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ừ quan hệ

E=NHANVIEN(MANV, TENNV, CHUCVU) đến quan hệ G=DUAN (MANV, MADA, NHIEMVU, THOIGIAN). Trong đú, quan hệ G cú thể được phõn mảnh ngang dẫn xuất: G1 = G MANV E1 và G2 = G MANV E2.

Và E được phõn mảnh ngang:

E1= CHUCVU=”Lập trỡnh”(E) và E2= CHUCVU”Lập trỡnh”(E)

Chương trỡnh định vị cho một quan hệ đó được phõn mảnh ngang dẫn xuất là hợp của cỏc mảnh G=G1G2. Để rỳt gọn cỏc truy vấn trờn phõn mảnh ngang dẫn xuất này, phộp nối sẽ đưa ra quan hệ rỗng nếu cỏc vị từ phõn mảnh mõu thuẫn nhau.

Vớ dụ vị từ G1 và E2 mõu thuẫn nhau, nờn G1 E2 =.

237

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ớ”

CHUCVU=”KS cơ khớ”

(b) Truy vấn sau khi đẩy phộp chọn xuống

MANV

G1 G2 E2

CHUCVU=”KS cơ khớ” G1 = G MANV E1 G2 = G MANV E2.

E1= CHUCVU=”Lập trỡnh”(E) và E2= CHUCVU”Lập trỡnh”(E)

MANV

G1 G2

E1 E2(a) Truy vấn ban đầu (a) Truy vấn ban đầu

238

Nhận xột:

• Truy vấn ban đầu trờn cỏc mảnh E1, E2, G1 và G2 tương ứng hỡnh 4.10a. • Bằng cỏch đẩy phộp chọn xuống cỏc mảnh E1 và E2, được truy vấn rỳt

gọn ở hỡnh 4.10b.

• Phõn phối cỏc phộp nối với phộp hợp, chỳng ta thu được cõy hỡnh 4.10c.

• Cõy con bờn trỏi đưa ra một quan hệ rỗng, nờn cõy rỳt gọn cú được trong hỡnh 4.10d.

Hỡnh 4.10: Rỳt gọn của phõn mảnh giỏn tiếp MANV

CHUCVU=”KS cơ khớ”

G1 G2

E2

(c) Truy vấn sau khi đẩy phộp hợp lờn

MANVCHUCVU=”KS cơ khớ”CHUCVU=”KS cơ khớ” E2 G2 MANV CHUCVU=”KS cơ khớ” E2 (d) Truy vấn đó rỳt gọn Chỳ ý: (G1 G2 ) CHUCVU=”kscơ khớ”(E2)

= (G1 CHUCVU=”kscơ khớ”(E2)) (G2 CHUCVU=”kscơ khớ”(E2))

239

4.3 Xử lý truy vấn trong mụi trường phõn tỏn

4.3.2.4 Rỳt gọn theo phõn mảnh hỗn hợp

• Sự phõn mảnh hỗn hợp là sự kết hợp giữa phõn dọc và phõn mảnh ngang.

• Mục đớch của phõn mảnh hỗn hợp là hỗ trợ cỏc truy vấn liờn quan đến phộp chiếu, phộp chọn và phộp nối

• Chương trỡnh định vị cho một quan hệ đó phõn mảnh hỗn hợp là phộp hợp và phộp nối của cỏc mảnh.

Vớ dụ: Xột quan hệ E được phõn mảnh hỗn hợp như sau: E1=MANV  ”E4”(MANV,TENNV(E)), E2=MANV > ”E4”(MANV,TENNV(E)) E3=MANV,CHUCVU(E)

Chương trỡnh định vị là: E = (E1 E2) MANV E3

240

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.

241 SELECT TENNV SELECT TENNV FROM E WHERE MANV=”E5” TENNVMANV=”E5” E2 (b) Truy vấn đó rỳt gọn (a) Truy vấn ban đầu

TENNVMANV=”E5”MANV=”E5”

E1 E2 E3

Hỡnh 4.11: Rỳt gọn của phõn mảnh hỗn hợp

Vớ dụ: E1=MANV  ”E4”(MANV,TENNV(E)), E2=MANV > ”E4”(MANV,TENNV(E)) E3=MANV,CHUCVU(E)

242

1.Mục đớch của tối ưu hoỏ truy vấn trong CSDL phõn tỏn 2.Chức năng của tối ưu hoỏ truy vấn phõn tỏn 3.Cỏc phương phỏp xử lý truy vấn cơ bản 4.Sơ đồ phõn lớp chung cho xử lý truy vấn phõn tỏn. 5.Cỏch chuyển một truy vấn phộp tớnh quan hệ thành một cõy

đại số quan hệ

6.Sử dụng cỏc luật biến đổi phộp toỏn đại số quan hệ để biến đổi cõy đại số quan hệ thành cỏc cõy tương đương. 7.Định vị dữ liệu phõn tỏn-Tối ưu hoỏ cục bộ

Một phần của tài liệu CƠ SỞ DỮ LIỆU PHÂN TÁN DISTRIBUTED DATABASES (Trang 37 - 41)

Tải bản đầy đủ (PDF)

(41 trang)