5.6 Cục bộ hoỏ dữ liệu phõn tỏn
5.6.2 Rỳt gọn cho phõn mảnh dọc
Phõn mảnh dọc phõn tỏn một quan hệ dựa trờn cỏc thuộc tớnh chiếụ Vỡ vậy phộp kết nối sẽ là phộp toỏn tỏi xõy dựng cỏc phõn mảnh dọc, Chương trỡnh cục bộ hoỏ cho quan hệ phõn mảnh dọc bao gồm cỏc kết nối của cỏc mảnh trờn cỏc thuộc tớnh chung.
Vớ dụ 5.11: Giả sử quan hệ EMP(ENO, ENAME, TITLE) được phõn mảnh như sau:
Phõn mảnh ngang phõn tỏn một quan hệ dựa trờn cỏc vị từ chọn (Select Predicate). Vớ dụ quan hệ EMP(ENO, ENAME, TITLE) cú thể được phõn mảnh ngang thành:
EMP1 = ENO, ENAME (EMP) EMP2 = πENO, TITLE (EMP)
Khi đú chương trỡnh cục bộ hoỏ cho quan hệ phõn mảnh dọclà:
EMP = EMP1 ><ENO EMP2
Cũng như phõn mảnh ngang, cỏc cõu truy vấn trờn cỏc mảnh dọc được rỳt gọn bằng cỏch xỏc định cỏc quan hệ trung gian vụ dụng và loại bỏ cỏc cõy con đó sinh ra chỳng. Phộp
chiếu trờn một mảnh dọc khơng cú thuộc tớnh chung với cỏc thuộc tớnh chiếu sinh ra cỏc quan hệ vụ dụng cú thể khụng rỗng. Cho một quan hệ R định nghĩa trờn tập cỏc thuộc tớnh A = {A1, A2,...,An} và được phõn thành Ri = πA’(R), i=1..k, A’ ⊆ Ạ Quy tắc được phỏt biểu một cỏch hỡnh thức như sau:
Quy tắc 3: πD, K (Ri) là vụ dụng nếu tập cỏc thuộc tớnh chiếu D khụng nằm trong A’. Vớ dụ 5.12: Giả sử
EMP1 = ENO, ENAME (EMP) EMP2 = πENO, TITLE (EMP) Xột cõu truy vấn SQL như sau
SELECT ENAME FROM EMP
Bằng cỏch hoỏn vị phộp chiếu và phộp kết nối , nghĩa là thực hiện phộp chiếu trờn cỏc thuộc tớnh ENO và ENAME , khi đú cú thể nhận thấy rằng phộp chiếu trờn thuộc tớnh ENAME trờn quan hệ EMP2 là vụ dụng, vỡ ENAME khơng phải là thuộc tớnh của EMP2. Vỡ vậy phộp chiếu chỉ cần thực hiện trờn EMP1.
EMP1 ><ENO πENAME Hỡnh 5.12: Rỳt gọn phõn mảnh dọc EMP2 πENAME EMP1