Rỳt gọn cho phõn mảnh dẫn xuất

Một phần của tài liệu Cơ sở dữ liệu phân tán (Trang 129 - 131)

5.6 Cục bộ hoỏ dữ liệu phõn tỏn

5.6.3 Rỳt gọn cho phõn mảnh dẫn xuất

Phộp kết nối thường xuyờn xẩy ra và cú chi phớ caọ Tối ưu hoỏ bằng cỏch sử dụng cỏc phõn mảnh ngang nguyờn thuỷ khi cỏc quan hệ nối được phõn mảnh theo cỏc thuộc tớnh nốị Trong trường hợp này nối của hai quan hệ được cài đặt như hợp của cỏc nối từng phần. Tuy nhiờn phương phỏp này ngăn cản khụng cho một trong cỏc quan hệ phõn mảnh theo một phộp chọn trờn một thuộc tớnh khỏc. Phõn mảnh ngang dẫn xuất phõn phối hai quan hệ, cải thiện khả năng xử lý cỏc điểm giao nhau giữa cỏc phộp chọn và phộp kết nốị Nếu quan hệ R phõn mảnh dẫn xuất theo quan hệ S, cỏc mảnh của R và S cú giỏ trị như nhau ở thuộc tớnh kết nối sẽ nằm cựng vị trớ. Quan hệ S cú thể phõn mảnh theo một vị từ chọn.

Vỡ cỏc bộ của quan hệ R được đặt tuỳ chọn theo cỏc bộ của S. để cho đơn giản, giả sử chỉ xột phõn mảnh dẫn xuất chỉ được sử dụng cho mối liờn hệ một - nhiều, trong đú một bộ của S tương ứng với n bộ của R và một bộ của R chỉ khớp đỳng với một bộ của S.

Vớ dụ 5.13: Cho mối quan hệ một - nhiều EMP → ASG. Giả sử ASG được phõn mảnh

giỏn tiếp theo cỏc quy tắc sau: ASG1 = ASG>pENO EMP1

ASG2 = ASG>pENO EMP2

Trong đú EMP1 = σTITLE = “Programmer” (EMP)

EMP2 = σTITLE ≠ “Programmer” (EMP)

Chương trỡnh cục bộ hoỏ cho quan hệ phõn mảnh ngang là ASG = ASG1 ∪ ASG2

Cỏc cõu truy vấn trờn cỏc mảnh dẫn xuất cú thể được rỳt gọn bằng cỏch phõn phối cỏc nối trờn cỏc phộp hợp và ỏp dụng quy tắc 2. Vỡ quy tắc phõn mảnh chỉ rừ cỏc bộ sẽ khớp với nhau, một số nối sinh ra quan hệ rỗng, cỏc vị từ phõn mảnh cú mõu thuẫn. Chảng hạn cỏc vị từ của ASG1 và EMP2 cú mõu thuẫn, vỡ vậy ASG1 >< EMP2 = ∅

Xột cõu truy vấn sau

SELECT *

FROM EMP, ASG

WHERE EMP.ENO = ASG.ENO AND TITLE = “Mech, Eng”

Cõu truy vấn gục được thao tỏc trờn cỏc mảnh EMP1, EMP2, ASG1 và ASG2. (hỡnh 5.13a). Thực hiện phộp chọn trờn cỏc mảnh EMP1, EMP2 , vỡ vị từ chọn mõu thuẫn trờn mảnh EMP1, nờn kết quả cõu truy vấn rỳt gọn thu được như trong hỡnh 5.13b. Nhằm xỏc

định cỏc vị từ kết nối mõu thuẫn, cần phải phõn phối cỏc nối trờn cỏc hợp. Kết quả là cõy

hỡnh 5.13c. Cõy con bờn trỏi nối hai mảnh ASG1 và EMP2 với cỏc lượng từ hoỏ mõu thuẫn bởi cỏc vị từ chọn TITLE = “Programmer: trong ASG1 và TITLE ≠ “Programmer” trong EMP2 . Vỡ vậy cú thể loại bỏ cõy bờn trỏi và thu được kết quả cõu truy vấn rỳt gọn như

được chỉ ra trong hỡnh 5.13d. Với thớ dụ này muốn minh hoạ một điều là giỏ trị phõn mảnh

(a) Cõu truy vấn gốc EMP1 ∪

ASG1 EMP2 ASG2

><ENO

σTITLE = “Mech, Eng”

(b ) Cõu truy vấn sau khi đảy phộp chọn xuống ∪

ASG1 EMP2ASG2

><ENO

σTITLE = “Mech, Eng”

(c) Truy vấn sau khi đẩy cỏc phộp hợp xuống

ASG1 EMP2

σTITLE = “Mech, Eng”

><ENO ><ENO

ASG2 EMP2

σTITLE = “Mech, Eng”

(d) Cõu truy vấn đó rỳt gọn sau khi loại cõy con bờn trỏi

><ENO

ASG2 EMP2 σTITLE = “Mech, Eng”

Một phần của tài liệu Cơ sở dữ liệu phân tán (Trang 129 - 131)